1*744c5664SLad Prabhakar /*
2*744c5664SLad Prabhakar * Copyright (c) 2021, Renesas Electronics Corporation. All rights reserved.
3*744c5664SLad Prabhakar *
4*744c5664SLad Prabhakar * SPDX-License-Identifier: BSD-3-Clause
5*744c5664SLad Prabhakar */
6*744c5664SLad Prabhakar
7*744c5664SLad Prabhakar #include <stdint.h>
8*744c5664SLad Prabhakar
9*744c5664SLad Prabhakar #include <lib/mmio.h>
10*744c5664SLad Prabhakar
11*744c5664SLad Prabhakar #include "pfc_init_g2n.h"
12*744c5664SLad Prabhakar #include "rcar_def.h"
13*744c5664SLad Prabhakar #include "../pfc_regs.h"
14*744c5664SLad Prabhakar
15*744c5664SLad Prabhakar #define GPSR0_D15 BIT(15)
16*744c5664SLad Prabhakar #define GPSR0_D14 BIT(14)
17*744c5664SLad Prabhakar #define GPSR0_D13 BIT(13)
18*744c5664SLad Prabhakar #define GPSR0_D12 BIT(12)
19*744c5664SLad Prabhakar #define GPSR0_D11 BIT(11)
20*744c5664SLad Prabhakar #define GPSR0_D10 BIT(10)
21*744c5664SLad Prabhakar #define GPSR0_D9 BIT(9)
22*744c5664SLad Prabhakar #define GPSR0_D8 BIT(8)
23*744c5664SLad Prabhakar #define GPSR0_D7 BIT(7)
24*744c5664SLad Prabhakar #define GPSR0_D6 BIT(6)
25*744c5664SLad Prabhakar #define GPSR0_D5 BIT(5)
26*744c5664SLad Prabhakar #define GPSR0_D4 BIT(4)
27*744c5664SLad Prabhakar #define GPSR0_D3 BIT(3)
28*744c5664SLad Prabhakar #define GPSR0_D2 BIT(2)
29*744c5664SLad Prabhakar #define GPSR0_D1 BIT(1)
30*744c5664SLad Prabhakar #define GPSR0_D0 BIT(0)
31*744c5664SLad Prabhakar #define GPSR1_CLKOUT BIT(28)
32*744c5664SLad Prabhakar #define GPSR1_EX_WAIT0_A BIT(27)
33*744c5664SLad Prabhakar #define GPSR1_WE1 BIT(26)
34*744c5664SLad Prabhakar #define GPSR1_WE0 BIT(25)
35*744c5664SLad Prabhakar #define GPSR1_RD_WR BIT(24)
36*744c5664SLad Prabhakar #define GPSR1_RD BIT(23)
37*744c5664SLad Prabhakar #define GPSR1_BS BIT(22)
38*744c5664SLad Prabhakar #define GPSR1_CS1_A26 BIT(21)
39*744c5664SLad Prabhakar #define GPSR1_CS0 BIT(20)
40*744c5664SLad Prabhakar #define GPSR1_A19 BIT(19)
41*744c5664SLad Prabhakar #define GPSR1_A18 BIT(18)
42*744c5664SLad Prabhakar #define GPSR1_A17 BIT(17)
43*744c5664SLad Prabhakar #define GPSR1_A16 BIT(16)
44*744c5664SLad Prabhakar #define GPSR1_A15 BIT(15)
45*744c5664SLad Prabhakar #define GPSR1_A14 BIT(14)
46*744c5664SLad Prabhakar #define GPSR1_A13 BIT(13)
47*744c5664SLad Prabhakar #define GPSR1_A12 BIT(12)
48*744c5664SLad Prabhakar #define GPSR1_A11 BIT(11)
49*744c5664SLad Prabhakar #define GPSR1_A10 BIT(10)
50*744c5664SLad Prabhakar #define GPSR1_A9 BIT(9)
51*744c5664SLad Prabhakar #define GPSR1_A8 BIT(8)
52*744c5664SLad Prabhakar #define GPSR1_A7 BIT(7)
53*744c5664SLad Prabhakar #define GPSR1_A6 BIT(6)
54*744c5664SLad Prabhakar #define GPSR1_A5 BIT(5)
55*744c5664SLad Prabhakar #define GPSR1_A4 BIT(4)
56*744c5664SLad Prabhakar #define GPSR1_A3 BIT(3)
57*744c5664SLad Prabhakar #define GPSR1_A2 BIT(2)
58*744c5664SLad Prabhakar #define GPSR1_A1 BIT(1)
59*744c5664SLad Prabhakar #define GPSR1_A0 BIT(0)
60*744c5664SLad Prabhakar #define GPSR2_AVB_AVTP_CAPTURE_A BIT(14)
61*744c5664SLad Prabhakar #define GPSR2_AVB_AVTP_MATCH_A BIT(13)
62*744c5664SLad Prabhakar #define GPSR2_AVB_LINK BIT(12)
63*744c5664SLad Prabhakar #define GPSR2_AVB_PHY_INT BIT(11)
64*744c5664SLad Prabhakar #define GPSR2_AVB_MAGIC BIT(10)
65*744c5664SLad Prabhakar #define GPSR2_AVB_MDC BIT(9)
66*744c5664SLad Prabhakar #define GPSR2_PWM2_A BIT(8)
67*744c5664SLad Prabhakar #define GPSR2_PWM1_A BIT(7)
68*744c5664SLad Prabhakar #define GPSR2_PWM0 BIT(6)
69*744c5664SLad Prabhakar #define GPSR2_IRQ5 BIT(5)
70*744c5664SLad Prabhakar #define GPSR2_IRQ4 BIT(4)
71*744c5664SLad Prabhakar #define GPSR2_IRQ3 BIT(3)
72*744c5664SLad Prabhakar #define GPSR2_IRQ2 BIT(2)
73*744c5664SLad Prabhakar #define GPSR2_IRQ1 BIT(1)
74*744c5664SLad Prabhakar #define GPSR2_IRQ0 BIT(0)
75*744c5664SLad Prabhakar #define GPSR3_SD1_WP BIT(15)
76*744c5664SLad Prabhakar #define GPSR3_SD1_CD BIT(14)
77*744c5664SLad Prabhakar #define GPSR3_SD0_WP BIT(13)
78*744c5664SLad Prabhakar #define GPSR3_SD0_CD BIT(12)
79*744c5664SLad Prabhakar #define GPSR3_SD1_DAT3 BIT(11)
80*744c5664SLad Prabhakar #define GPSR3_SD1_DAT2 BIT(10)
81*744c5664SLad Prabhakar #define GPSR3_SD1_DAT1 BIT(9)
82*744c5664SLad Prabhakar #define GPSR3_SD1_DAT0 BIT(8)
83*744c5664SLad Prabhakar #define GPSR3_SD1_CMD BIT(7)
84*744c5664SLad Prabhakar #define GPSR3_SD1_CLK BIT(6)
85*744c5664SLad Prabhakar #define GPSR3_SD0_DAT3 BIT(5)
86*744c5664SLad Prabhakar #define GPSR3_SD0_DAT2 BIT(4)
87*744c5664SLad Prabhakar #define GPSR3_SD0_DAT1 BIT(3)
88*744c5664SLad Prabhakar #define GPSR3_SD0_DAT0 BIT(2)
89*744c5664SLad Prabhakar #define GPSR3_SD0_CMD BIT(1)
90*744c5664SLad Prabhakar #define GPSR3_SD0_CLK BIT(0)
91*744c5664SLad Prabhakar #define GPSR4_SD3_DS BIT(17)
92*744c5664SLad Prabhakar #define GPSR4_SD3_DAT7 BIT(16)
93*744c5664SLad Prabhakar #define GPSR4_SD3_DAT6 BIT(15)
94*744c5664SLad Prabhakar #define GPSR4_SD3_DAT5 BIT(14)
95*744c5664SLad Prabhakar #define GPSR4_SD3_DAT4 BIT(13)
96*744c5664SLad Prabhakar #define GPSR4_SD3_DAT3 BIT(12)
97*744c5664SLad Prabhakar #define GPSR4_SD3_DAT2 BIT(11)
98*744c5664SLad Prabhakar #define GPSR4_SD3_DAT1 BIT(10)
99*744c5664SLad Prabhakar #define GPSR4_SD3_DAT0 BIT(9)
100*744c5664SLad Prabhakar #define GPSR4_SD3_CMD BIT(8)
101*744c5664SLad Prabhakar #define GPSR4_SD3_CLK BIT(7)
102*744c5664SLad Prabhakar #define GPSR4_SD2_DS BIT(6)
103*744c5664SLad Prabhakar #define GPSR4_SD2_DAT3 BIT(5)
104*744c5664SLad Prabhakar #define GPSR4_SD2_DAT2 BIT(4)
105*744c5664SLad Prabhakar #define GPSR4_SD2_DAT1 BIT(3)
106*744c5664SLad Prabhakar #define GPSR4_SD2_DAT0 BIT(2)
107*744c5664SLad Prabhakar #define GPSR4_SD2_CMD BIT(1)
108*744c5664SLad Prabhakar #define GPSR4_SD2_CLK BIT(0)
109*744c5664SLad Prabhakar #define GPSR5_MLB_DAT BIT(25)
110*744c5664SLad Prabhakar #define GPSR5_MLB_SIG BIT(24)
111*744c5664SLad Prabhakar #define GPSR5_MLB_CLK BIT(23)
112*744c5664SLad Prabhakar #define GPSR5_MSIOF0_RXD BIT(22)
113*744c5664SLad Prabhakar #define GPSR5_MSIOF0_SS2 BIT(21)
114*744c5664SLad Prabhakar #define GPSR5_MSIOF0_TXD BIT(20)
115*744c5664SLad Prabhakar #define GPSR5_MSIOF0_SS1 BIT(19)
116*744c5664SLad Prabhakar #define GPSR5_MSIOF0_SYNC BIT(18)
117*744c5664SLad Prabhakar #define GPSR5_MSIOF0_SCK BIT(17)
118*744c5664SLad Prabhakar #define GPSR5_HRTS0 BIT(16)
119*744c5664SLad Prabhakar #define GPSR5_HCTS0 BIT(15)
120*744c5664SLad Prabhakar #define GPSR5_HTX0 BIT(14)
121*744c5664SLad Prabhakar #define GPSR5_HRX0 BIT(13)
122*744c5664SLad Prabhakar #define GPSR5_HSCK0 BIT(12)
123*744c5664SLad Prabhakar #define GPSR5_RX2_A BIT(11)
124*744c5664SLad Prabhakar #define GPSR5_TX2_A BIT(10)
125*744c5664SLad Prabhakar #define GPSR5_SCK2 BIT(9)
126*744c5664SLad Prabhakar #define GPSR5_RTS1 BIT(8)
127*744c5664SLad Prabhakar #define GPSR5_CTS1 BIT(7)
128*744c5664SLad Prabhakar #define GPSR5_TX1_A BIT(6)
129*744c5664SLad Prabhakar #define GPSR5_RX1_A BIT(5)
130*744c5664SLad Prabhakar #define GPSR5_RTS0 BIT(4)
131*744c5664SLad Prabhakar #define GPSR5_CTS0 BIT(3)
132*744c5664SLad Prabhakar #define GPSR5_TX0 BIT(2)
133*744c5664SLad Prabhakar #define GPSR5_RX0 BIT(1)
134*744c5664SLad Prabhakar #define GPSR5_SCK0 BIT(0)
135*744c5664SLad Prabhakar #define GPSR6_USB31_OVC BIT(31)
136*744c5664SLad Prabhakar #define GPSR6_USB31_PWEN BIT(30)
137*744c5664SLad Prabhakar #define GPSR6_USB30_OVC BIT(29)
138*744c5664SLad Prabhakar #define GPSR6_USB30_PWEN BIT(28)
139*744c5664SLad Prabhakar #define GPSR6_USB1_OVC BIT(27)
140*744c5664SLad Prabhakar #define GPSR6_USB1_PWEN BIT(26)
141*744c5664SLad Prabhakar #define GPSR6_USB0_OVC BIT(25)
142*744c5664SLad Prabhakar #define GPSR6_USB0_PWEN BIT(24)
143*744c5664SLad Prabhakar #define GPSR6_AUDIO_CLKB_B BIT(23)
144*744c5664SLad Prabhakar #define GPSR6_AUDIO_CLKA_A BIT(22)
145*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA9_A BIT(21)
146*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA8 BIT(20)
147*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA7 BIT(19)
148*744c5664SLad Prabhakar #define GPSR6_SSI_WS78 BIT(18)
149*744c5664SLad Prabhakar #define GPSR6_SSI_SCK78 BIT(17)
150*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA6 BIT(16)
151*744c5664SLad Prabhakar #define GPSR6_SSI_WS6 BIT(15)
152*744c5664SLad Prabhakar #define GPSR6_SSI_SCK6 BIT(14)
153*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA5 BIT(13)
154*744c5664SLad Prabhakar #define GPSR6_SSI_WS5 BIT(12)
155*744c5664SLad Prabhakar #define GPSR6_SSI_SCK5 BIT(11)
156*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA4 BIT(10)
157*744c5664SLad Prabhakar #define GPSR6_SSI_WS4 BIT(9)
158*744c5664SLad Prabhakar #define GPSR6_SSI_SCK4 BIT(8)
159*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA3 BIT(7)
160*744c5664SLad Prabhakar #define GPSR6_SSI_WS34 BIT(6)
161*744c5664SLad Prabhakar #define GPSR6_SSI_SCK34 BIT(5)
162*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA2_A BIT(4)
163*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA1_A BIT(3)
164*744c5664SLad Prabhakar #define GPSR6_SSI_SDATA0 BIT(2)
165*744c5664SLad Prabhakar #define GPSR6_SSI_WS0129 BIT(1)
166*744c5664SLad Prabhakar #define GPSR6_SSI_SCK0129 BIT(0)
167*744c5664SLad Prabhakar #define GPSR7_AVS2 BIT(1)
168*744c5664SLad Prabhakar #define GPSR7_AVS1 BIT(0)
169*744c5664SLad Prabhakar
170*744c5664SLad Prabhakar #define IPSR_28_FUNC(x) ((uint32_t)(x) << 28U)
171*744c5664SLad Prabhakar #define IPSR_24_FUNC(x) ((uint32_t)(x) << 24U)
172*744c5664SLad Prabhakar #define IPSR_20_FUNC(x) ((uint32_t)(x) << 20U)
173*744c5664SLad Prabhakar #define IPSR_16_FUNC(x) ((uint32_t)(x) << 16U)
174*744c5664SLad Prabhakar #define IPSR_12_FUNC(x) ((uint32_t)(x) << 12U)
175*744c5664SLad Prabhakar #define IPSR_8_FUNC(x) ((uint32_t)(x) << 8U)
176*744c5664SLad Prabhakar #define IPSR_4_FUNC(x) ((uint32_t)(x) << 4U)
177*744c5664SLad Prabhakar #define IPSR_0_FUNC(x) ((uint32_t)(x) << 0U)
178*744c5664SLad Prabhakar
179*744c5664SLad Prabhakar #define POC_SD3_DS_33V BIT(29)
180*744c5664SLad Prabhakar #define POC_SD3_DAT7_33V BIT(28)
181*744c5664SLad Prabhakar #define POC_SD3_DAT6_33V BIT(27)
182*744c5664SLad Prabhakar #define POC_SD3_DAT5_33V BIT(26)
183*744c5664SLad Prabhakar #define POC_SD3_DAT4_33V BIT(25)
184*744c5664SLad Prabhakar #define POC_SD3_DAT3_33V BIT(24)
185*744c5664SLad Prabhakar #define POC_SD3_DAT2_33V BIT(23)
186*744c5664SLad Prabhakar #define POC_SD3_DAT1_33V BIT(22)
187*744c5664SLad Prabhakar #define POC_SD3_DAT0_33V BIT(21)
188*744c5664SLad Prabhakar #define POC_SD3_CMD_33V BIT(20)
189*744c5664SLad Prabhakar #define POC_SD3_CLK_33V BIT(19)
190*744c5664SLad Prabhakar #define POC_SD2_DS_33V BIT(18)
191*744c5664SLad Prabhakar #define POC_SD2_DAT3_33V BIT(17)
192*744c5664SLad Prabhakar #define POC_SD2_DAT2_33V BIT(16)
193*744c5664SLad Prabhakar #define POC_SD2_DAT1_33V BIT(15)
194*744c5664SLad Prabhakar #define POC_SD2_DAT0_33V BIT(14)
195*744c5664SLad Prabhakar #define POC_SD2_CMD_33V BIT(13)
196*744c5664SLad Prabhakar #define POC_SD2_CLK_33V BIT(12)
197*744c5664SLad Prabhakar #define POC_SD1_DAT3_33V BIT(11)
198*744c5664SLad Prabhakar #define POC_SD1_DAT2_33V BIT(10)
199*744c5664SLad Prabhakar #define POC_SD1_DAT1_33V BIT(9)
200*744c5664SLad Prabhakar #define POC_SD1_DAT0_33V BIT(8)
201*744c5664SLad Prabhakar #define POC_SD1_CMD_33V BIT(7)
202*744c5664SLad Prabhakar #define POC_SD1_CLK_33V BIT(6)
203*744c5664SLad Prabhakar #define POC_SD0_DAT3_33V BIT(5)
204*744c5664SLad Prabhakar #define POC_SD0_DAT2_33V BIT(4)
205*744c5664SLad Prabhakar #define POC_SD0_DAT1_33V BIT(3)
206*744c5664SLad Prabhakar #define POC_SD0_DAT0_33V BIT(2)
207*744c5664SLad Prabhakar #define POC_SD0_CMD_33V BIT(1)
208*744c5664SLad Prabhakar #define POC_SD0_CLK_33V BIT(0)
209*744c5664SLad Prabhakar
210*744c5664SLad Prabhakar #define DRVCTRL0_MASK (0xCCCCCCCCU)
211*744c5664SLad Prabhakar #define DRVCTRL1_MASK (0xCCCCCCC8U)
212*744c5664SLad Prabhakar #define DRVCTRL2_MASK (0x88888888U)
213*744c5664SLad Prabhakar #define DRVCTRL3_MASK (0x88888888U)
214*744c5664SLad Prabhakar #define DRVCTRL4_MASK (0x88888888U)
215*744c5664SLad Prabhakar #define DRVCTRL5_MASK (0x88888888U)
216*744c5664SLad Prabhakar #define DRVCTRL6_MASK (0x88888888U)
217*744c5664SLad Prabhakar #define DRVCTRL7_MASK (0x88888888U)
218*744c5664SLad Prabhakar #define DRVCTRL8_MASK (0x88888888U)
219*744c5664SLad Prabhakar #define DRVCTRL9_MASK (0x88888888U)
220*744c5664SLad Prabhakar #define DRVCTRL10_MASK (0x88888888U)
221*744c5664SLad Prabhakar #define DRVCTRL11_MASK (0x888888CCU)
222*744c5664SLad Prabhakar #define DRVCTRL12_MASK (0xCCCFFFCFU)
223*744c5664SLad Prabhakar #define DRVCTRL13_MASK (0xCC888888U)
224*744c5664SLad Prabhakar #define DRVCTRL14_MASK (0x88888888U)
225*744c5664SLad Prabhakar #define DRVCTRL15_MASK (0x88888888U)
226*744c5664SLad Prabhakar #define DRVCTRL16_MASK (0x88888888U)
227*744c5664SLad Prabhakar #define DRVCTRL17_MASK (0x88888888U)
228*744c5664SLad Prabhakar #define DRVCTRL18_MASK (0x88888888U)
229*744c5664SLad Prabhakar #define DRVCTRL19_MASK (0x88888888U)
230*744c5664SLad Prabhakar #define DRVCTRL20_MASK (0x88888888U)
231*744c5664SLad Prabhakar #define DRVCTRL21_MASK (0x88888888U)
232*744c5664SLad Prabhakar #define DRVCTRL22_MASK (0x88888888U)
233*744c5664SLad Prabhakar #define DRVCTRL23_MASK (0x88888888U)
234*744c5664SLad Prabhakar #define DRVCTRL24_MASK (0x8888888FU)
235*744c5664SLad Prabhakar
236*744c5664SLad Prabhakar #define DRVCTRL0_QSPI0_SPCLK(x) ((uint32_t)(x) << 28U)
237*744c5664SLad Prabhakar #define DRVCTRL0_QSPI0_MOSI_IO0(x) ((uint32_t)(x) << 24U)
238*744c5664SLad Prabhakar #define DRVCTRL0_QSPI0_MISO_IO1(x) ((uint32_t)(x) << 20U)
239*744c5664SLad Prabhakar #define DRVCTRL0_QSPI0_IO2(x) ((uint32_t)(x) << 16U)
240*744c5664SLad Prabhakar #define DRVCTRL0_QSPI0_IO3(x) ((uint32_t)(x) << 12U)
241*744c5664SLad Prabhakar #define DRVCTRL0_QSPI0_SSL(x) ((uint32_t)(x) << 8U)
242*744c5664SLad Prabhakar #define DRVCTRL0_QSPI1_SPCLK(x) ((uint32_t)(x) << 4U)
243*744c5664SLad Prabhakar #define DRVCTRL0_QSPI1_MOSI_IO0(x) ((uint32_t)(x) << 0U)
244*744c5664SLad Prabhakar #define DRVCTRL1_QSPI1_MISO_IO1(x) ((uint32_t)(x) << 28U)
245*744c5664SLad Prabhakar #define DRVCTRL1_QSPI1_IO2(x) ((uint32_t)(x) << 24U)
246*744c5664SLad Prabhakar #define DRVCTRL1_QSPI1_IO3(x) ((uint32_t)(x) << 20U)
247*744c5664SLad Prabhakar #define DRVCTRL1_QSPI1_SS(x) ((uint32_t)(x) << 16U)
248*744c5664SLad Prabhakar #define DRVCTRL1_RPC_INT(x) ((uint32_t)(x) << 12U)
249*744c5664SLad Prabhakar #define DRVCTRL1_RPC_WP(x) ((uint32_t)(x) << 8U)
250*744c5664SLad Prabhakar #define DRVCTRL1_RPC_RESET(x) ((uint32_t)(x) << 4U)
251*744c5664SLad Prabhakar #define DRVCTRL1_AVB_RX_CTL(x) ((uint32_t)(x) << 0U)
252*744c5664SLad Prabhakar #define DRVCTRL2_AVB_RXC(x) ((uint32_t)(x) << 28U)
253*744c5664SLad Prabhakar #define DRVCTRL2_AVB_RD0(x) ((uint32_t)(x) << 24U)
254*744c5664SLad Prabhakar #define DRVCTRL2_AVB_RD1(x) ((uint32_t)(x) << 20U)
255*744c5664SLad Prabhakar #define DRVCTRL2_AVB_RD2(x) ((uint32_t)(x) << 16U)
256*744c5664SLad Prabhakar #define DRVCTRL2_AVB_RD3(x) ((uint32_t)(x) << 12U)
257*744c5664SLad Prabhakar #define DRVCTRL2_AVB_TX_CTL(x) ((uint32_t)(x) << 8U)
258*744c5664SLad Prabhakar #define DRVCTRL2_AVB_TXC(x) ((uint32_t)(x) << 4U)
259*744c5664SLad Prabhakar #define DRVCTRL2_AVB_TD0(x) ((uint32_t)(x) << 0U)
260*744c5664SLad Prabhakar #define DRVCTRL3_AVB_TD1(x) ((uint32_t)(x) << 28U)
261*744c5664SLad Prabhakar #define DRVCTRL3_AVB_TD2(x) ((uint32_t)(x) << 24U)
262*744c5664SLad Prabhakar #define DRVCTRL3_AVB_TD3(x) ((uint32_t)(x) << 20U)
263*744c5664SLad Prabhakar #define DRVCTRL3_AVB_TXCREFCLK(x) ((uint32_t)(x) << 16U)
264*744c5664SLad Prabhakar #define DRVCTRL3_AVB_MDIO(x) ((uint32_t)(x) << 12U)
265*744c5664SLad Prabhakar #define DRVCTRL3_AVB_MDC(x) ((uint32_t)(x) << 8U)
266*744c5664SLad Prabhakar #define DRVCTRL3_AVB_MAGIC(x) ((uint32_t)(x) << 4U)
267*744c5664SLad Prabhakar #define DRVCTRL3_AVB_PHY_INT(x) ((uint32_t)(x) << 0U)
268*744c5664SLad Prabhakar #define DRVCTRL4_AVB_LINK(x) ((uint32_t)(x) << 28U)
269*744c5664SLad Prabhakar #define DRVCTRL4_AVB_AVTP_MATCH(x) ((uint32_t)(x) << 24U)
270*744c5664SLad Prabhakar #define DRVCTRL4_AVB_AVTP_CAPTURE(x) ((uint32_t)(x) << 20U)
271*744c5664SLad Prabhakar #define DRVCTRL4_IRQ0(x) ((uint32_t)(x) << 16U)
272*744c5664SLad Prabhakar #define DRVCTRL4_IRQ1(x) ((uint32_t)(x) << 12U)
273*744c5664SLad Prabhakar #define DRVCTRL4_IRQ2(x) ((uint32_t)(x) << 8U)
274*744c5664SLad Prabhakar #define DRVCTRL4_IRQ3(x) ((uint32_t)(x) << 4U)
275*744c5664SLad Prabhakar #define DRVCTRL4_IRQ4(x) ((uint32_t)(x) << 0U)
276*744c5664SLad Prabhakar #define DRVCTRL5_IRQ5(x) ((uint32_t)(x) << 28U)
277*744c5664SLad Prabhakar #define DRVCTRL5_PWM0(x) ((uint32_t)(x) << 24U)
278*744c5664SLad Prabhakar #define DRVCTRL5_PWM1(x) ((uint32_t)(x) << 20U)
279*744c5664SLad Prabhakar #define DRVCTRL5_PWM2(x) ((uint32_t)(x) << 16U)
280*744c5664SLad Prabhakar #define DRVCTRL5_A0(x) ((uint32_t)(x) << 12U)
281*744c5664SLad Prabhakar #define DRVCTRL5_A1(x) ((uint32_t)(x) << 8U)
282*744c5664SLad Prabhakar #define DRVCTRL5_A2(x) ((uint32_t)(x) << 4U)
283*744c5664SLad Prabhakar #define DRVCTRL5_A3(x) ((uint32_t)(x) << 0U)
284*744c5664SLad Prabhakar #define DRVCTRL6_A4(x) ((uint32_t)(x) << 28U)
285*744c5664SLad Prabhakar #define DRVCTRL6_A5(x) ((uint32_t)(x) << 24U)
286*744c5664SLad Prabhakar #define DRVCTRL6_A6(x) ((uint32_t)(x) << 20U)
287*744c5664SLad Prabhakar #define DRVCTRL6_A7(x) ((uint32_t)(x) << 16U)
288*744c5664SLad Prabhakar #define DRVCTRL6_A8(x) ((uint32_t)(x) << 12U)
289*744c5664SLad Prabhakar #define DRVCTRL6_A9(x) ((uint32_t)(x) << 8U)
290*744c5664SLad Prabhakar #define DRVCTRL6_A10(x) ((uint32_t)(x) << 4U)
291*744c5664SLad Prabhakar #define DRVCTRL6_A11(x) ((uint32_t)(x) << 0U)
292*744c5664SLad Prabhakar #define DRVCTRL7_A12(x) ((uint32_t)(x) << 28U)
293*744c5664SLad Prabhakar #define DRVCTRL7_A13(x) ((uint32_t)(x) << 24U)
294*744c5664SLad Prabhakar #define DRVCTRL7_A14(x) ((uint32_t)(x) << 20U)
295*744c5664SLad Prabhakar #define DRVCTRL7_A15(x) ((uint32_t)(x) << 16U)
296*744c5664SLad Prabhakar #define DRVCTRL7_A16(x) ((uint32_t)(x) << 12U)
297*744c5664SLad Prabhakar #define DRVCTRL7_A17(x) ((uint32_t)(x) << 8U)
298*744c5664SLad Prabhakar #define DRVCTRL7_A18(x) ((uint32_t)(x) << 4U)
299*744c5664SLad Prabhakar #define DRVCTRL7_A19(x) ((uint32_t)(x) << 0U)
300*744c5664SLad Prabhakar #define DRVCTRL8_CLKOUT(x) ((uint32_t)(x) << 28U)
301*744c5664SLad Prabhakar #define DRVCTRL8_CS0(x) ((uint32_t)(x) << 24U)
302*744c5664SLad Prabhakar #define DRVCTRL8_CS1_A2(x) ((uint32_t)(x) << 20U)
303*744c5664SLad Prabhakar #define DRVCTRL8_BS(x) ((uint32_t)(x) << 16U)
304*744c5664SLad Prabhakar #define DRVCTRL8_RD(x) ((uint32_t)(x) << 12U)
305*744c5664SLad Prabhakar #define DRVCTRL8_RD_W(x) ((uint32_t)(x) << 8U)
306*744c5664SLad Prabhakar #define DRVCTRL8_WE0(x) ((uint32_t)(x) << 4U)
307*744c5664SLad Prabhakar #define DRVCTRL8_WE1(x) ((uint32_t)(x) << 0U)
308*744c5664SLad Prabhakar #define DRVCTRL9_EX_WAIT0(x) ((uint32_t)(x) << 28U)
309*744c5664SLad Prabhakar #define DRVCTRL9_PRESETOU(x) ((uint32_t)(x) << 24U)
310*744c5664SLad Prabhakar #define DRVCTRL9_D0(x) ((uint32_t)(x) << 20U)
311*744c5664SLad Prabhakar #define DRVCTRL9_D1(x) ((uint32_t)(x) << 16U)
312*744c5664SLad Prabhakar #define DRVCTRL9_D2(x) ((uint32_t)(x) << 12U)
313*744c5664SLad Prabhakar #define DRVCTRL9_D3(x) ((uint32_t)(x) << 8U)
314*744c5664SLad Prabhakar #define DRVCTRL9_D4(x) ((uint32_t)(x) << 4U)
315*744c5664SLad Prabhakar #define DRVCTRL9_D5(x) ((uint32_t)(x) << 0U)
316*744c5664SLad Prabhakar #define DRVCTRL10_D6(x) ((uint32_t)(x) << 28U)
317*744c5664SLad Prabhakar #define DRVCTRL10_D7(x) ((uint32_t)(x) << 24U)
318*744c5664SLad Prabhakar #define DRVCTRL10_D8(x) ((uint32_t)(x) << 20U)
319*744c5664SLad Prabhakar #define DRVCTRL10_D9(x) ((uint32_t)(x) << 16U)
320*744c5664SLad Prabhakar #define DRVCTRL10_D10(x) ((uint32_t)(x) << 12U)
321*744c5664SLad Prabhakar #define DRVCTRL10_D11(x) ((uint32_t)(x) << 8U)
322*744c5664SLad Prabhakar #define DRVCTRL10_D12(x) ((uint32_t)(x) << 4U)
323*744c5664SLad Prabhakar #define DRVCTRL10_D13(x) ((uint32_t)(x) << 0U)
324*744c5664SLad Prabhakar #define DRVCTRL11_D14(x) ((uint32_t)(x) << 28U)
325*744c5664SLad Prabhakar #define DRVCTRL11_D15(x) ((uint32_t)(x) << 24U)
326*744c5664SLad Prabhakar #define DRVCTRL11_AVS1(x) ((uint32_t)(x) << 20U)
327*744c5664SLad Prabhakar #define DRVCTRL11_AVS2(x) ((uint32_t)(x) << 16U)
328*744c5664SLad Prabhakar #define DRVCTRL11_GP7_02(x) ((uint32_t)(x) << 12U)
329*744c5664SLad Prabhakar #define DRVCTRL11_GP7_03(x) ((uint32_t)(x) << 8U)
330*744c5664SLad Prabhakar #define DRVCTRL11_DU_DOTCLKIN0(x) ((uint32_t)(x) << 4U)
331*744c5664SLad Prabhakar #define DRVCTRL11_DU_DOTCLKIN1(x) ((uint32_t)(x) << 0U)
332*744c5664SLad Prabhakar #define DRVCTRL12_DU_DOTCLKIN2(x) ((uint32_t)(x) << 28U)
333*744c5664SLad Prabhakar #define DRVCTRL12_DU_DOTCLKIN3(x) ((uint32_t)(x) << 24U)
334*744c5664SLad Prabhakar #define DRVCTRL12_DU_FSCLKST(x) ((uint32_t)(x) << 20U)
335*744c5664SLad Prabhakar #define DRVCTRL12_DU_TMS(x) ((uint32_t)(x) << 4U)
336*744c5664SLad Prabhakar #define DRVCTRL13_TDO(x) ((uint32_t)(x) << 28U)
337*744c5664SLad Prabhakar #define DRVCTRL13_ASEBRK(x) ((uint32_t)(x) << 24U)
338*744c5664SLad Prabhakar #define DRVCTRL13_SD0_CLK(x) ((uint32_t)(x) << 20U)
339*744c5664SLad Prabhakar #define DRVCTRL13_SD0_CMD(x) ((uint32_t)(x) << 16U)
340*744c5664SLad Prabhakar #define DRVCTRL13_SD0_DAT0(x) ((uint32_t)(x) << 12U)
341*744c5664SLad Prabhakar #define DRVCTRL13_SD0_DAT1(x) ((uint32_t)(x) << 8U)
342*744c5664SLad Prabhakar #define DRVCTRL13_SD0_DAT2(x) ((uint32_t)(x) << 4U)
343*744c5664SLad Prabhakar #define DRVCTRL13_SD0_DAT3(x) ((uint32_t)(x) << 0U)
344*744c5664SLad Prabhakar #define DRVCTRL14_SD1_CLK(x) ((uint32_t)(x) << 28U)
345*744c5664SLad Prabhakar #define DRVCTRL14_SD1_CMD(x) ((uint32_t)(x) << 24U)
346*744c5664SLad Prabhakar #define DRVCTRL14_SD1_DAT0(x) ((uint32_t)(x) << 20U)
347*744c5664SLad Prabhakar #define DRVCTRL14_SD1_DAT1(x) ((uint32_t)(x) << 16U)
348*744c5664SLad Prabhakar #define DRVCTRL14_SD1_DAT2(x) ((uint32_t)(x) << 12U)
349*744c5664SLad Prabhakar #define DRVCTRL14_SD1_DAT3(x) ((uint32_t)(x) << 8U)
350*744c5664SLad Prabhakar #define DRVCTRL14_SD2_CLK(x) ((uint32_t)(x) << 4U)
351*744c5664SLad Prabhakar #define DRVCTRL14_SD2_CMD(x) ((uint32_t)(x) << 0U)
352*744c5664SLad Prabhakar #define DRVCTRL15_SD2_DAT0(x) ((uint32_t)(x) << 28U)
353*744c5664SLad Prabhakar #define DRVCTRL15_SD2_DAT1(x) ((uint32_t)(x) << 24U)
354*744c5664SLad Prabhakar #define DRVCTRL15_SD2_DAT2(x) ((uint32_t)(x) << 20U)
355*744c5664SLad Prabhakar #define DRVCTRL15_SD2_DAT3(x) ((uint32_t)(x) << 16U)
356*744c5664SLad Prabhakar #define DRVCTRL15_SD2_DS(x) ((uint32_t)(x) << 12U)
357*744c5664SLad Prabhakar #define DRVCTRL15_SD3_CLK(x) ((uint32_t)(x) << 8U)
358*744c5664SLad Prabhakar #define DRVCTRL15_SD3_CMD(x) ((uint32_t)(x) << 4U)
359*744c5664SLad Prabhakar #define DRVCTRL15_SD3_DAT0(x) ((uint32_t)(x) << 0U)
360*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT1(x) ((uint32_t)(x) << 28U)
361*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT2(x) ((uint32_t)(x) << 24U)
362*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT3(x) ((uint32_t)(x) << 20U)
363*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT4(x) ((uint32_t)(x) << 16U)
364*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT5(x) ((uint32_t)(x) << 12U)
365*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT6(x) ((uint32_t)(x) << 8U)
366*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DAT7(x) ((uint32_t)(x) << 4U)
367*744c5664SLad Prabhakar #define DRVCTRL16_SD3_DS(x) ((uint32_t)(x) << 0U)
368*744c5664SLad Prabhakar #define DRVCTRL17_SD0_CD(x) ((uint32_t)(x) << 28U)
369*744c5664SLad Prabhakar #define DRVCTRL17_SD0_WP(x) ((uint32_t)(x) << 24U)
370*744c5664SLad Prabhakar #define DRVCTRL17_SD1_CD(x) ((uint32_t)(x) << 20U)
371*744c5664SLad Prabhakar #define DRVCTRL17_SD1_WP(x) ((uint32_t)(x) << 16U)
372*744c5664SLad Prabhakar #define DRVCTRL17_SCK0(x) ((uint32_t)(x) << 12U)
373*744c5664SLad Prabhakar #define DRVCTRL17_RX0(x) ((uint32_t)(x) << 8U)
374*744c5664SLad Prabhakar #define DRVCTRL17_TX0(x) ((uint32_t)(x) << 4U)
375*744c5664SLad Prabhakar #define DRVCTRL17_CTS0(x) ((uint32_t)(x) << 0U)
376*744c5664SLad Prabhakar #define DRVCTRL18_RTS0_TANS(x) ((uint32_t)(x) << 28U)
377*744c5664SLad Prabhakar #define DRVCTRL18_RX1(x) ((uint32_t)(x) << 24U)
378*744c5664SLad Prabhakar #define DRVCTRL18_TX1(x) ((uint32_t)(x) << 20U)
379*744c5664SLad Prabhakar #define DRVCTRL18_CTS1(x) ((uint32_t)(x) << 16U)
380*744c5664SLad Prabhakar #define DRVCTRL18_RTS1_TANS(x) ((uint32_t)(x) << 12U)
381*744c5664SLad Prabhakar #define DRVCTRL18_SCK2(x) ((uint32_t)(x) << 8U)
382*744c5664SLad Prabhakar #define DRVCTRL18_TX2(x) ((uint32_t)(x) << 4U)
383*744c5664SLad Prabhakar #define DRVCTRL18_RX2(x) ((uint32_t)(x) << 0U)
384*744c5664SLad Prabhakar #define DRVCTRL19_HSCK0(x) ((uint32_t)(x) << 28U)
385*744c5664SLad Prabhakar #define DRVCTRL19_HRX0(x) ((uint32_t)(x) << 24U)
386*744c5664SLad Prabhakar #define DRVCTRL19_HTX0(x) ((uint32_t)(x) << 20U)
387*744c5664SLad Prabhakar #define DRVCTRL19_HCTS0(x) ((uint32_t)(x) << 16U)
388*744c5664SLad Prabhakar #define DRVCTRL19_HRTS0(x) ((uint32_t)(x) << 12U)
389*744c5664SLad Prabhakar #define DRVCTRL19_MSIOF0_SCK(x) ((uint32_t)(x) << 8U)
390*744c5664SLad Prabhakar #define DRVCTRL19_MSIOF0_SYNC(x) ((uint32_t)(x) << 4U)
391*744c5664SLad Prabhakar #define DRVCTRL19_MSIOF0_SS1(x) ((uint32_t)(x) << 0U)
392*744c5664SLad Prabhakar #define DRVCTRL20_MSIOF0_TXD(x) ((uint32_t)(x) << 28U)
393*744c5664SLad Prabhakar #define DRVCTRL20_MSIOF0_SS2(x) ((uint32_t)(x) << 24U)
394*744c5664SLad Prabhakar #define DRVCTRL20_MSIOF0_RXD(x) ((uint32_t)(x) << 20U)
395*744c5664SLad Prabhakar #define DRVCTRL20_MLB_CLK(x) ((uint32_t)(x) << 16U)
396*744c5664SLad Prabhakar #define DRVCTRL20_MLB_SIG(x) ((uint32_t)(x) << 12U)
397*744c5664SLad Prabhakar #define DRVCTRL20_MLB_DAT(x) ((uint32_t)(x) << 8U)
398*744c5664SLad Prabhakar #define DRVCTRL20_MLB_REF(x) ((uint32_t)(x) << 4U)
399*744c5664SLad Prabhakar #define DRVCTRL20_SSI_SCK0129(x) ((uint32_t)(x) << 0U)
400*744c5664SLad Prabhakar #define DRVCTRL21_SSI_WS0129(x) ((uint32_t)(x) << 28U)
401*744c5664SLad Prabhakar #define DRVCTRL21_SSI_SDATA0(x) ((uint32_t)(x) << 24U)
402*744c5664SLad Prabhakar #define DRVCTRL21_SSI_SDATA1(x) ((uint32_t)(x) << 20U)
403*744c5664SLad Prabhakar #define DRVCTRL21_SSI_SDATA2(x) ((uint32_t)(x) << 16U)
404*744c5664SLad Prabhakar #define DRVCTRL21_SSI_SCK34(x) ((uint32_t)(x) << 12U)
405*744c5664SLad Prabhakar #define DRVCTRL21_SSI_WS34(x) ((uint32_t)(x) << 8U)
406*744c5664SLad Prabhakar #define DRVCTRL21_SSI_SDATA3(x) ((uint32_t)(x) << 4U)
407*744c5664SLad Prabhakar #define DRVCTRL21_SSI_SCK4(x) ((uint32_t)(x) << 0U)
408*744c5664SLad Prabhakar #define DRVCTRL22_SSI_WS4(x) ((uint32_t)(x) << 28U)
409*744c5664SLad Prabhakar #define DRVCTRL22_SSI_SDATA4(x) ((uint32_t)(x) << 24U)
410*744c5664SLad Prabhakar #define DRVCTRL22_SSI_SCK5(x) ((uint32_t)(x) << 20U)
411*744c5664SLad Prabhakar #define DRVCTRL22_SSI_WS5(x) ((uint32_t)(x) << 16U)
412*744c5664SLad Prabhakar #define DRVCTRL22_SSI_SDATA5(x) ((uint32_t)(x) << 12U)
413*744c5664SLad Prabhakar #define DRVCTRL22_SSI_SCK6(x) ((uint32_t)(x) << 8U)
414*744c5664SLad Prabhakar #define DRVCTRL22_SSI_WS6(x) ((uint32_t)(x) << 4U)
415*744c5664SLad Prabhakar #define DRVCTRL22_SSI_SDATA6(x) ((uint32_t)(x) << 0U)
416*744c5664SLad Prabhakar #define DRVCTRL23_SSI_SCK78(x) ((uint32_t)(x) << 28U)
417*744c5664SLad Prabhakar #define DRVCTRL23_SSI_WS78(x) ((uint32_t)(x) << 24U)
418*744c5664SLad Prabhakar #define DRVCTRL23_SSI_SDATA7(x) ((uint32_t)(x) << 20U)
419*744c5664SLad Prabhakar #define DRVCTRL23_SSI_SDATA8(x) ((uint32_t)(x) << 16U)
420*744c5664SLad Prabhakar #define DRVCTRL23_SSI_SDATA9(x) ((uint32_t)(x) << 12U)
421*744c5664SLad Prabhakar #define DRVCTRL23_AUDIO_CLKA(x) ((uint32_t)(x) << 8U)
422*744c5664SLad Prabhakar #define DRVCTRL23_AUDIO_CLKB(x) ((uint32_t)(x) << 4U)
423*744c5664SLad Prabhakar #define DRVCTRL23_USB0_PWEN(x) ((uint32_t)(x) << 0U)
424*744c5664SLad Prabhakar #define DRVCTRL24_USB0_OVC(x) ((uint32_t)(x) << 28U)
425*744c5664SLad Prabhakar #define DRVCTRL24_USB1_PWEN(x) ((uint32_t)(x) << 24U)
426*744c5664SLad Prabhakar #define DRVCTRL24_USB1_OVC(x) ((uint32_t)(x) << 20U)
427*744c5664SLad Prabhakar #define DRVCTRL24_USB30_PWEN(x) ((uint32_t)(x) << 16U)
428*744c5664SLad Prabhakar #define DRVCTRL24_USB30_OVC(x) ((uint32_t)(x) << 12U)
429*744c5664SLad Prabhakar #define DRVCTRL24_USB31_PWEN(x) ((uint32_t)(x) << 8U)
430*744c5664SLad Prabhakar #define DRVCTRL24_USB31_OVC(x) ((uint32_t)(x) << 4U)
431*744c5664SLad Prabhakar
432*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF3_A ((uint32_t)0U << 29U)
433*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF3_B ((uint32_t)1U << 29U)
434*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF3_C ((uint32_t)2U << 29U)
435*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF3_D ((uint32_t)3U << 29U)
436*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF3_E ((uint32_t)4U << 29U)
437*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF2_A ((uint32_t)0U << 27U)
438*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF2_B ((uint32_t)1U << 27U)
439*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF2_C ((uint32_t)2U << 27U)
440*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF2_D ((uint32_t)3U << 27U)
441*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_A ((uint32_t)0U << 24U)
442*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_B ((uint32_t)1U << 24U)
443*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_C ((uint32_t)2U << 24U)
444*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_D ((uint32_t)3U << 24U)
445*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_E ((uint32_t)4U << 24U)
446*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_F ((uint32_t)5U << 24U)
447*744c5664SLad Prabhakar #define MOD_SEL0_MSIOF1_G ((uint32_t)6U << 24U)
448*744c5664SLad Prabhakar #define MOD_SEL0_LBSC_A ((uint32_t)0U << 23U)
449*744c5664SLad Prabhakar #define MOD_SEL0_LBSC_B ((uint32_t)1U << 23U)
450*744c5664SLad Prabhakar #define MOD_SEL0_IEBUS_A ((uint32_t)0U << 22U)
451*744c5664SLad Prabhakar #define MOD_SEL0_IEBUS_B ((uint32_t)1U << 22U)
452*744c5664SLad Prabhakar #define MOD_SEL0_I2C2_A ((uint32_t)0U << 21U)
453*744c5664SLad Prabhakar #define MOD_SEL0_I2C2_B ((uint32_t)1U << 21U)
454*744c5664SLad Prabhakar #define MOD_SEL0_I2C1_A ((uint32_t)0U << 20U)
455*744c5664SLad Prabhakar #define MOD_SEL0_I2C1_B ((uint32_t)1U << 20U)
456*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF4_A ((uint32_t)0U << 19U)
457*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF4_B ((uint32_t)1U << 19U)
458*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF3_A ((uint32_t)0U << 17U)
459*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF3_B ((uint32_t)1U << 17U)
460*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF3_C ((uint32_t)2U << 17U)
461*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF3_D ((uint32_t)3U << 17U)
462*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF1_A ((uint32_t)0U << 16U)
463*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF1_B ((uint32_t)1U << 16U)
464*744c5664SLad Prabhakar #define MOD_SEL0_FSO_A ((uint32_t)0U << 15U)
465*744c5664SLad Prabhakar #define MOD_SEL0_FSO_B ((uint32_t)1U << 15U)
466*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF2_A ((uint32_t)0U << 13U)
467*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF2_B ((uint32_t)1U << 13U)
468*744c5664SLad Prabhakar #define MOD_SEL0_HSCIF2_C ((uint32_t)2U << 13U)
469*744c5664SLad Prabhakar #define MOD_SEL0_ETHERAVB_A ((uint32_t)0U << 12U)
470*744c5664SLad Prabhakar #define MOD_SEL0_ETHERAVB_B ((uint32_t)1U << 12U)
471*744c5664SLad Prabhakar #define MOD_SEL0_DRIF3_A ((uint32_t)0U << 11U)
472*744c5664SLad Prabhakar #define MOD_SEL0_DRIF3_B ((uint32_t)1U << 11U)
473*744c5664SLad Prabhakar #define MOD_SEL0_DRIF2_A ((uint32_t)0U << 10U)
474*744c5664SLad Prabhakar #define MOD_SEL0_DRIF2_B ((uint32_t)1U << 10U)
475*744c5664SLad Prabhakar #define MOD_SEL0_DRIF1_A ((uint32_t)0U << 8U)
476*744c5664SLad Prabhakar #define MOD_SEL0_DRIF1_B ((uint32_t)1U << 8U)
477*744c5664SLad Prabhakar #define MOD_SEL0_DRIF1_C ((uint32_t)2U << 8U)
478*744c5664SLad Prabhakar #define MOD_SEL0_DRIF0_A ((uint32_t)0U << 6U)
479*744c5664SLad Prabhakar #define MOD_SEL0_DRIF0_B ((uint32_t)1U << 6U)
480*744c5664SLad Prabhakar #define MOD_SEL0_DRIF0_C ((uint32_t)2U << 6U)
481*744c5664SLad Prabhakar #define MOD_SEL0_CANFD0_A ((uint32_t)0U << 5U)
482*744c5664SLad Prabhakar #define MOD_SEL0_CANFD0_B ((uint32_t)1U << 5U)
483*744c5664SLad Prabhakar #define MOD_SEL0_ADG_A_A ((uint32_t)0U << 3U)
484*744c5664SLad Prabhakar #define MOD_SEL0_ADG_A_B ((uint32_t)1U << 3U)
485*744c5664SLad Prabhakar #define MOD_SEL0_ADG_A_C ((uint32_t)2U << 3U)
486*744c5664SLad Prabhakar #define MOD_SEL1_TSIF1_A ((uint32_t)0U << 30U)
487*744c5664SLad Prabhakar #define MOD_SEL1_TSIF1_B ((uint32_t)1U << 30U)
488*744c5664SLad Prabhakar #define MOD_SEL1_TSIF1_C ((uint32_t)2U << 30U)
489*744c5664SLad Prabhakar #define MOD_SEL1_TSIF1_D ((uint32_t)3U << 30U)
490*744c5664SLad Prabhakar #define MOD_SEL1_TSIF0_A ((uint32_t)0U << 27U)
491*744c5664SLad Prabhakar #define MOD_SEL1_TSIF0_B ((uint32_t)1U << 27U)
492*744c5664SLad Prabhakar #define MOD_SEL1_TSIF0_C ((uint32_t)2U << 27U)
493*744c5664SLad Prabhakar #define MOD_SEL1_TSIF0_D ((uint32_t)3U << 27U)
494*744c5664SLad Prabhakar #define MOD_SEL1_TSIF0_E ((uint32_t)4U << 27U)
495*744c5664SLad Prabhakar #define MOD_SEL1_TIMER_TMU_A ((uint32_t)0U << 26U)
496*744c5664SLad Prabhakar #define MOD_SEL1_TIMER_TMU_B ((uint32_t)1U << 26U)
497*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_1_A ((uint32_t)0U << 24U)
498*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_1_B ((uint32_t)1U << 24U)
499*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_1_C ((uint32_t)2U << 24U)
500*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_1_D ((uint32_t)3U << 24U)
501*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_0_A ((uint32_t)0U << 21U)
502*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_0_B ((uint32_t)1U << 21U)
503*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_0_C ((uint32_t)2U << 21U)
504*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_0_D ((uint32_t)3U << 21U)
505*744c5664SLad Prabhakar #define MOD_SEL1_SSP1_0_E ((uint32_t)4U << 21U)
506*744c5664SLad Prabhakar #define MOD_SEL1_SSI_A ((uint32_t)0U << 20U)
507*744c5664SLad Prabhakar #define MOD_SEL1_SSI_B ((uint32_t)1U << 20U)
508*744c5664SLad Prabhakar #define MOD_SEL1_SPEED_PULSE_IF_A ((uint32_t)0U << 19U)
509*744c5664SLad Prabhakar #define MOD_SEL1_SPEED_PULSE_IF_B ((uint32_t)1U << 19U)
510*744c5664SLad Prabhakar #define MOD_SEL1_SIMCARD_A ((uint32_t)0U << 17U)
511*744c5664SLad Prabhakar #define MOD_SEL1_SIMCARD_B ((uint32_t)1U << 17U)
512*744c5664SLad Prabhakar #define MOD_SEL1_SIMCARD_C ((uint32_t)2U << 17U)
513*744c5664SLad Prabhakar #define MOD_SEL1_SIMCARD_D ((uint32_t)3U << 17U)
514*744c5664SLad Prabhakar #define MOD_SEL1_SDHI2_A ((uint32_t)0U << 16U)
515*744c5664SLad Prabhakar #define MOD_SEL1_SDHI2_B ((uint32_t)1U << 16U)
516*744c5664SLad Prabhakar #define MOD_SEL1_SCIF4_A ((uint32_t)0U << 14U)
517*744c5664SLad Prabhakar #define MOD_SEL1_SCIF4_B ((uint32_t)1U << 14U)
518*744c5664SLad Prabhakar #define MOD_SEL1_SCIF4_C ((uint32_t)2U << 14U)
519*744c5664SLad Prabhakar #define MOD_SEL1_SCIF3_A ((uint32_t)0U << 13U)
520*744c5664SLad Prabhakar #define MOD_SEL1_SCIF3_B ((uint32_t)1U << 13U)
521*744c5664SLad Prabhakar #define MOD_SEL1_SCIF2_A ((uint32_t)0U << 12U)
522*744c5664SLad Prabhakar #define MOD_SEL1_SCIF2_B ((uint32_t)1U << 12U)
523*744c5664SLad Prabhakar #define MOD_SEL1_SCIF1_A ((uint32_t)0U << 11U)
524*744c5664SLad Prabhakar #define MOD_SEL1_SCIF1_B ((uint32_t)1U << 11U)
525*744c5664SLad Prabhakar #define MOD_SEL1_SCIF_A ((uint32_t)0U << 10U)
526*744c5664SLad Prabhakar #define MOD_SEL1_SCIF_B ((uint32_t)1U << 10U)
527*744c5664SLad Prabhakar #define MOD_SEL1_REMOCON_A ((uint32_t)0U << 9U)
528*744c5664SLad Prabhakar #define MOD_SEL1_REMOCON_B ((uint32_t)1U << 9U)
529*744c5664SLad Prabhakar #define MOD_SEL1_RCAN0_A ((uint32_t)0U << 6U)
530*744c5664SLad Prabhakar #define MOD_SEL1_RCAN0_B ((uint32_t)1U << 6U)
531*744c5664SLad Prabhakar #define MOD_SEL1_PWM6_A ((uint32_t)0U << 5U)
532*744c5664SLad Prabhakar #define MOD_SEL1_PWM6_B ((uint32_t)1U << 5U)
533*744c5664SLad Prabhakar #define MOD_SEL1_PWM5_A ((uint32_t)0U << 4U)
534*744c5664SLad Prabhakar #define MOD_SEL1_PWM5_B ((uint32_t)1U << 4U)
535*744c5664SLad Prabhakar #define MOD_SEL1_PWM4_A ((uint32_t)0U << 3U)
536*744c5664SLad Prabhakar #define MOD_SEL1_PWM4_B ((uint32_t)1U << 3U)
537*744c5664SLad Prabhakar #define MOD_SEL1_PWM3_A ((uint32_t)0U << 2U)
538*744c5664SLad Prabhakar #define MOD_SEL1_PWM3_B ((uint32_t)1U << 2U)
539*744c5664SLad Prabhakar #define MOD_SEL1_PWM2_A ((uint32_t)0U << 1U)
540*744c5664SLad Prabhakar #define MOD_SEL1_PWM2_B ((uint32_t)1U << 1U)
541*744c5664SLad Prabhakar #define MOD_SEL1_PWM1_A ((uint32_t)0U << 0U)
542*744c5664SLad Prabhakar #define MOD_SEL1_PWM1_B ((uint32_t)1U << 0U)
543*744c5664SLad Prabhakar #define MOD_SEL2_I2C_5_A ((uint32_t)0U << 31U)
544*744c5664SLad Prabhakar #define MOD_SEL2_I2C_5_B ((uint32_t)1U << 31U)
545*744c5664SLad Prabhakar #define MOD_SEL2_I2C_3_A ((uint32_t)0U << 30U)
546*744c5664SLad Prabhakar #define MOD_SEL2_I2C_3_B ((uint32_t)1U << 30U)
547*744c5664SLad Prabhakar #define MOD_SEL2_I2C_0_A ((uint32_t)0U << 29U)
548*744c5664SLad Prabhakar #define MOD_SEL2_I2C_0_B ((uint32_t)1U << 29U)
549*744c5664SLad Prabhakar #define MOD_SEL2_FM_A ((uint32_t)0U << 27U)
550*744c5664SLad Prabhakar #define MOD_SEL2_FM_B ((uint32_t)1U << 27U)
551*744c5664SLad Prabhakar #define MOD_SEL2_FM_C ((uint32_t)2U << 27U)
552*744c5664SLad Prabhakar #define MOD_SEL2_FM_D ((uint32_t)3U << 27U)
553*744c5664SLad Prabhakar #define MOD_SEL2_SCIF5_A ((uint32_t)0U << 26U)
554*744c5664SLad Prabhakar #define MOD_SEL2_SCIF5_B ((uint32_t)1U << 26U)
555*744c5664SLad Prabhakar #define MOD_SEL2_I2C6_A ((uint32_t)0U << 23U)
556*744c5664SLad Prabhakar #define MOD_SEL2_I2C6_B ((uint32_t)1U << 23U)
557*744c5664SLad Prabhakar #define MOD_SEL2_I2C6_C ((uint32_t)2U << 23U)
558*744c5664SLad Prabhakar #define MOD_SEL2_NDF_A ((uint32_t)0U << 22U)
559*744c5664SLad Prabhakar #define MOD_SEL2_NDF_B ((uint32_t)1U << 22U)
560*744c5664SLad Prabhakar #define MOD_SEL2_SSI2_A ((uint32_t)0U << 21U)
561*744c5664SLad Prabhakar #define MOD_SEL2_SSI2_B ((uint32_t)1U << 21U)
562*744c5664SLad Prabhakar #define MOD_SEL2_SSI9_A ((uint32_t)0U << 20U)
563*744c5664SLad Prabhakar #define MOD_SEL2_SSI9_B ((uint32_t)1U << 20U)
564*744c5664SLad Prabhakar #define MOD_SEL2_TIMER_TMU2_A ((uint32_t)0U << 19U)
565*744c5664SLad Prabhakar #define MOD_SEL2_TIMER_TMU2_B ((uint32_t)1U << 19U)
566*744c5664SLad Prabhakar #define MOD_SEL2_ADG_B_A ((uint32_t)0U << 18U)
567*744c5664SLad Prabhakar #define MOD_SEL2_ADG_B_B ((uint32_t)1U << 18U)
568*744c5664SLad Prabhakar #define MOD_SEL2_ADG_C_A ((uint32_t)0U << 17U)
569*744c5664SLad Prabhakar #define MOD_SEL2_ADG_C_B ((uint32_t)1U << 17U)
570*744c5664SLad Prabhakar #define MOD_SEL2_VIN4_A ((uint32_t)0U << 0U)
571*744c5664SLad Prabhakar #define MOD_SEL2_VIN4_B ((uint32_t)1U << 0U)
572*744c5664SLad Prabhakar
pfc_reg_write(uint32_t addr,uint32_t data)573*744c5664SLad Prabhakar static void pfc_reg_write(uint32_t addr, uint32_t data)
574*744c5664SLad Prabhakar {
575*744c5664SLad Prabhakar mmio_write_32(PFC_PMMR, ~data);
576*744c5664SLad Prabhakar mmio_write_32((uintptr_t)addr, data);
577*744c5664SLad Prabhakar }
578*744c5664SLad Prabhakar
pfc_init_g2n(void)579*744c5664SLad Prabhakar void pfc_init_g2n(void)
580*744c5664SLad Prabhakar {
581*744c5664SLad Prabhakar uint32_t reg;
582*744c5664SLad Prabhakar
583*744c5664SLad Prabhakar /* initialize module select */
584*744c5664SLad Prabhakar pfc_reg_write(PFC_MOD_SEL0,
585*744c5664SLad Prabhakar MOD_SEL0_MSIOF3_A |
586*744c5664SLad Prabhakar MOD_SEL0_MSIOF2_A |
587*744c5664SLad Prabhakar MOD_SEL0_MSIOF1_A |
588*744c5664SLad Prabhakar MOD_SEL0_LBSC_A |
589*744c5664SLad Prabhakar MOD_SEL0_IEBUS_A |
590*744c5664SLad Prabhakar MOD_SEL0_I2C2_A |
591*744c5664SLad Prabhakar MOD_SEL0_I2C1_A |
592*744c5664SLad Prabhakar MOD_SEL0_HSCIF4_A |
593*744c5664SLad Prabhakar MOD_SEL0_HSCIF3_A |
594*744c5664SLad Prabhakar MOD_SEL0_HSCIF1_A |
595*744c5664SLad Prabhakar MOD_SEL0_FSO_A |
596*744c5664SLad Prabhakar MOD_SEL0_HSCIF2_A |
597*744c5664SLad Prabhakar MOD_SEL0_ETHERAVB_A |
598*744c5664SLad Prabhakar MOD_SEL0_DRIF3_A |
599*744c5664SLad Prabhakar MOD_SEL0_DRIF2_A |
600*744c5664SLad Prabhakar MOD_SEL0_DRIF1_A |
601*744c5664SLad Prabhakar MOD_SEL0_DRIF0_A |
602*744c5664SLad Prabhakar MOD_SEL0_CANFD0_A |
603*744c5664SLad Prabhakar MOD_SEL0_ADG_A_A);
604*744c5664SLad Prabhakar
605*744c5664SLad Prabhakar pfc_reg_write(PFC_MOD_SEL1,
606*744c5664SLad Prabhakar MOD_SEL1_TSIF1_A |
607*744c5664SLad Prabhakar MOD_SEL1_TSIF0_A |
608*744c5664SLad Prabhakar MOD_SEL1_TIMER_TMU_A |
609*744c5664SLad Prabhakar MOD_SEL1_SSP1_1_A |
610*744c5664SLad Prabhakar MOD_SEL1_SSP1_0_A |
611*744c5664SLad Prabhakar MOD_SEL1_SSI_A |
612*744c5664SLad Prabhakar MOD_SEL1_SPEED_PULSE_IF_A |
613*744c5664SLad Prabhakar MOD_SEL1_SIMCARD_A |
614*744c5664SLad Prabhakar MOD_SEL1_SDHI2_A |
615*744c5664SLad Prabhakar MOD_SEL1_SCIF4_A |
616*744c5664SLad Prabhakar MOD_SEL1_SCIF3_A |
617*744c5664SLad Prabhakar MOD_SEL1_SCIF2_A |
618*744c5664SLad Prabhakar MOD_SEL1_SCIF1_A |
619*744c5664SLad Prabhakar MOD_SEL1_SCIF_A |
620*744c5664SLad Prabhakar MOD_SEL1_REMOCON_A |
621*744c5664SLad Prabhakar MOD_SEL1_RCAN0_A |
622*744c5664SLad Prabhakar MOD_SEL1_PWM6_A |
623*744c5664SLad Prabhakar MOD_SEL1_PWM5_A |
624*744c5664SLad Prabhakar MOD_SEL1_PWM4_A |
625*744c5664SLad Prabhakar MOD_SEL1_PWM3_A |
626*744c5664SLad Prabhakar MOD_SEL1_PWM2_A |
627*744c5664SLad Prabhakar MOD_SEL1_PWM1_A);
628*744c5664SLad Prabhakar
629*744c5664SLad Prabhakar pfc_reg_write(PFC_MOD_SEL2,
630*744c5664SLad Prabhakar MOD_SEL2_I2C_5_B |
631*744c5664SLad Prabhakar MOD_SEL2_I2C_3_B |
632*744c5664SLad Prabhakar MOD_SEL2_I2C_0_B |
633*744c5664SLad Prabhakar MOD_SEL2_FM_A |
634*744c5664SLad Prabhakar MOD_SEL2_SCIF5_A |
635*744c5664SLad Prabhakar MOD_SEL2_I2C6_A |
636*744c5664SLad Prabhakar MOD_SEL2_NDF_A |
637*744c5664SLad Prabhakar MOD_SEL2_SSI2_A |
638*744c5664SLad Prabhakar MOD_SEL2_SSI9_A |
639*744c5664SLad Prabhakar MOD_SEL2_TIMER_TMU2_A |
640*744c5664SLad Prabhakar MOD_SEL2_ADG_B_A |
641*744c5664SLad Prabhakar MOD_SEL2_ADG_C_A |
642*744c5664SLad Prabhakar MOD_SEL2_VIN4_A);
643*744c5664SLad Prabhakar
644*744c5664SLad Prabhakar /* initialize peripheral function select */
645*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR0,
646*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
647*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
648*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
649*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
650*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
651*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
652*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
653*744c5664SLad Prabhakar IPSR_0_FUNC(0));
654*744c5664SLad Prabhakar
655*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR1,
656*744c5664SLad Prabhakar IPSR_28_FUNC(6) |
657*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
658*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
659*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
660*744c5664SLad Prabhakar IPSR_12_FUNC(3) |
661*744c5664SLad Prabhakar IPSR_8_FUNC(3) |
662*744c5664SLad Prabhakar IPSR_4_FUNC(3) |
663*744c5664SLad Prabhakar IPSR_0_FUNC(3));
664*744c5664SLad Prabhakar
665*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR2,
666*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
667*744c5664SLad Prabhakar IPSR_24_FUNC(6) |
668*744c5664SLad Prabhakar IPSR_20_FUNC(6) |
669*744c5664SLad Prabhakar IPSR_16_FUNC(6) |
670*744c5664SLad Prabhakar IPSR_12_FUNC(6) |
671*744c5664SLad Prabhakar IPSR_8_FUNC(6) |
672*744c5664SLad Prabhakar IPSR_4_FUNC(6) |
673*744c5664SLad Prabhakar IPSR_0_FUNC(6));
674*744c5664SLad Prabhakar
675*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR3,
676*744c5664SLad Prabhakar IPSR_28_FUNC(6) |
677*744c5664SLad Prabhakar IPSR_24_FUNC(6) |
678*744c5664SLad Prabhakar IPSR_20_FUNC(6) |
679*744c5664SLad Prabhakar IPSR_16_FUNC(6) |
680*744c5664SLad Prabhakar IPSR_12_FUNC(6) |
681*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
682*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
683*744c5664SLad Prabhakar IPSR_0_FUNC(0));
684*744c5664SLad Prabhakar
685*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR4,
686*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
687*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
688*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
689*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
690*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
691*744c5664SLad Prabhakar IPSR_8_FUNC(6) |
692*744c5664SLad Prabhakar IPSR_4_FUNC(6) |
693*744c5664SLad Prabhakar IPSR_0_FUNC(6));
694*744c5664SLad Prabhakar
695*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR5,
696*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
697*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
698*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
699*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
700*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
701*744c5664SLad Prabhakar IPSR_8_FUNC(6) |
702*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
703*744c5664SLad Prabhakar IPSR_0_FUNC(0));
704*744c5664SLad Prabhakar
705*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR6,
706*744c5664SLad Prabhakar IPSR_28_FUNC(6) |
707*744c5664SLad Prabhakar IPSR_24_FUNC(6) |
708*744c5664SLad Prabhakar IPSR_20_FUNC(6) |
709*744c5664SLad Prabhakar IPSR_16_FUNC(6) |
710*744c5664SLad Prabhakar IPSR_12_FUNC(6) |
711*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
712*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
713*744c5664SLad Prabhakar IPSR_0_FUNC(0));
714*744c5664SLad Prabhakar
715*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR7,
716*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
717*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
718*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
719*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
720*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
721*744c5664SLad Prabhakar IPSR_8_FUNC(6) |
722*744c5664SLad Prabhakar IPSR_4_FUNC(6) |
723*744c5664SLad Prabhakar IPSR_0_FUNC(6));
724*744c5664SLad Prabhakar
725*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR8,
726*744c5664SLad Prabhakar IPSR_28_FUNC(1) |
727*744c5664SLad Prabhakar IPSR_24_FUNC(1) |
728*744c5664SLad Prabhakar IPSR_20_FUNC(1) |
729*744c5664SLad Prabhakar IPSR_16_FUNC(1) |
730*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
731*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
732*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
733*744c5664SLad Prabhakar IPSR_0_FUNC(0));
734*744c5664SLad Prabhakar
735*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR9,
736*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
737*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
738*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
739*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
740*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
741*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
742*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
743*744c5664SLad Prabhakar IPSR_0_FUNC(0));
744*744c5664SLad Prabhakar
745*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR10,
746*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
747*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
748*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
749*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
750*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
751*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
752*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
753*744c5664SLad Prabhakar IPSR_0_FUNC(0));
754*744c5664SLad Prabhakar
755*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR11,
756*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
757*744c5664SLad Prabhakar IPSR_24_FUNC(4) |
758*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
759*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
760*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
761*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
762*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
763*744c5664SLad Prabhakar IPSR_0_FUNC(0));
764*744c5664SLad Prabhakar
765*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR12,
766*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
767*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
768*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
769*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
770*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
771*744c5664SLad Prabhakar IPSR_8_FUNC(4) |
772*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
773*744c5664SLad Prabhakar IPSR_0_FUNC(0));
774*744c5664SLad Prabhakar
775*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR13,
776*744c5664SLad Prabhakar IPSR_28_FUNC(8) |
777*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
778*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
779*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
780*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
781*744c5664SLad Prabhakar IPSR_8_FUNC(3) |
782*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
783*744c5664SLad Prabhakar IPSR_0_FUNC(0));
784*744c5664SLad Prabhakar
785*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR14,
786*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
787*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
788*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
789*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
790*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
791*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
792*744c5664SLad Prabhakar IPSR_4_FUNC(3) |
793*744c5664SLad Prabhakar IPSR_0_FUNC(8));
794*744c5664SLad Prabhakar
795*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR15,
796*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
797*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
798*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
799*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
800*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
801*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
802*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
803*744c5664SLad Prabhakar IPSR_0_FUNC(0));
804*744c5664SLad Prabhakar
805*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR16,
806*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
807*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
808*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
809*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
810*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
811*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
812*744c5664SLad Prabhakar IPSR_4_FUNC(0) |
813*744c5664SLad Prabhakar IPSR_0_FUNC(0));
814*744c5664SLad Prabhakar
815*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR17,
816*744c5664SLad Prabhakar IPSR_28_FUNC(0) |
817*744c5664SLad Prabhakar IPSR_24_FUNC(0) |
818*744c5664SLad Prabhakar IPSR_20_FUNC(0) |
819*744c5664SLad Prabhakar IPSR_16_FUNC(0) |
820*744c5664SLad Prabhakar IPSR_12_FUNC(0) |
821*744c5664SLad Prabhakar IPSR_8_FUNC(0) |
822*744c5664SLad Prabhakar IPSR_4_FUNC(1) |
823*744c5664SLad Prabhakar IPSR_0_FUNC(0));
824*744c5664SLad Prabhakar
825*744c5664SLad Prabhakar pfc_reg_write(PFC_IPSR18, IPSR_4_FUNC(0) | IPSR_0_FUNC(0));
826*744c5664SLad Prabhakar
827*744c5664SLad Prabhakar /* initialize GPIO/peripheral function select */
828*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR0,
829*744c5664SLad Prabhakar GPSR0_D15 |
830*744c5664SLad Prabhakar GPSR0_D14 |
831*744c5664SLad Prabhakar GPSR0_D13 |
832*744c5664SLad Prabhakar GPSR0_D12 |
833*744c5664SLad Prabhakar GPSR0_D11 |
834*744c5664SLad Prabhakar GPSR0_D10 |
835*744c5664SLad Prabhakar GPSR0_D9 |
836*744c5664SLad Prabhakar GPSR0_D8 |
837*744c5664SLad Prabhakar GPSR0_D7 |
838*744c5664SLad Prabhakar GPSR0_D6 |
839*744c5664SLad Prabhakar GPSR0_D5 |
840*744c5664SLad Prabhakar GPSR0_D4 |
841*744c5664SLad Prabhakar GPSR0_D3 |
842*744c5664SLad Prabhakar GPSR0_D2 |
843*744c5664SLad Prabhakar GPSR0_D0);
844*744c5664SLad Prabhakar
845*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR1,
846*744c5664SLad Prabhakar GPSR1_CLKOUT |
847*744c5664SLad Prabhakar GPSR1_EX_WAIT0_A |
848*744c5664SLad Prabhakar GPSR1_WE1 |
849*744c5664SLad Prabhakar GPSR1_RD |
850*744c5664SLad Prabhakar GPSR1_RD_WR |
851*744c5664SLad Prabhakar GPSR1_CS0 |
852*744c5664SLad Prabhakar GPSR1_A19 |
853*744c5664SLad Prabhakar GPSR1_A18 |
854*744c5664SLad Prabhakar GPSR1_A17 |
855*744c5664SLad Prabhakar GPSR1_A16 |
856*744c5664SLad Prabhakar GPSR1_A15 |
857*744c5664SLad Prabhakar GPSR1_A14 |
858*744c5664SLad Prabhakar GPSR1_A13 |
859*744c5664SLad Prabhakar GPSR1_A12 |
860*744c5664SLad Prabhakar GPSR1_A7 |
861*744c5664SLad Prabhakar GPSR1_A6 |
862*744c5664SLad Prabhakar GPSR1_A5 |
863*744c5664SLad Prabhakar GPSR1_A4 |
864*744c5664SLad Prabhakar GPSR1_A3 |
865*744c5664SLad Prabhakar GPSR1_A2 |
866*744c5664SLad Prabhakar GPSR1_A1 |
867*744c5664SLad Prabhakar GPSR1_A0);
868*744c5664SLad Prabhakar
869*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR2,
870*744c5664SLad Prabhakar GPSR2_AVB_AVTP_CAPTURE_A |
871*744c5664SLad Prabhakar GPSR2_AVB_AVTP_MATCH_A |
872*744c5664SLad Prabhakar GPSR2_AVB_LINK |
873*744c5664SLad Prabhakar GPSR2_AVB_PHY_INT |
874*744c5664SLad Prabhakar GPSR2_AVB_MDC |
875*744c5664SLad Prabhakar GPSR2_PWM2_A |
876*744c5664SLad Prabhakar GPSR2_PWM1_A |
877*744c5664SLad Prabhakar GPSR2_IRQ4 |
878*744c5664SLad Prabhakar GPSR2_IRQ3 |
879*744c5664SLad Prabhakar GPSR2_IRQ2 |
880*744c5664SLad Prabhakar GPSR2_IRQ1 |
881*744c5664SLad Prabhakar GPSR2_IRQ0);
882*744c5664SLad Prabhakar
883*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR3,
884*744c5664SLad Prabhakar GPSR3_SD0_CD |
885*744c5664SLad Prabhakar GPSR3_SD1_DAT3 |
886*744c5664SLad Prabhakar GPSR3_SD1_DAT2 |
887*744c5664SLad Prabhakar GPSR3_SD1_DAT1 |
888*744c5664SLad Prabhakar GPSR3_SD1_DAT0 |
889*744c5664SLad Prabhakar GPSR3_SD0_DAT3 |
890*744c5664SLad Prabhakar GPSR3_SD0_DAT2 |
891*744c5664SLad Prabhakar GPSR3_SD0_DAT1 |
892*744c5664SLad Prabhakar GPSR3_SD0_DAT0 |
893*744c5664SLad Prabhakar GPSR3_SD0_CMD |
894*744c5664SLad Prabhakar GPSR3_SD0_CLK);
895*744c5664SLad Prabhakar
896*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR4,
897*744c5664SLad Prabhakar GPSR4_SD3_DS |
898*744c5664SLad Prabhakar GPSR4_SD3_DAT7 |
899*744c5664SLad Prabhakar GPSR4_SD3_DAT6 |
900*744c5664SLad Prabhakar GPSR4_SD3_DAT5 |
901*744c5664SLad Prabhakar GPSR4_SD3_DAT4 |
902*744c5664SLad Prabhakar GPSR4_SD3_DAT3 |
903*744c5664SLad Prabhakar GPSR4_SD3_DAT2 |
904*744c5664SLad Prabhakar GPSR4_SD3_DAT1 |
905*744c5664SLad Prabhakar GPSR4_SD3_DAT0 |
906*744c5664SLad Prabhakar GPSR4_SD3_CMD |
907*744c5664SLad Prabhakar GPSR4_SD3_CLK |
908*744c5664SLad Prabhakar GPSR4_SD2_DAT3 |
909*744c5664SLad Prabhakar GPSR4_SD2_DAT2 |
910*744c5664SLad Prabhakar GPSR4_SD2_DAT1 |
911*744c5664SLad Prabhakar GPSR4_SD2_DAT0 |
912*744c5664SLad Prabhakar GPSR4_SD2_CMD |
913*744c5664SLad Prabhakar GPSR4_SD2_CLK);
914*744c5664SLad Prabhakar
915*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR5,
916*744c5664SLad Prabhakar GPSR5_MSIOF0_RXD |
917*744c5664SLad Prabhakar GPSR5_MSIOF0_TXD |
918*744c5664SLad Prabhakar GPSR5_MSIOF0_SYNC |
919*744c5664SLad Prabhakar GPSR5_MSIOF0_SCK |
920*744c5664SLad Prabhakar GPSR5_RX2_A |
921*744c5664SLad Prabhakar GPSR5_TX2_A |
922*744c5664SLad Prabhakar GPSR5_RTS1 |
923*744c5664SLad Prabhakar GPSR5_CTS1 |
924*744c5664SLad Prabhakar GPSR5_TX1_A |
925*744c5664SLad Prabhakar GPSR5_RX1_A |
926*744c5664SLad Prabhakar GPSR5_RTS0 |
927*744c5664SLad Prabhakar GPSR5_SCK0);
928*744c5664SLad Prabhakar
929*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR6,
930*744c5664SLad Prabhakar GPSR6_AUDIO_CLKB_B |
931*744c5664SLad Prabhakar GPSR6_AUDIO_CLKA_A |
932*744c5664SLad Prabhakar GPSR6_SSI_WS6 |
933*744c5664SLad Prabhakar GPSR6_SSI_SCK6 |
934*744c5664SLad Prabhakar GPSR6_SSI_SDATA4 |
935*744c5664SLad Prabhakar GPSR6_SSI_WS4 |
936*744c5664SLad Prabhakar GPSR6_SSI_SCK4 |
937*744c5664SLad Prabhakar GPSR6_SSI_SDATA1_A |
938*744c5664SLad Prabhakar GPSR6_SSI_SDATA0 |
939*744c5664SLad Prabhakar GPSR6_SSI_WS0129 |
940*744c5664SLad Prabhakar GPSR6_SSI_SCK0129);
941*744c5664SLad Prabhakar
942*744c5664SLad Prabhakar pfc_reg_write(PFC_GPSR7, GPSR7_AVS2 | GPSR7_AVS1);
943*744c5664SLad Prabhakar
944*744c5664SLad Prabhakar /* initialize POC control register */
945*744c5664SLad Prabhakar pfc_reg_write(PFC_POCCTRL0,
946*744c5664SLad Prabhakar POC_SD0_DAT3_33V |
947*744c5664SLad Prabhakar POC_SD0_DAT2_33V |
948*744c5664SLad Prabhakar POC_SD0_DAT1_33V |
949*744c5664SLad Prabhakar POC_SD0_DAT0_33V |
950*744c5664SLad Prabhakar POC_SD0_CMD_33V |
951*744c5664SLad Prabhakar POC_SD0_CLK_33V);
952*744c5664SLad Prabhakar
953*744c5664SLad Prabhakar /* initialize DRV control register */
954*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL0);
955*744c5664SLad Prabhakar reg = (reg & DRVCTRL0_MASK) |
956*744c5664SLad Prabhakar DRVCTRL0_QSPI0_SPCLK(3) |
957*744c5664SLad Prabhakar DRVCTRL0_QSPI0_MOSI_IO0(3) |
958*744c5664SLad Prabhakar DRVCTRL0_QSPI0_MISO_IO1(3) |
959*744c5664SLad Prabhakar DRVCTRL0_QSPI0_IO2(3) |
960*744c5664SLad Prabhakar DRVCTRL0_QSPI0_IO3(3) |
961*744c5664SLad Prabhakar DRVCTRL0_QSPI0_SSL(3) |
962*744c5664SLad Prabhakar DRVCTRL0_QSPI1_SPCLK(3) |
963*744c5664SLad Prabhakar DRVCTRL0_QSPI1_MOSI_IO0(3);
964*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL0, reg);
965*744c5664SLad Prabhakar
966*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL1);
967*744c5664SLad Prabhakar reg = (reg & DRVCTRL1_MASK) |
968*744c5664SLad Prabhakar DRVCTRL1_QSPI1_MISO_IO1(3) |
969*744c5664SLad Prabhakar DRVCTRL1_QSPI1_IO2(3) |
970*744c5664SLad Prabhakar DRVCTRL1_QSPI1_IO3(3) |
971*744c5664SLad Prabhakar DRVCTRL1_QSPI1_SS(3) |
972*744c5664SLad Prabhakar DRVCTRL1_RPC_INT(3) |
973*744c5664SLad Prabhakar DRVCTRL1_RPC_WP(3) |
974*744c5664SLad Prabhakar DRVCTRL1_RPC_RESET(3) |
975*744c5664SLad Prabhakar DRVCTRL1_AVB_RX_CTL(7);
976*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL1, reg);
977*744c5664SLad Prabhakar
978*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL2);
979*744c5664SLad Prabhakar reg = (reg & DRVCTRL2_MASK) |
980*744c5664SLad Prabhakar DRVCTRL2_AVB_RXC(7) |
981*744c5664SLad Prabhakar DRVCTRL2_AVB_RD0(7) |
982*744c5664SLad Prabhakar DRVCTRL2_AVB_RD1(7) |
983*744c5664SLad Prabhakar DRVCTRL2_AVB_RD2(7) |
984*744c5664SLad Prabhakar DRVCTRL2_AVB_RD3(7) |
985*744c5664SLad Prabhakar DRVCTRL2_AVB_TX_CTL(3) |
986*744c5664SLad Prabhakar DRVCTRL2_AVB_TXC(3) |
987*744c5664SLad Prabhakar DRVCTRL2_AVB_TD0(3);
988*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL2, reg);
989*744c5664SLad Prabhakar
990*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL3);
991*744c5664SLad Prabhakar reg = (reg & DRVCTRL3_MASK) |
992*744c5664SLad Prabhakar DRVCTRL3_AVB_TD1(3) |
993*744c5664SLad Prabhakar DRVCTRL3_AVB_TD2(3) |
994*744c5664SLad Prabhakar DRVCTRL3_AVB_TD3(3) |
995*744c5664SLad Prabhakar DRVCTRL3_AVB_TXCREFCLK(7) |
996*744c5664SLad Prabhakar DRVCTRL3_AVB_MDIO(7) |
997*744c5664SLad Prabhakar DRVCTRL3_AVB_MDC(7) |
998*744c5664SLad Prabhakar DRVCTRL3_AVB_MAGIC(7) |
999*744c5664SLad Prabhakar DRVCTRL3_AVB_PHY_INT(7);
1000*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL3, reg);
1001*744c5664SLad Prabhakar
1002*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL4);
1003*744c5664SLad Prabhakar reg = (reg & DRVCTRL4_MASK) |
1004*744c5664SLad Prabhakar DRVCTRL4_AVB_LINK(7) |
1005*744c5664SLad Prabhakar DRVCTRL4_AVB_AVTP_MATCH(7) |
1006*744c5664SLad Prabhakar DRVCTRL4_AVB_AVTP_CAPTURE(7) |
1007*744c5664SLad Prabhakar DRVCTRL4_IRQ0(7) |
1008*744c5664SLad Prabhakar DRVCTRL4_IRQ1(7) |
1009*744c5664SLad Prabhakar DRVCTRL4_IRQ2(7) |
1010*744c5664SLad Prabhakar DRVCTRL4_IRQ3(7) |
1011*744c5664SLad Prabhakar DRVCTRL4_IRQ4(7);
1012*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL4, reg);
1013*744c5664SLad Prabhakar
1014*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL5);
1015*744c5664SLad Prabhakar reg = (reg & DRVCTRL5_MASK) |
1016*744c5664SLad Prabhakar DRVCTRL5_IRQ5(7) |
1017*744c5664SLad Prabhakar DRVCTRL5_PWM0(7) |
1018*744c5664SLad Prabhakar DRVCTRL5_PWM1(7) |
1019*744c5664SLad Prabhakar DRVCTRL5_PWM2(7) |
1020*744c5664SLad Prabhakar DRVCTRL5_A0(3) |
1021*744c5664SLad Prabhakar DRVCTRL5_A1(3) |
1022*744c5664SLad Prabhakar DRVCTRL5_A2(3) |
1023*744c5664SLad Prabhakar DRVCTRL5_A3(3);
1024*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL5, reg);
1025*744c5664SLad Prabhakar
1026*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL6);
1027*744c5664SLad Prabhakar reg = (reg & DRVCTRL6_MASK) |
1028*744c5664SLad Prabhakar DRVCTRL6_A4(3) |
1029*744c5664SLad Prabhakar DRVCTRL6_A5(3) |
1030*744c5664SLad Prabhakar DRVCTRL6_A6(3) |
1031*744c5664SLad Prabhakar DRVCTRL6_A7(3) |
1032*744c5664SLad Prabhakar DRVCTRL6_A8(7) |
1033*744c5664SLad Prabhakar DRVCTRL6_A9(7) |
1034*744c5664SLad Prabhakar DRVCTRL6_A10(7) |
1035*744c5664SLad Prabhakar DRVCTRL6_A11(7);
1036*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL6, reg);
1037*744c5664SLad Prabhakar
1038*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL7);
1039*744c5664SLad Prabhakar reg = (reg & DRVCTRL7_MASK) |
1040*744c5664SLad Prabhakar DRVCTRL7_A12(3) |
1041*744c5664SLad Prabhakar DRVCTRL7_A13(3) |
1042*744c5664SLad Prabhakar DRVCTRL7_A14(3) |
1043*744c5664SLad Prabhakar DRVCTRL7_A15(3) |
1044*744c5664SLad Prabhakar DRVCTRL7_A16(3) |
1045*744c5664SLad Prabhakar DRVCTRL7_A17(3) |
1046*744c5664SLad Prabhakar DRVCTRL7_A18(3) |
1047*744c5664SLad Prabhakar DRVCTRL7_A19(3);
1048*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL7, reg);
1049*744c5664SLad Prabhakar
1050*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL8);
1051*744c5664SLad Prabhakar reg = (reg & DRVCTRL8_MASK) |
1052*744c5664SLad Prabhakar DRVCTRL8_CLKOUT(7) |
1053*744c5664SLad Prabhakar DRVCTRL8_CS0(7) |
1054*744c5664SLad Prabhakar DRVCTRL8_CS1_A2(7) |
1055*744c5664SLad Prabhakar DRVCTRL8_BS(7) |
1056*744c5664SLad Prabhakar DRVCTRL8_RD(7) |
1057*744c5664SLad Prabhakar DRVCTRL8_RD_W(7) |
1058*744c5664SLad Prabhakar DRVCTRL8_WE0(7) |
1059*744c5664SLad Prabhakar DRVCTRL8_WE1(7);
1060*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL8, reg);
1061*744c5664SLad Prabhakar
1062*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL9);
1063*744c5664SLad Prabhakar reg = (reg & DRVCTRL9_MASK) |
1064*744c5664SLad Prabhakar DRVCTRL9_EX_WAIT0(7) |
1065*744c5664SLad Prabhakar DRVCTRL9_PRESETOU(7) |
1066*744c5664SLad Prabhakar DRVCTRL9_D0(7) |
1067*744c5664SLad Prabhakar DRVCTRL9_D1(7) |
1068*744c5664SLad Prabhakar DRVCTRL9_D2(7) |
1069*744c5664SLad Prabhakar DRVCTRL9_D3(7) |
1070*744c5664SLad Prabhakar DRVCTRL9_D4(7) |
1071*744c5664SLad Prabhakar DRVCTRL9_D5(7);
1072*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL9, reg);
1073*744c5664SLad Prabhakar
1074*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL10);
1075*744c5664SLad Prabhakar reg = (reg & DRVCTRL10_MASK) |
1076*744c5664SLad Prabhakar DRVCTRL10_D6(7) |
1077*744c5664SLad Prabhakar DRVCTRL10_D7(7) |
1078*744c5664SLad Prabhakar DRVCTRL10_D8(3) |
1079*744c5664SLad Prabhakar DRVCTRL10_D9(3) |
1080*744c5664SLad Prabhakar DRVCTRL10_D10(3) |
1081*744c5664SLad Prabhakar DRVCTRL10_D11(3) |
1082*744c5664SLad Prabhakar DRVCTRL10_D12(3) |
1083*744c5664SLad Prabhakar DRVCTRL10_D13(3);
1084*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL10, reg);
1085*744c5664SLad Prabhakar
1086*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL11);
1087*744c5664SLad Prabhakar reg = (reg & DRVCTRL11_MASK) |
1088*744c5664SLad Prabhakar DRVCTRL11_D14(3) |
1089*744c5664SLad Prabhakar DRVCTRL11_D15(3) |
1090*744c5664SLad Prabhakar DRVCTRL11_AVS1(7) |
1091*744c5664SLad Prabhakar DRVCTRL11_AVS2(7) |
1092*744c5664SLad Prabhakar DRVCTRL11_GP7_02(7) |
1093*744c5664SLad Prabhakar DRVCTRL11_GP7_03(7) |
1094*744c5664SLad Prabhakar DRVCTRL11_DU_DOTCLKIN0(3) |
1095*744c5664SLad Prabhakar DRVCTRL11_DU_DOTCLKIN1(3);
1096*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL11, reg);
1097*744c5664SLad Prabhakar
1098*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL12);
1099*744c5664SLad Prabhakar reg = (reg & DRVCTRL12_MASK) |
1100*744c5664SLad Prabhakar DRVCTRL12_DU_DOTCLKIN2(3) |
1101*744c5664SLad Prabhakar DRVCTRL12_DU_DOTCLKIN3(3) |
1102*744c5664SLad Prabhakar DRVCTRL12_DU_FSCLKST(3) |
1103*744c5664SLad Prabhakar DRVCTRL12_DU_TMS(3);
1104*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL12, reg);
1105*744c5664SLad Prabhakar
1106*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL13);
1107*744c5664SLad Prabhakar reg = (reg & DRVCTRL13_MASK) |
1108*744c5664SLad Prabhakar DRVCTRL13_TDO(3) |
1109*744c5664SLad Prabhakar DRVCTRL13_ASEBRK(3) |
1110*744c5664SLad Prabhakar DRVCTRL13_SD0_CLK(7) |
1111*744c5664SLad Prabhakar DRVCTRL13_SD0_CMD(7) |
1112*744c5664SLad Prabhakar DRVCTRL13_SD0_DAT0(7) |
1113*744c5664SLad Prabhakar DRVCTRL13_SD0_DAT1(7) |
1114*744c5664SLad Prabhakar DRVCTRL13_SD0_DAT2(7) |
1115*744c5664SLad Prabhakar DRVCTRL13_SD0_DAT3(7);
1116*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL13, reg);
1117*744c5664SLad Prabhakar
1118*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL14);
1119*744c5664SLad Prabhakar reg = (reg & DRVCTRL14_MASK) |
1120*744c5664SLad Prabhakar DRVCTRL14_SD1_CLK(7) |
1121*744c5664SLad Prabhakar DRVCTRL14_SD1_CMD(7) |
1122*744c5664SLad Prabhakar DRVCTRL14_SD1_DAT0(5) |
1123*744c5664SLad Prabhakar DRVCTRL14_SD1_DAT1(5) |
1124*744c5664SLad Prabhakar DRVCTRL14_SD1_DAT2(5) |
1125*744c5664SLad Prabhakar DRVCTRL14_SD1_DAT3(5) |
1126*744c5664SLad Prabhakar DRVCTRL14_SD2_CLK(5) |
1127*744c5664SLad Prabhakar DRVCTRL14_SD2_CMD(5);
1128*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL14, reg);
1129*744c5664SLad Prabhakar
1130*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL15);
1131*744c5664SLad Prabhakar reg = (reg & DRVCTRL15_MASK) |
1132*744c5664SLad Prabhakar DRVCTRL15_SD2_DAT0(5) |
1133*744c5664SLad Prabhakar DRVCTRL15_SD2_DAT1(5) |
1134*744c5664SLad Prabhakar DRVCTRL15_SD2_DAT2(5) |
1135*744c5664SLad Prabhakar DRVCTRL15_SD2_DAT3(5) |
1136*744c5664SLad Prabhakar DRVCTRL15_SD2_DS(5) |
1137*744c5664SLad Prabhakar DRVCTRL15_SD3_CLK(7) |
1138*744c5664SLad Prabhakar DRVCTRL15_SD3_CMD(7) |
1139*744c5664SLad Prabhakar DRVCTRL15_SD3_DAT0(7);
1140*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL15, reg);
1141*744c5664SLad Prabhakar
1142*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL16);
1143*744c5664SLad Prabhakar reg = (reg & DRVCTRL16_MASK) |
1144*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT1(7) |
1145*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT2(7) |
1146*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT3(7) |
1147*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT4(7) |
1148*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT5(7) |
1149*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT6(7) |
1150*744c5664SLad Prabhakar DRVCTRL16_SD3_DAT7(7) |
1151*744c5664SLad Prabhakar DRVCTRL16_SD3_DS(7);
1152*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL16, reg);
1153*744c5664SLad Prabhakar
1154*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL17);
1155*744c5664SLad Prabhakar reg = (reg & DRVCTRL17_MASK) |
1156*744c5664SLad Prabhakar DRVCTRL17_SD0_CD(7) |
1157*744c5664SLad Prabhakar DRVCTRL17_SD0_WP(7) |
1158*744c5664SLad Prabhakar DRVCTRL17_SD1_CD(7) |
1159*744c5664SLad Prabhakar DRVCTRL17_SD1_WP(7) |
1160*744c5664SLad Prabhakar DRVCTRL17_SCK0(7) |
1161*744c5664SLad Prabhakar DRVCTRL17_RX0(7) |
1162*744c5664SLad Prabhakar DRVCTRL17_TX0(7) |
1163*744c5664SLad Prabhakar DRVCTRL17_CTS0(7);
1164*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL17, reg);
1165*744c5664SLad Prabhakar
1166*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL18);
1167*744c5664SLad Prabhakar reg = (reg & DRVCTRL18_MASK) |
1168*744c5664SLad Prabhakar DRVCTRL18_RTS0_TANS(7) |
1169*744c5664SLad Prabhakar DRVCTRL18_RX1(7) |
1170*744c5664SLad Prabhakar DRVCTRL18_TX1(7) |
1171*744c5664SLad Prabhakar DRVCTRL18_CTS1(7) |
1172*744c5664SLad Prabhakar DRVCTRL18_RTS1_TANS(7) |
1173*744c5664SLad Prabhakar DRVCTRL18_SCK2(7) |
1174*744c5664SLad Prabhakar DRVCTRL18_TX2(7) |
1175*744c5664SLad Prabhakar DRVCTRL18_RX2(7);
1176*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL18, reg);
1177*744c5664SLad Prabhakar
1178*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL19);
1179*744c5664SLad Prabhakar reg = (reg & DRVCTRL19_MASK) |
1180*744c5664SLad Prabhakar DRVCTRL19_HSCK0(7) |
1181*744c5664SLad Prabhakar DRVCTRL19_HRX0(7) |
1182*744c5664SLad Prabhakar DRVCTRL19_HTX0(7) |
1183*744c5664SLad Prabhakar DRVCTRL19_HCTS0(7) |
1184*744c5664SLad Prabhakar DRVCTRL19_HRTS0(7) |
1185*744c5664SLad Prabhakar DRVCTRL19_MSIOF0_SCK(7) |
1186*744c5664SLad Prabhakar DRVCTRL19_MSIOF0_SYNC(7) |
1187*744c5664SLad Prabhakar DRVCTRL19_MSIOF0_SS1(7);
1188*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL19, reg);
1189*744c5664SLad Prabhakar
1190*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL20);
1191*744c5664SLad Prabhakar reg = (reg & DRVCTRL20_MASK) |
1192*744c5664SLad Prabhakar DRVCTRL20_MSIOF0_TXD(7) |
1193*744c5664SLad Prabhakar DRVCTRL20_MSIOF0_SS2(7) |
1194*744c5664SLad Prabhakar DRVCTRL20_MSIOF0_RXD(7) |
1195*744c5664SLad Prabhakar DRVCTRL20_MLB_CLK(7) |
1196*744c5664SLad Prabhakar DRVCTRL20_MLB_SIG(7) |
1197*744c5664SLad Prabhakar DRVCTRL20_MLB_DAT(7) |
1198*744c5664SLad Prabhakar DRVCTRL20_MLB_REF(7) |
1199*744c5664SLad Prabhakar DRVCTRL20_SSI_SCK0129(7);
1200*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL20, reg);
1201*744c5664SLad Prabhakar
1202*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL21);
1203*744c5664SLad Prabhakar reg = (reg & DRVCTRL21_MASK) |
1204*744c5664SLad Prabhakar DRVCTRL21_SSI_WS0129(7) |
1205*744c5664SLad Prabhakar DRVCTRL21_SSI_SDATA0(7) |
1206*744c5664SLad Prabhakar DRVCTRL21_SSI_SDATA1(7) |
1207*744c5664SLad Prabhakar DRVCTRL21_SSI_SDATA2(7) |
1208*744c5664SLad Prabhakar DRVCTRL21_SSI_SCK34(7) |
1209*744c5664SLad Prabhakar DRVCTRL21_SSI_WS34(7) |
1210*744c5664SLad Prabhakar DRVCTRL21_SSI_SDATA3(7) |
1211*744c5664SLad Prabhakar DRVCTRL21_SSI_SCK4(7);
1212*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL21, reg);
1213*744c5664SLad Prabhakar
1214*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL22);
1215*744c5664SLad Prabhakar reg = (reg & DRVCTRL22_MASK) |
1216*744c5664SLad Prabhakar DRVCTRL22_SSI_WS4(7) |
1217*744c5664SLad Prabhakar DRVCTRL22_SSI_SDATA4(7) |
1218*744c5664SLad Prabhakar DRVCTRL22_SSI_SCK5(7) |
1219*744c5664SLad Prabhakar DRVCTRL22_SSI_WS5(7) |
1220*744c5664SLad Prabhakar DRVCTRL22_SSI_SDATA5(7) |
1221*744c5664SLad Prabhakar DRVCTRL22_SSI_SCK6(7) |
1222*744c5664SLad Prabhakar DRVCTRL22_SSI_WS6(7) |
1223*744c5664SLad Prabhakar DRVCTRL22_SSI_SDATA6(7);
1224*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL22, reg);
1225*744c5664SLad Prabhakar
1226*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL23);
1227*744c5664SLad Prabhakar reg = (reg & DRVCTRL23_MASK) |
1228*744c5664SLad Prabhakar DRVCTRL23_SSI_SCK78(7) |
1229*744c5664SLad Prabhakar DRVCTRL23_SSI_WS78(7) |
1230*744c5664SLad Prabhakar DRVCTRL23_SSI_SDATA7(7) |
1231*744c5664SLad Prabhakar DRVCTRL23_SSI_SDATA8(7) |
1232*744c5664SLad Prabhakar DRVCTRL23_SSI_SDATA9(7) |
1233*744c5664SLad Prabhakar DRVCTRL23_AUDIO_CLKA(7) |
1234*744c5664SLad Prabhakar DRVCTRL23_AUDIO_CLKB(7) |
1235*744c5664SLad Prabhakar DRVCTRL23_USB0_PWEN(7);
1236*744c5664SLad Prabhakar
1237*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL23, reg);
1238*744c5664SLad Prabhakar reg = mmio_read_32(PFC_DRVCTRL24);
1239*744c5664SLad Prabhakar reg = (reg & DRVCTRL24_MASK) |
1240*744c5664SLad Prabhakar DRVCTRL24_USB0_OVC(7) |
1241*744c5664SLad Prabhakar DRVCTRL24_USB1_PWEN(7) |
1242*744c5664SLad Prabhakar DRVCTRL24_USB1_OVC(7) |
1243*744c5664SLad Prabhakar DRVCTRL24_USB30_PWEN(7) |
1244*744c5664SLad Prabhakar DRVCTRL24_USB30_OVC(7) |
1245*744c5664SLad Prabhakar DRVCTRL24_USB31_PWEN(7) |
1246*744c5664SLad Prabhakar DRVCTRL24_USB31_OVC(7);
1247*744c5664SLad Prabhakar pfc_reg_write(PFC_DRVCTRL24, reg);
1248*744c5664SLad Prabhakar
1249*744c5664SLad Prabhakar /* initialize LSI pin pull-up/down control */
1250*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD0, 0x00005FBFU);
1251*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD1, 0x00300EFEU);
1252*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD2, 0x330001E6U);
1253*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD3, 0x000002E0U);
1254*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD4, 0xFFFFFF00U);
1255*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD5, 0x7F5FFF87U);
1256*744c5664SLad Prabhakar pfc_reg_write(PFC_PUD6, 0x00000055U);
1257*744c5664SLad Prabhakar
1258*744c5664SLad Prabhakar /* initialize LSI pin pull-enable register */
1259*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN0, 0x00000FFFU);
1260*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN1, 0x00100234U);
1261*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN2, 0x000004C4U);
1262*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN3, 0x00000200U);
1263*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN4, 0x3E000000U);
1264*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN5, 0x1F000805U);
1265*744c5664SLad Prabhakar pfc_reg_write(PFC_PUEN6, 0x00000006U);
1266*744c5664SLad Prabhakar
1267*744c5664SLad Prabhakar /* initialize positive/negative logic select */
1268*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG0, 0x00000000U);
1269*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG1, 0x00000000U);
1270*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG2, 0x00000000U);
1271*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG3, 0x00000000U);
1272*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG4, 0x00000000U);
1273*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG5, 0x00000000U);
1274*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG6, 0x00000000U);
1275*744c5664SLad Prabhakar mmio_write_32(GPIO_POSNEG7, 0x00000000U);
1276*744c5664SLad Prabhakar
1277*744c5664SLad Prabhakar /* initialize general IO/interrupt switching */
1278*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL0, 0x00000000U);
1279*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL1, 0x00000000U);
1280*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL2, 0x00000000U);
1281*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL3, 0x00000000U);
1282*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL4, 0x00000000U);
1283*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL5, 0x00000000U);
1284*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL6, 0x00000000U);
1285*744c5664SLad Prabhakar mmio_write_32(GPIO_IOINTSEL7, 0x00000000U);
1286*744c5664SLad Prabhakar
1287*744c5664SLad Prabhakar /* initialize general output register */
1288*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT0, 0x00000001U);
1289*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT1, 0x00000000U);
1290*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT2, 0x00000400U);
1291*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT3, 0x00000000U);
1292*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT4, 0x00000000U);
1293*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT5, 0x00000000U);
1294*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT6, 0x00003800U);
1295*744c5664SLad Prabhakar mmio_write_32(GPIO_OUTDT7, 0x00000003U);
1296*744c5664SLad Prabhakar
1297*744c5664SLad Prabhakar /* initialize general input/output switching */
1298*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL0, 0x00000001U);
1299*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL1, 0x00100B00U);
1300*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL2, 0x00000418U);
1301*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL3, 0x00002000U);
1302*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL4, 0x00000040U);
1303*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL5, 0x00000208U);
1304*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL6, 0x00013F00U);
1305*744c5664SLad Prabhakar mmio_write_32(GPIO_INOUTSEL7, 0x00000003U);
1306*744c5664SLad Prabhakar }
1307