51#ifndef LPC43XX_SGPIO_H
52#define LPC43XX_SGPIO_H
62#define SGPIO_OUT_MUX_CFG(pin) MMIO32(SGPIO_PORT_BASE + (pin * 0x04))
63#define SGPIO_OUT_MUX_CFG0 MMIO32(SGPIO_PORT_BASE + 0x00)
64#define SGPIO_OUT_MUX_CFG1 MMIO32(SGPIO_PORT_BASE + 0x04)
65#define SGPIO_OUT_MUX_CFG2 MMIO32(SGPIO_PORT_BASE + 0x08)
66#define SGPIO_OUT_MUX_CFG3 MMIO32(SGPIO_PORT_BASE + 0x0C)
67#define SGPIO_OUT_MUX_CFG4 MMIO32(SGPIO_PORT_BASE + 0x10)
68#define SGPIO_OUT_MUX_CFG5 MMIO32(SGPIO_PORT_BASE + 0x14)
69#define SGPIO_OUT_MUX_CFG6 MMIO32(SGPIO_PORT_BASE + 0x18)
70#define SGPIO_OUT_MUX_CFG7 MMIO32(SGPIO_PORT_BASE + 0x1C)
71#define SGPIO_OUT_MUX_CFG8 MMIO32(SGPIO_PORT_BASE + 0x20)
72#define SGPIO_OUT_MUX_CFG9 MMIO32(SGPIO_PORT_BASE + 0x24)
73#define SGPIO_OUT_MUX_CFG10 MMIO32(SGPIO_PORT_BASE + 0x28)
74#define SGPIO_OUT_MUX_CFG11 MMIO32(SGPIO_PORT_BASE + 0x2C)
75#define SGPIO_OUT_MUX_CFG12 MMIO32(SGPIO_PORT_BASE + 0x30)
76#define SGPIO_OUT_MUX_CFG13 MMIO32(SGPIO_PORT_BASE + 0x34)
77#define SGPIO_OUT_MUX_CFG14 MMIO32(SGPIO_PORT_BASE + 0x38)
78#define SGPIO_OUT_MUX_CFG15 MMIO32(SGPIO_PORT_BASE + 0x3C)
81#define SGPIO_MUX_CFG(slice) MMIO32(SGPIO_PORT_BASE + 0x40 + \
83#define SGPIO_MUX_CFG0 MMIO32(SGPIO_PORT_BASE + 0x40)
84#define SGPIO_MUX_CFG1 MMIO32(SGPIO_PORT_BASE + 0x44)
85#define SGPIO_MUX_CFG2 MMIO32(SGPIO_PORT_BASE + 0x48)
86#define SGPIO_MUX_CFG3 MMIO32(SGPIO_PORT_BASE + 0x4C)
87#define SGPIO_MUX_CFG4 MMIO32(SGPIO_PORT_BASE + 0x50)
88#define SGPIO_MUX_CFG5 MMIO32(SGPIO_PORT_BASE + 0x54)
89#define SGPIO_MUX_CFG6 MMIO32(SGPIO_PORT_BASE + 0x58)
90#define SGPIO_MUX_CFG7 MMIO32(SGPIO_PORT_BASE + 0x5C)
91#define SGPIO_MUX_CFG8 MMIO32(SGPIO_PORT_BASE + 0x60)
92#define SGPIO_MUX_CFG9 MMIO32(SGPIO_PORT_BASE + 0x64)
93#define SGPIO_MUX_CFG10 MMIO32(SGPIO_PORT_BASE + 0x68)
94#define SGPIO_MUX_CFG11 MMIO32(SGPIO_PORT_BASE + 0x6C)
95#define SGPIO_MUX_CFG12 MMIO32(SGPIO_PORT_BASE + 0x70)
96#define SGPIO_MUX_CFG13 MMIO32(SGPIO_PORT_BASE + 0x74)
97#define SGPIO_MUX_CFG14 MMIO32(SGPIO_PORT_BASE + 0x78)
98#define SGPIO_MUX_CFG15 MMIO32(SGPIO_PORT_BASE + 0x7C)
101#define SGPIO_SLICE_MUX_CFG(slice) MMIO32(SGPIO_PORT_BASE + 0x80 + \
103#define SGPIO_SLICE_MUX_CFG0 MMIO32(SGPIO_PORT_BASE + 0x80)
104#define SGPIO_SLICE_MUX_CFG1 MMIO32(SGPIO_PORT_BASE + 0x84)
105#define SGPIO_SLICE_MUX_CFG2 MMIO32(SGPIO_PORT_BASE + 0x88)
106#define SGPIO_SLICE_MUX_CFG3 MMIO32(SGPIO_PORT_BASE + 0x8C)
107#define SGPIO_SLICE_MUX_CFG4 MMIO32(SGPIO_PORT_BASE + 0x90)
108#define SGPIO_SLICE_MUX_CFG5 MMIO32(SGPIO_PORT_BASE + 0x94)
109#define SGPIO_SLICE_MUX_CFG6 MMIO32(SGPIO_PORT_BASE + 0x98)
110#define SGPIO_SLICE_MUX_CFG7 MMIO32(SGPIO_PORT_BASE + 0x9C)
111#define SGPIO_SLICE_MUX_CFG8 MMIO32(SGPIO_PORT_BASE + 0xA0)
112#define SGPIO_SLICE_MUX_CFG9 MMIO32(SGPIO_PORT_BASE + 0xA4)
113#define SGPIO_SLICE_MUX_CFG10 MMIO32(SGPIO_PORT_BASE + 0xA8)
114#define SGPIO_SLICE_MUX_CFG11 MMIO32(SGPIO_PORT_BASE + 0xAC)
115#define SGPIO_SLICE_MUX_CFG12 MMIO32(SGPIO_PORT_BASE + 0xB0)
116#define SGPIO_SLICE_MUX_CFG13 MMIO32(SGPIO_PORT_BASE + 0xB4)
117#define SGPIO_SLICE_MUX_CFG14 MMIO32(SGPIO_PORT_BASE + 0xB8)
118#define SGPIO_SLICE_MUX_CFG15 MMIO32(SGPIO_PORT_BASE + 0xBC)
121#define SGPIO_REG(slice) MMIO32(SGPIO_PORT_BASE + 0xC0 + \
123#define SGPIO_REG0 MMIO32(SGPIO_PORT_BASE + 0xC0)
124#define SGPIO_REG1 MMIO32(SGPIO_PORT_BASE + 0xC4)
125#define SGPIO_REG2 MMIO32(SGPIO_PORT_BASE + 0xC8)
126#define SGPIO_REG3 MMIO32(SGPIO_PORT_BASE + 0xCC)
127#define SGPIO_REG4 MMIO32(SGPIO_PORT_BASE + 0xD0)
128#define SGPIO_REG5 MMIO32(SGPIO_PORT_BASE + 0xD4)
129#define SGPIO_REG6 MMIO32(SGPIO_PORT_BASE + 0xD8)
130#define SGPIO_REG7 MMIO32(SGPIO_PORT_BASE + 0xDC)
131#define SGPIO_REG8 MMIO32(SGPIO_PORT_BASE + 0xE0)
132#define SGPIO_REG9 MMIO32(SGPIO_PORT_BASE + 0xE4)
133#define SGPIO_REG10 MMIO32(SGPIO_PORT_BASE + 0xE8)
134#define SGPIO_REG11 MMIO32(SGPIO_PORT_BASE + 0xEC)
135#define SGPIO_REG12 MMIO32(SGPIO_PORT_BASE + 0xF0)
136#define SGPIO_REG13 MMIO32(SGPIO_PORT_BASE + 0xF4)
137#define SGPIO_REG14 MMIO32(SGPIO_PORT_BASE + 0xF8)
138#define SGPIO_REG15 MMIO32(SGPIO_PORT_BASE + 0xFC)
141#define SGPIO_REG_SS(slice) MMIO32(SGPIO_PORT_BASE + 0x100 + \
143#define SGPIO_REG_SS0 MMIO32(SGPIO_PORT_BASE + 0x100)
144#define SGPIO_REG_SS1 MMIO32(SGPIO_PORT_BASE + 0x104)
145#define SGPIO_REG_SS2 MMIO32(SGPIO_PORT_BASE + 0x108)
146#define SGPIO_REG_SS3 MMIO32(SGPIO_PORT_BASE + 0x10C)
147#define SGPIO_REG_SS4 MMIO32(SGPIO_PORT_BASE + 0x110)
148#define SGPIO_REG_SS5 MMIO32(SGPIO_PORT_BASE + 0x114)
149#define SGPIO_REG_SS6 MMIO32(SGPIO_PORT_BASE + 0x118)
150#define SGPIO_REG_SS7 MMIO32(SGPIO_PORT_BASE + 0x11C)
151#define SGPIO_REG_SS8 MMIO32(SGPIO_PORT_BASE + 0x120)
152#define SGPIO_REG_SS9 MMIO32(SGPIO_PORT_BASE + 0x124)
153#define SGPIO_REG_SS10 MMIO32(SGPIO_PORT_BASE + 0x128)
154#define SGPIO_REG_SS11 MMIO32(SGPIO_PORT_BASE + 0x12C)
155#define SGPIO_REG_SS12 MMIO32(SGPIO_PORT_BASE + 0x130)
156#define SGPIO_REG_SS13 MMIO32(SGPIO_PORT_BASE + 0x134)
157#define SGPIO_REG_SS14 MMIO32(SGPIO_PORT_BASE + 0x138)
158#define SGPIO_REG_SS15 MMIO32(SGPIO_PORT_BASE + 0x13C)
161#define SGPIO_PRESET(slice) MMIO32(SGPIO_PORT_BASE + 0x140 + \
163#define SGPIO_PRESET0 MMIO32(SGPIO_PORT_BASE + 0x140)
164#define SGPIO_PRESET1 MMIO32(SGPIO_PORT_BASE + 0x144)
165#define SGPIO_PRESET2 MMIO32(SGPIO_PORT_BASE + 0x148)
166#define SGPIO_PRESET3 MMIO32(SGPIO_PORT_BASE + 0x14C)
167#define SGPIO_PRESET4 MMIO32(SGPIO_PORT_BASE + 0x150)
168#define SGPIO_PRESET5 MMIO32(SGPIO_PORT_BASE + 0x154)
169#define SGPIO_PRESET6 MMIO32(SGPIO_PORT_BASE + 0x158)
170#define SGPIO_PRESET7 MMIO32(SGPIO_PORT_BASE + 0x15C)
171#define SGPIO_PRESET8 MMIO32(SGPIO_PORT_BASE + 0x160)
172#define SGPIO_PRESET9 MMIO32(SGPIO_PORT_BASE + 0x164)
173#define SGPIO_PRESET10 MMIO32(SGPIO_PORT_BASE + 0x168)
174#define SGPIO_PRESET11 MMIO32(SGPIO_PORT_BASE + 0x16C)
175#define SGPIO_PRESET12 MMIO32(SGPIO_PORT_BASE + 0x170)
176#define SGPIO_PRESET13 MMIO32(SGPIO_PORT_BASE + 0x174)
177#define SGPIO_PRESET14 MMIO32(SGPIO_PORT_BASE + 0x178)
178#define SGPIO_PRESET15 MMIO32(SGPIO_PORT_BASE + 0x17C)
181#define SGPIO_COUNT(slice) MMIO32(SGPIO_PORT_BASE + 0x180 + \
183#define SGPIO_COUNT0 MMIO32(SGPIO_PORT_BASE + 0x180)
184#define SGPIO_COUNT1 MMIO32(SGPIO_PORT_BASE + 0x184)
185#define SGPIO_COUNT2 MMIO32(SGPIO_PORT_BASE + 0x188)
186#define SGPIO_COUNT3 MMIO32(SGPIO_PORT_BASE + 0x18C)
187#define SGPIO_COUNT4 MMIO32(SGPIO_PORT_BASE + 0x190)
188#define SGPIO_COUNT5 MMIO32(SGPIO_PORT_BASE + 0x194)
189#define SGPIO_COUNT6 MMIO32(SGPIO_PORT_BASE + 0x198)
190#define SGPIO_COUNT7 MMIO32(SGPIO_PORT_BASE + 0x19C)
191#define SGPIO_COUNT8 MMIO32(SGPIO_PORT_BASE + 0x1A0)
192#define SGPIO_COUNT9 MMIO32(SGPIO_PORT_BASE + 0x1A4)
193#define SGPIO_COUNT10 MMIO32(SGPIO_PORT_BASE + 0x1A8)
194#define SGPIO_COUNT11 MMIO32(SGPIO_PORT_BASE + 0x1AC)
195#define SGPIO_COUNT12 MMIO32(SGPIO_PORT_BASE + 0x1B0)
196#define SGPIO_COUNT13 MMIO32(SGPIO_PORT_BASE + 0x1B4)
197#define SGPIO_COUNT14 MMIO32(SGPIO_PORT_BASE + 0x1B8)
198#define SGPIO_COUNT15 MMIO32(SGPIO_PORT_BASE + 0x1BC)
201#define SGPIO_POS(slice) MMIO32(SGPIO_PORT_BASE + 0x1C0 + \
203#define SGPIO_POS0 MMIO32(SGPIO_PORT_BASE + 0x1C0)
204#define SGPIO_POS1 MMIO32(SGPIO_PORT_BASE + 0x1C4)
205#define SGPIO_POS2 MMIO32(SGPIO_PORT_BASE + 0x1C8)
206#define SGPIO_POS3 MMIO32(SGPIO_PORT_BASE + 0x1CC)
207#define SGPIO_POS4 MMIO32(SGPIO_PORT_BASE + 0x1D0)
208#define SGPIO_POS5 MMIO32(SGPIO_PORT_BASE + 0x1D4)
209#define SGPIO_POS6 MMIO32(SGPIO_PORT_BASE + 0x1D8)
210#define SGPIO_POS7 MMIO32(SGPIO_PORT_BASE + 0x1DC)
211#define SGPIO_POS8 MMIO32(SGPIO_PORT_BASE + 0x1E0)
212#define SGPIO_POS9 MMIO32(SGPIO_PORT_BASE + 0x1E4)
213#define SGPIO_POS10 MMIO32(SGPIO_PORT_BASE + 0x1E8)
214#define SGPIO_POS11 MMIO32(SGPIO_PORT_BASE + 0x1EC)
215#define SGPIO_POS12 MMIO32(SGPIO_PORT_BASE + 0x1F0)
216#define SGPIO_POS13 MMIO32(SGPIO_PORT_BASE + 0x1F4)
217#define SGPIO_POS14 MMIO32(SGPIO_PORT_BASE + 0x1F8)
218#define SGPIO_POS15 MMIO32(SGPIO_PORT_BASE + 0x1FC)
221#define SGPIO_SLICE_A 0
222#define SGPIO_SLICE_B 1
223#define SGPIO_SLICE_C 2
224#define SGPIO_SLICE_D 3
225#define SGPIO_SLICE_E 4
226#define SGPIO_SLICE_F 5
227#define SGPIO_SLICE_G 6
228#define SGPIO_SLICE_H 7
229#define SGPIO_SLICE_I 8
230#define SGPIO_SLICE_J 9
231#define SGPIO_SLICE_K 10
232#define SGPIO_SLICE_L 11
233#define SGPIO_SLICE_M 12
234#define SGPIO_SLICE_N 13
235#define SGPIO_SLICE_O 14
236#define SGPIO_SLICE_P 15
239#define SGPIO_MASK_A MMIO32(SGPIO_PORT_BASE + 0x200)
242#define SGPIO_MASK_H MMIO32(SGPIO_PORT_BASE + 0x204)
245#define SGPIO_MASK_I MMIO32(SGPIO_PORT_BASE + 0x208)
248#define SGPIO_MASK_P MMIO32(SGPIO_PORT_BASE + 0x20C)
251#define SGPIO_GPIO_INREG MMIO32(SGPIO_PORT_BASE + 0x210)
254#define SGPIO_GPIO_OUTREG MMIO32(SGPIO_PORT_BASE + 0x214)
257#define SGPIO_GPIO_OENREG MMIO32(SGPIO_PORT_BASE + 0x218)
260#define SGPIO_CTRL_ENABLE MMIO32(SGPIO_PORT_BASE + 0x21C)
263#define SGPIO_CTRL_DISABLE MMIO32(SGPIO_PORT_BASE + 0x220)
266#define SGPIO_CLR_EN_0 MMIO32(SGPIO_PORT_BASE + 0xF00)
269#define SGPIO_SET_EN_0 MMIO32(SGPIO_PORT_BASE + 0xF04)
272#define SGPIO_ENABLE_0 MMIO32(SGPIO_PORT_BASE + 0xF08)
275#define SGPIO_STATUS_0 MMIO32(SGPIO_PORT_BASE + 0xF0C)
278#define SGPIO_CLR_STATUS_0 MMIO32(SGPIO_PORT_BASE + 0xF10)
281#define SGPIO_SET_STATUS_0 MMIO32(SGPIO_PORT_BASE + 0xF14)
284#define SGPIO_CLR_EN_1 MMIO32(SGPIO_PORT_BASE + 0xF20)
287#define SGPIO_SET_EN_1 MMIO32(SGPIO_PORT_BASE + 0xF24)
290#define SGPIO_ENABLE_1 MMIO32(SGPIO_PORT_BASE + 0xF28)
293#define SGPIO_STATUS_1 MMIO32(SGPIO_PORT_BASE + 0xF2C)
296#define SGPIO_CLR_STATUS_1 MMIO32(SGPIO_PORT_BASE + 0xF30)
299#define SGPIO_SET_STATUS_1 MMIO32(SGPIO_PORT_BASE + 0xF34)
302#define SGPIO_CLR_EN_2 MMIO32(SGPIO_PORT_BASE + 0xF40)
305#define SGPIO_SET_EN_2 MMIO32(SGPIO_PORT_BASE + 0xF44)
308#define SGPIO_ENABLE_2 MMIO32(SGPIO_PORT_BASE + 0xF48)
311#define SGPIO_STATUS_2 MMIO32(SGPIO_PORT_BASE + 0xF4C)
314#define SGPIO_CLR_STATUS_2 MMIO32(SGPIO_PORT_BASE + 0xF50)
317#define SGPIO_SET_STATUS_2 MMIO32(SGPIO_PORT_BASE + 0xF54)
320#define SGPIO_CLR_EN_3 MMIO32(SGPIO_PORT_BASE + 0xF60)
323#define SGPIO_SET_EN_3 MMIO32(SGPIO_PORT_BASE + 0xF64)
326#define SGPIO_ENABLE_3 MMIO32(SGPIO_PORT_BASE + 0xF68)
329#define SGPIO_STATUS_3 MMIO32(SGPIO_PORT_BASE + 0xF6C)
332#define SGPIO_CLR_STATUS_3 MMIO32(SGPIO_PORT_BASE + 0xF70)
335#define SGPIO_SET_STATUS_3 MMIO32(SGPIO_PORT_BASE + 0xF74)
340#define SGPIO_OUT_MUX_CFG_P_OUT_CFG_SHIFT (0)
341#define SGPIO_OUT_MUX_CFG_P_OUT_CFG_MASK \
342 (0xf << SGPIO_OUT_MUX_CFG_P_OUT_CFG_SHIFT)
343#define SGPIO_OUT_MUX_CFG_P_OUT_CFG(x) \
344 ((x) << SGPIO_OUT_MUX_CFG_P_OUT_CFG_SHIFT)
346#define SGPIO_OUT_MUX_CFG_P_OE_CFG_SHIFT (4)
347#define SGPIO_OUT_MUX_CFG_P_OE_CFG_MASK \
348 (0x7 << SGPIO_OUT_MUX_CFG_P_OE_CFG_SHIFT)
349#define SGPIO_OUT_MUX_CFG_P_OE_CFG(x) \
350 ((x) << SGPIO_OUT_MUX_CFG_P_OE_CFG_SHIFT)
352#define SGPIO_MUX_CFG_EXT_CLK_ENABLE_SHIFT (0)
353#define SGPIO_MUX_CFG_EXT_CLK_ENABLE_MASK \
354 (1 << SGPIO_MUX_CFG_EXT_CLK_ENABLE_SHIFT)
355#define SGPIO_MUX_CFG_EXT_CLK_ENABLE(x) \
356 ((x) << SGPIO_MUX_CFG_EXT_CLK_ENABLE_SHIFT)
358#define SGPIO_MUX_CFG_CLK_SOURCE_PIN_MODE_SHIFT (1)
359#define SGPIO_MUX_CFG_CLK_SOURCE_PIN_MODE_MASK \
360 (0x3 << SGPIO_MUX_CFG_CLK_SOURCE_PIN_MODE_SHIFT)
361#define SGPIO_MUX_CFG_CLK_SOURCE_PIN_MODE(x) \
362 ((x) << SGPIO_MUX_CFG_CLK_SOURCE_PIN_MODE_SHIFT)
364#define SGPIO_MUX_CFG_CLK_SOURCE_SLICE_MODE_SHIFT (3)
365#define SGPIO_MUX_CFG_CLK_SOURCE_SLICE_MODE_MASK \
366 (0x3 << SGPIO_MUX_CFG_CLK_SOURCE_SLICE_MODE_SHIFT)
367#define SGPIO_MUX_CFG_CLK_SOURCE_SLICE_MODE(x) \
368 ((x) << SGPIO_MUX_CFG_CLK_SOURCE_SLICE_MODE_SHIFT)
370#define SGPIO_MUX_CFG_QUALIFIER_MODE_SHIFT (5)
371#define SGPIO_MUX_CFG_QUALIFIER_MODE_MASK \
372 (0x3 << SGPIO_MUX_CFG_QUALIFIER_MODE_SHIFT)
373#define SGPIO_MUX_CFG_QUALIFIER_MODE(x) \
374 ((x) << SGPIO_MUX_CFG_QUALIFIER_MODE_SHIFT)
376#define SGPIO_MUX_CFG_QUALIFIER_PIN_MODE_SHIFT (7)
377#define SGPIO_MUX_CFG_QUALIFIER_PIN_MODE_MASK \
378 (0x3 << SGPIO_MUX_CFG_QUALIFIER_PIN_MODE_SHIFT)
379#define SGPIO_MUX_CFG_QUALIFIER_PIN_MODE(x) \
380 ((x) << SGPIO_MUX_CFG_QUALIFIER_PIN_MODE_SHIFT)
382#define SGPIO_MUX_CFG_QUALIFIER_SLICE_MODE_SHIFT (9)
383#define SGPIO_MUX_CFG_QUALIFIER_SLICE_MODE_MASK \
384 (0x3 << SGPIO_MUX_CFG_QUALIFIER_SLICE_MODE_SHIFT)
385#define SGPIO_MUX_CFG_QUALIFIER_SLICE_MODE(x) \
386 ((x) << SGPIO_MUX_CFG_QUALIFIER_SLICE_MODE_SHIFT)
388#define SGPIO_MUX_CFG_CONCAT_ENABLE_SHIFT (11)
389#define SGPIO_MUX_CFG_CONCAT_ENABLE_MASK \
390 (1 << SGPIO_MUX_CFG_CONCAT_ENABLE_SHIFT)
391#define SGPIO_MUX_CFG_CONCAT_ENABLE(x) \
392 ((x) << SGPIO_MUX_CFG_CONCAT_ENABLE_SHIFT)
394#define SGPIO_MUX_CFG_CONCAT_ORDER_SHIFT (12)
395#define SGPIO_MUX_CFG_CONCAT_ORDER_MASK \
396 (0x3 << SGPIO_MUX_CFG_CONCAT_ORDER_SHIFT)
397#define SGPIO_MUX_CFG_CONCAT_ORDER(x) \
398 ((x) << SGPIO_MUX_CFG_CONCAT_ORDER_SHIFT)
400#define SGPIO_SLICE_MUX_CFG_MATCH_MODE_SHIFT (0)
401#define SGPIO_SLICE_MUX_CFG_MATCH_MODE_MASK \
402 (1 << SGPIO_SLICE_MUX_CFG_MATCH_MODE_SHIFT)
403#define SGPIO_SLICE_MUX_CFG_MATCH_MODE(x) \
404 ((x) << SGPIO_SLICE_MUX_CFG_MATCH_MODE_SHIFT)
406#define SGPIO_SLICE_MUX_CFG_CLK_CAPTURE_MODE_SHIFT (1)
407#define SGPIO_SLICE_MUX_CFG_CLK_CAPTURE_MODE_MASK \
408 (1 << SGPIO_SLICE_MUX_CFG_CLK_CAPTURE_MODE_SHIFT)
409#define SGPIO_SLICE_MUX_CFG_CLK_CAPTURE_MODE(x) \
410 ((x) << SGPIO_SLICE_MUX_CFG_CLK_CAPTURE_MODE_SHIFT)
412#define SGPIO_SLICE_MUX_CFG_CLKGEN_MODE_SHIFT (2)
413#define SGPIO_SLICE_MUX_CFG_CLKGEN_MODE_MASK \
414 (1 << SGPIO_SLICE_MUX_CFG_CLKGEN_MODE_SHIFT)
415#define SGPIO_SLICE_MUX_CFG_CLKGEN_MODE(x) \
416 ((x) << SGPIO_SLICE_MUX_CFG_CLKGEN_MODE_SHIFT)
418#define SGPIO_SLICE_MUX_CFG_INV_OUT_CLK_SHIFT (3)
419#define SGPIO_SLICE_MUX_CFG_INV_OUT_CLK_MASK \
420 (1 << SGPIO_SLICE_MUX_CFG_INV_OUT_CLK_SHIFT)
421#define SGPIO_SLICE_MUX_CFG_INV_OUT_CLK(x) \
422 ((x) << SGPIO_SLICE_MUX_CFG_INV_OUT_CLK_SHIFT)
424#define SGPIO_SLICE_MUX_CFG_DATA_CAPTURE_MODE_SHIFT (4)
425#define SGPIO_SLICE_MUX_CFG_DATA_CAPTURE_MODE_MASK \
426 (0x3 << SGPIO_SLICE_MUX_CFG_DATA_CAPTURE_MODE_SHIFT)
427#define SGPIO_SLICE_MUX_CFG_DATA_CAPTURE_MODE(x) \
428 ((x) << SGPIO_SLICE_MUX_CFG_DATA_CAPTURE_MODE_SHIFT)
430#define SGPIO_SLICE_MUX_CFG_PARALLEL_MODE_SHIFT (6)
431#define SGPIO_SLICE_MUX_CFG_PARALLEL_MODE_MASK \
432 (0x3 << SGPIO_SLICE_MUX_CFG_PARALLEL_MODE_SHIFT)
433#define SGPIO_SLICE_MUX_CFG_PARALLEL_MODE(x) \
434 ((x) << SGPIO_SLICE_MUX_CFG_PARALLEL_MODE_SHIFT)
436#define SGPIO_SLICE_MUX_CFG_INV_QUALIFIER_SHIFT (8)
437#define SGPIO_SLICE_MUX_CFG_INV_QUALIFIER_MASK \
438 (1 << SGPIO_SLICE_MUX_CFG_INV_QUALIFIER_SHIFT)
439#define SGPIO_SLICE_MUX_CFG_INV_QUALIFIER(x) \
440 ((x) << SGPIO_SLICE_MUX_CFG_INV_QUALIFIER_SHIFT)
442#define SGPIO_POS_POS_SHIFT (0)
443#define SGPIO_POS_POS_MASK (0xff << SGPIO_POS_POS_SHIFT)
444#define SGPIO_POS_POS(x) ((x) << SGPIO_POS_POS_SHIFT)
446#define SGPIO_POS_POS_RESET_SHIFT (8)
447#define SGPIO_POS_POS_RESET_MASK (0xff << SGPIO_POS_POS_RESET_SHIFT)
448#define SGPIO_POS_POS_RESET(x) ((x) << SGPIO_POS_POS_RESET_SHIFT)
455#define SGPIO_OUT_MUX_CFGx_P_OUT_CFG_SHIFT (0)
456#define SGPIO_OUT_MUX_CFGx_P_OUT_CFG_MASK \
457 (0xf << SGPIO_OUT_MUX_CFGx_P_OUT_CFG_SHIFT)
458#define SGPIO_OUT_MUX_CFGx_P_OUT_CFG(x) \
459 ((x) << SGPIO_OUT_MUX_CFGx_P_OUT_CFG_SHIFT)
462#define SGPIO_OUT_MUX_CFGx_P_OE_CFG_SHIFT (4)
463#define SGPIO_OUT_MUX_CFGx_P_OE_CFG_MASK \
464 (0x7 << SGPIO_OUT_MUX_CFGx_P_OE_CFG_SHIFT)
465#define SGPIO_OUT_MUX_CFGx_P_OE_CFG(x) \
466 ((x) << SGPIO_OUT_MUX_CFGx_P_OE_CFG_SHIFT)
471#define SGPIO_MUX_CFGx_EXT_CLK_ENABLE_SHIFT (0)
472#define SGPIO_MUX_CFGx_EXT_CLK_ENABLE \
473 (1 << SGPIO_MUX_CFGx_EXT_CLK_ENABLE_SHIFT)
476#define SGPIO_MUX_CFGx_CLK_SOURCE_PIN_MODE_SHIFT (1)
477#define SGPIO_MUX_CFGx_CLK_SOURCE_PIN_MODE_MASK \
478 (0x3 << SGPIO_MUX_CFGx_CLK_SOURCE_PIN_MODE_SHIFT)
479#define SGPIO_MUX_CFGx_CLK_SOURCE_PIN_MODE(x) \
480 ((x) << SGPIO_MUX_CFGx_CLK_SOURCE_PIN_MODE_SHIFT)
483#define SGPIO_MUX_CFGx_CLK_SOURCE_SLICE_MODE_SHIFT (3)
484#define SGPIO_MUX_CFGx_CLK_SOURCE_SLICE_MODE_MASK \
485 (0x3 << SGPIO_MUX_CFGx_CLK_SOURCE_SLICE_MODE_SHIFT)
486#define SGPIO_MUX_CFGx_CLK_SOURCE_SLICE_MODE(x) \
487 ((x) << SGPIO_MUX_CFGx_CLK_SOURCE_SLICE_MODE_SHIFT)
490#define SGPIO_MUX_CFGx_QUALIFIER_MODE_SHIFT (5)
491#define SGPIO_MUX_CFGx_QUALIFIER_MODE_MASK \
492 (0x3 << SGPIO_MUX_CFGx_QUALIFIER_MODE_SHIFT)
493#define SGPIO_MUX_CFGx_QUALIFIER_MODE(x) \
494 ((x) << SGPIO_MUX_CFGx_QUALIFIER_MODE_SHIFT)
497#define SGPIO_MUX_CFGx_QUALIFIER_PIN_MODE_SHIFT (7)
498#define SGPIO_MUX_CFGx_QUALIFIER_PIN_MODE_MASK \
499 (0x3 << SGPIO_MUX_CFGx_QUALIFIER_PIN_MODE_SHIFT)
500#define SGPIO_MUX_CFGx_QUALIFIER_PIN_MODE(x) \
501 ((x) << SGPIO_MUX_CFGx_QUALIFIER_PIN_MODE_SHIFT)
504#define SGPIO_MUX_CFGx_QUALIFIER_SLICE_MODE_SHIFT (9)
505#define SGPIO_MUX_CFGx_QUALIFIER_SLICE_MODE_MASK \
506 (0x3 << SGPIO_MUX_CFGx_QUALIFIER_SLICE_MODE_SHIFT)
507#define SGPIO_MUX_CFGx_QUALIFIER_SLICE_MODE(x) \
508 ((x) << SGPIO_MUX_CFG0_QUALIFIER_SLICE_MODE_SHIFT)
511#define SGPIO_MUX_CFGx_CONCAT_ENABLE_SHIFT (11)
512#define SGPIO_MUX_CFGx_CONCAT_ENABLE \
513 (1 << SGPIO_MUX_CFGx_CONCAT_ENABLE_SHIFT)
516#define SGPIO_MUX_CFGx_CONCAT_ORDER_SHIFT (12)
517#define SGPIO_MUX_CFGx_CONCAT_ORDER_MASK \
518 (0x3 << SGPIO_MUX_CFGx_CONCAT_ORDER_SHIFT)
519#define SGPIO_MUX_CFGx_CONCAT_ORDER(x) \
520 ((x) << SGPIO_MUX_CFGx_CONCAT_ORDER_SHIFT)
525#define SGPIO_SLICE_MUX_CFGx_MATCH_MODE_SHIFT (0)
526#define SGPIO_SLICE_MUX_CFGx_MATCH_MODE \
527 (1 << SGPIO_SLICE_MUX_CFG0_MATCH_MODE_SHIFT)
530#define SGPIO_SLICE_MUX_CFGx_CLK_CAPTURE_MODE_SHIFT (1)
531#define SGPIO_SLICE_MUX_CFGx_CLK_CAPTURE_MODE \
532 (1 << SGPIO_SLICE_MUX_CFGx_CLK_CAPTURE_MODE_SHIFT)
535#define SGPIO_SLICE_MUX_CFGx_CLKGEN_MODE_SHIFT (2)
536#define SGPIO_SLICE_MUX_CFGx_CLKGEN_MODE \
537 (1 << SGPIO_SLICE_MUX_CFGx_CLKGEN_MODE_SHIFT)
540#define SGPIO_SLICE_MUX_CFGx_INV_OUT_CLK_SHIFT (3)
541#define SGPIO_SLICE_MUX_CFGx_INV_OUT_CLK \
542 (1 << SGPIO_SLICE_MUX_CFGx_INV_OUT_CLK_SHIFT)
545#define SGPIO_SLICE_MUX_CFGx_DATA_CAPTURE_MODE_SHIFT (4)
546#define SGPIO_SLICE_MUX_CFGx_DATA_CAPTURE_MODE_MASK \
547 (0x3 << SGPIO_SLICE_MUX_CFGx_DATA_CAPTURE_MODE_SHIFT)
548#define SGPIO_SLICE_MUX_CFGx_DATA_CAPTURE_MODE(x) \
549 ((x) << SGPIO_SLICE_MUX_CFGx_DATA_CAPTURE_MODE_SHIFT)
552#define SGPIO_SLICE_MUX_CFGx_PARALLEL_MODE_SHIFT (6)
553#define SGPIO_SLICE_MUX_CFGx_PARALLEL_MODE_MASK \
554 (0x3 << SGPIO_SLICE_MUX_CFGx_PARALLEL_MODE_SHIFT)
555#define SGPIO_SLICE_MUX_CFGx_PARALLEL_MODE(x) \
556 ((x) << SGPIO_SLICE_MUX_CFGx_PARALLEL_MODE_SHIFT)
559#define SGPIO_SLICE_MUX_CFGx_INV_QUALIFIER_SHIFT (8)
560#define SGPIO_SLICE_MUX_CFGx_INV_QUALIFIER \
561 (1 << SGPIO_SLICE_MUX_CFGx_INV_QUALIFIER_SHIFT)
567#define SGPIO_POSx_POS_SHIFT (0)
568#define SGPIO_POSx_POS_MASK (0xff << SGPIO_POSx_POS_SHIFT)
569#define SGPIO_POSx_POS(x) ((x) << SGPIO_POSx_POS_SHIFT)
572#define SGPIO_POSx_POS_RESET_SHIFT (8)
573#define SGPIO_POSx_POS_RESET_MASK (0xff << SGPIO_POSx_POS_RESET_SHIFT)
574#define SGPIO_POSx_POS_RESET(x) ((x) << SGPIO_POSx_POS_RESET_SHIFT)
585 volatile uint32_t OUT_MUX_CFG[16];
589 volatile uint32_t SLICE_MUX_CFG[16];
591 volatile uint32_t REG[16];
595 volatile uint32_t REG_SS[16];
599 volatile uint32_t PRESET[16];
601 volatile uint32_t COUNT[16];
605 volatile uint32_t POS[16];
632 volatile uint32_t RES0[823];
645 volatile uint32_t RES1[2];
658 volatile uint32_t RES2[2];
671 volatile uint32_t RES3[2];
687#define SGPIO ((sgpio_t *)SGPIO_PORT_BASE)
#define SGPIO_MUX_CFG(slice)
volatile uint32_t CLR_STATUS_2
volatile uint32_t CTRL_ENABLE
volatile uint32_t STATUS_0
volatile uint32_t SET_STATUS_1
volatile uint32_t CLR_STATUS_3
volatile uint32_t CTRL_DISABLE
volatile uint32_t CLR_STATUS_0
volatile uint32_t CLR_EN_1
volatile uint32_t SET_EN_1
volatile uint32_t STATUS_1
volatile uint32_t ENABLE_0
volatile uint32_t CLR_EN_2
volatile uint32_t SET_EN_3
volatile uint32_t ENABLE_1
volatile uint32_t CLR_STATUS_1
volatile uint32_t GPIO_OENREG
volatile uint32_t CLR_EN_0
volatile uint32_t GPIO_INREG
volatile uint32_t SET_STATUS_3
volatile uint32_t SET_STATUS_0
volatile uint32_t GPIO_OUTREG
volatile uint32_t ENABLE_3
volatile uint32_t ENABLE_2
volatile uint32_t STATUS_2
volatile uint32_t STATUS_3
volatile uint32_t SET_EN_0
volatile uint32_t SET_EN_2
volatile uint32_t CLR_EN_3
volatile uint32_t SET_STATUS_2