1*5e91a198SInochi Amaoto // SPDX-License-Identifier: GPL-2.0
2*5e91a198SInochi Amaoto /*
3*5e91a198SInochi Amaoto * Sophgo SG2000 SoC pinctrl driver.
4*5e91a198SInochi Amaoto *
5*5e91a198SInochi Amaoto * Copyright (C) 2024 Inochi Amaoto <inochiama@outlook.com>
6*5e91a198SInochi Amaoto *
7*5e91a198SInochi Amaoto * This file is generated from vendor pinout definition.
8*5e91a198SInochi Amaoto */
9*5e91a198SInochi Amaoto
10*5e91a198SInochi Amaoto #include <linux/module.h>
11*5e91a198SInochi Amaoto #include <linux/platform_device.h>
12*5e91a198SInochi Amaoto #include <linux/of.h>
13*5e91a198SInochi Amaoto
14*5e91a198SInochi Amaoto #include <linux/pinctrl/pinctrl.h>
15*5e91a198SInochi Amaoto #include <linux/pinctrl/pinmux.h>
16*5e91a198SInochi Amaoto
17*5e91a198SInochi Amaoto #include <dt-bindings/pinctrl/pinctrl-sg2000.h>
18*5e91a198SInochi Amaoto
19*5e91a198SInochi Amaoto #include "pinctrl-cv18xx.h"
20*5e91a198SInochi Amaoto
21*5e91a198SInochi Amaoto enum SG2000_POWER_DOMAIN {
22*5e91a198SInochi Amaoto VDD18A_EPHY = 0,
23*5e91a198SInochi Amaoto VDD18A_MIPI = 1,
24*5e91a198SInochi Amaoto VDDIO18_1 = 2,
25*5e91a198SInochi Amaoto VDDIO_EMMC = 3,
26*5e91a198SInochi Amaoto VDDIO_RTC = 4,
27*5e91a198SInochi Amaoto VDDIO_SD0 = 5,
28*5e91a198SInochi Amaoto VDDIO_SD1 = 6,
29*5e91a198SInochi Amaoto VDDIO_VIVO = 7
30*5e91a198SInochi Amaoto };
31*5e91a198SInochi Amaoto
32*5e91a198SInochi Amaoto static const char *const sg2000_power_domain_desc[] = {
33*5e91a198SInochi Amaoto [VDD18A_EPHY] = "VDD18A_EPHY",
34*5e91a198SInochi Amaoto [VDD18A_MIPI] = "VDD18A_MIPI",
35*5e91a198SInochi Amaoto [VDDIO18_1] = "VDDIO18_1",
36*5e91a198SInochi Amaoto [VDDIO_EMMC] = "VDDIO_EMMC",
37*5e91a198SInochi Amaoto [VDDIO_RTC] = "VDDIO_RTC",
38*5e91a198SInochi Amaoto [VDDIO_SD0] = "VDDIO_SD0",
39*5e91a198SInochi Amaoto [VDDIO_SD1] = "VDDIO_SD1",
40*5e91a198SInochi Amaoto [VDDIO_VIVO] = "VDDIO_VIVO",
41*5e91a198SInochi Amaoto };
42*5e91a198SInochi Amaoto
sg2000_get_pull_up(struct cv1800_pin * pin,const u32 * psmap)43*5e91a198SInochi Amaoto static int sg2000_get_pull_up(struct cv1800_pin *pin, const u32 *psmap)
44*5e91a198SInochi Amaoto {
45*5e91a198SInochi Amaoto u32 pstate = psmap[pin->power_domain];
46*5e91a198SInochi Amaoto enum cv1800_pin_io_type type = cv1800_pin_io_type(pin);
47*5e91a198SInochi Amaoto
48*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_ONLY)
49*5e91a198SInochi Amaoto return 79000;
50*5e91a198SInochi Amaoto
51*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_OR_3V3) {
52*5e91a198SInochi Amaoto if (pstate == PIN_POWER_STATE_1V8)
53*5e91a198SInochi Amaoto return 60000;
54*5e91a198SInochi Amaoto if (pstate == PIN_POWER_STATE_3V3)
55*5e91a198SInochi Amaoto return 60000;
56*5e91a198SInochi Amaoto
57*5e91a198SInochi Amaoto return -EINVAL;
58*5e91a198SInochi Amaoto }
59*5e91a198SInochi Amaoto
60*5e91a198SInochi Amaoto return -ENOTSUPP;
61*5e91a198SInochi Amaoto }
62*5e91a198SInochi Amaoto
sg2000_get_pull_down(struct cv1800_pin * pin,const u32 * psmap)63*5e91a198SInochi Amaoto static int sg2000_get_pull_down(struct cv1800_pin *pin, const u32 *psmap)
64*5e91a198SInochi Amaoto {
65*5e91a198SInochi Amaoto u32 pstate = psmap[pin->power_domain];
66*5e91a198SInochi Amaoto enum cv1800_pin_io_type type = cv1800_pin_io_type(pin);
67*5e91a198SInochi Amaoto
68*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_ONLY)
69*5e91a198SInochi Amaoto return 87000;
70*5e91a198SInochi Amaoto
71*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_OR_3V3) {
72*5e91a198SInochi Amaoto if (pstate == PIN_POWER_STATE_1V8)
73*5e91a198SInochi Amaoto return 61000;
74*5e91a198SInochi Amaoto if (pstate == PIN_POWER_STATE_3V3)
75*5e91a198SInochi Amaoto return 62000;
76*5e91a198SInochi Amaoto
77*5e91a198SInochi Amaoto return -EINVAL;
78*5e91a198SInochi Amaoto }
79*5e91a198SInochi Amaoto
80*5e91a198SInochi Amaoto return -ENOTSUPP;
81*5e91a198SInochi Amaoto }
82*5e91a198SInochi Amaoto
83*5e91a198SInochi Amaoto static const u32 sg2000_1v8_oc_map[] = {
84*5e91a198SInochi Amaoto 12800,
85*5e91a198SInochi Amaoto 25300,
86*5e91a198SInochi Amaoto 37400,
87*5e91a198SInochi Amaoto 49000
88*5e91a198SInochi Amaoto };
89*5e91a198SInochi Amaoto
90*5e91a198SInochi Amaoto static const u32 sg2000_18od33_1v8_oc_map[] = {
91*5e91a198SInochi Amaoto 7800,
92*5e91a198SInochi Amaoto 11700,
93*5e91a198SInochi Amaoto 15500,
94*5e91a198SInochi Amaoto 19200,
95*5e91a198SInochi Amaoto 23000,
96*5e91a198SInochi Amaoto 26600,
97*5e91a198SInochi Amaoto 30200,
98*5e91a198SInochi Amaoto 33700
99*5e91a198SInochi Amaoto };
100*5e91a198SInochi Amaoto
101*5e91a198SInochi Amaoto static const u32 sg2000_18od33_3v3_oc_map[] = {
102*5e91a198SInochi Amaoto 5500,
103*5e91a198SInochi Amaoto 8200,
104*5e91a198SInochi Amaoto 10800,
105*5e91a198SInochi Amaoto 13400,
106*5e91a198SInochi Amaoto 16100,
107*5e91a198SInochi Amaoto 18700,
108*5e91a198SInochi Amaoto 21200,
109*5e91a198SInochi Amaoto 23700
110*5e91a198SInochi Amaoto };
111*5e91a198SInochi Amaoto
112*5e91a198SInochi Amaoto static const u32 sg2000_eth_oc_map[] = {
113*5e91a198SInochi Amaoto 15700,
114*5e91a198SInochi Amaoto 17800
115*5e91a198SInochi Amaoto };
116*5e91a198SInochi Amaoto
sg2000_get_oc_map(struct cv1800_pin * pin,const u32 * psmap,const u32 ** map)117*5e91a198SInochi Amaoto static int sg2000_get_oc_map(struct cv1800_pin *pin, const u32 *psmap,
118*5e91a198SInochi Amaoto const u32 **map)
119*5e91a198SInochi Amaoto {
120*5e91a198SInochi Amaoto enum cv1800_pin_io_type type = cv1800_pin_io_type(pin);
121*5e91a198SInochi Amaoto u32 pstate = psmap[pin->power_domain];
122*5e91a198SInochi Amaoto
123*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_ONLY) {
124*5e91a198SInochi Amaoto *map = sg2000_1v8_oc_map;
125*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_1v8_oc_map);
126*5e91a198SInochi Amaoto }
127*5e91a198SInochi Amaoto
128*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_OR_3V3) {
129*5e91a198SInochi Amaoto if (pstate == PIN_POWER_STATE_1V8) {
130*5e91a198SInochi Amaoto *map = sg2000_18od33_1v8_oc_map;
131*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_18od33_1v8_oc_map);
132*5e91a198SInochi Amaoto } else if (pstate == PIN_POWER_STATE_3V3) {
133*5e91a198SInochi Amaoto *map = sg2000_18od33_3v3_oc_map;
134*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_18od33_3v3_oc_map);
135*5e91a198SInochi Amaoto }
136*5e91a198SInochi Amaoto }
137*5e91a198SInochi Amaoto
138*5e91a198SInochi Amaoto if (type == IO_TYPE_ETH) {
139*5e91a198SInochi Amaoto *map = sg2000_eth_oc_map;
140*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_eth_oc_map);
141*5e91a198SInochi Amaoto }
142*5e91a198SInochi Amaoto
143*5e91a198SInochi Amaoto return -ENOTSUPP;
144*5e91a198SInochi Amaoto }
145*5e91a198SInochi Amaoto
146*5e91a198SInochi Amaoto static const u32 sg2000_1v8_schmitt_map[] = {
147*5e91a198SInochi Amaoto 0,
148*5e91a198SInochi Amaoto 970000,
149*5e91a198SInochi Amaoto 1040000
150*5e91a198SInochi Amaoto };
151*5e91a198SInochi Amaoto
152*5e91a198SInochi Amaoto static const u32 sg2000_18od33_1v8_schmitt_map[] = {
153*5e91a198SInochi Amaoto 0,
154*5e91a198SInochi Amaoto 1070000
155*5e91a198SInochi Amaoto };
156*5e91a198SInochi Amaoto
157*5e91a198SInochi Amaoto static const u32 sg2000_18od33_3v3_schmitt_map[] = {
158*5e91a198SInochi Amaoto 0,
159*5e91a198SInochi Amaoto 1100000
160*5e91a198SInochi Amaoto };
161*5e91a198SInochi Amaoto
sg2000_get_schmitt_map(struct cv1800_pin * pin,const u32 * psmap,const u32 ** map)162*5e91a198SInochi Amaoto static int sg2000_get_schmitt_map(struct cv1800_pin *pin, const u32 *psmap,
163*5e91a198SInochi Amaoto const u32 **map)
164*5e91a198SInochi Amaoto {
165*5e91a198SInochi Amaoto enum cv1800_pin_io_type type = cv1800_pin_io_type(pin);
166*5e91a198SInochi Amaoto u32 pstate = psmap[pin->power_domain];
167*5e91a198SInochi Amaoto
168*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_ONLY) {
169*5e91a198SInochi Amaoto *map = sg2000_1v8_schmitt_map;
170*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_1v8_schmitt_map);
171*5e91a198SInochi Amaoto }
172*5e91a198SInochi Amaoto
173*5e91a198SInochi Amaoto if (type == IO_TYPE_1V8_OR_3V3) {
174*5e91a198SInochi Amaoto if (pstate == PIN_POWER_STATE_1V8) {
175*5e91a198SInochi Amaoto *map = sg2000_18od33_1v8_schmitt_map;
176*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_18od33_1v8_schmitt_map);
177*5e91a198SInochi Amaoto } else if (pstate == PIN_POWER_STATE_3V3) {
178*5e91a198SInochi Amaoto *map = sg2000_18od33_3v3_schmitt_map;
179*5e91a198SInochi Amaoto return ARRAY_SIZE(sg2000_18od33_3v3_schmitt_map);
180*5e91a198SInochi Amaoto }
181*5e91a198SInochi Amaoto }
182*5e91a198SInochi Amaoto
183*5e91a198SInochi Amaoto return -ENOTSUPP;
184*5e91a198SInochi Amaoto }
185*5e91a198SInochi Amaoto
186*5e91a198SInochi Amaoto static const struct cv1800_vddio_cfg_ops sg2000_vddio_cfg_ops = {
187*5e91a198SInochi Amaoto .get_pull_up = sg2000_get_pull_up,
188*5e91a198SInochi Amaoto .get_pull_down = sg2000_get_pull_down,
189*5e91a198SInochi Amaoto .get_oc_map = sg2000_get_oc_map,
190*5e91a198SInochi Amaoto .get_schmitt_map = sg2000_get_schmitt_map,
191*5e91a198SInochi Amaoto };
192*5e91a198SInochi Amaoto
193*5e91a198SInochi Amaoto static const struct pinctrl_pin_desc sg2000_pins[] = {
194*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXM4, "MIPI_TXM4"),
195*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX0N, "MIPIRX0N"),
196*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX3P, "MIPIRX3P"),
197*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX4P, "MIPIRX4P"),
198*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D2, "VIVO_D2"),
199*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D3, "VIVO_D3"),
200*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D10, "VIVO_D10"),
201*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_USB_VBUS_DET, "USB_VBUS_DET"),
202*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXP3, "MIPI_TXP3"),
203*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXM3, "MIPI_TXM3"),
204*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXP4, "MIPI_TXP4"),
205*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX0P, "MIPIRX0P"),
206*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX1N, "MIPIRX1N"),
207*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX2N, "MIPIRX2N"),
208*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX4N, "MIPIRX4N"),
209*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX5N, "MIPIRX5N"),
210*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D1, "VIVO_D1"),
211*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D5, "VIVO_D5"),
212*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D7, "VIVO_D7"),
213*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D9, "VIVO_D9"),
214*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_USB_ID, "USB_ID"),
215*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ETH_RXM, "ETH_RXM"),
216*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXP2, "MIPI_TXP2"),
217*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXM2, "MIPI_TXM2"),
218*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CAM_PD0, "CAM_PD0"),
219*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CAM_MCLK0, "CAM_MCLK0"),
220*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX1P, "MIPIRX1P"),
221*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX2P, "MIPIRX2P"),
222*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX3N, "MIPIRX3N"),
223*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPIRX5P, "MIPIRX5P"),
224*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_CLK, "VIVO_CLK"),
225*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D6, "VIVO_D6"),
226*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D8, "VIVO_D8"),
227*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_USB_VBUS_EN, "USB_VBUS_EN"),
228*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ETH_RXP, "ETH_RXP"),
229*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_GPIO_RTX, "GPIO_RTX"),
230*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXP1, "MIPI_TXP1"),
231*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXM1, "MIPI_TXM1"),
232*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CAM_MCLK1, "CAM_MCLK1"),
233*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_IIC3_SCL, "IIC3_SCL"),
234*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D4, "VIVO_D4"),
235*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ETH_TXM, "ETH_TXM"),
236*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ETH_TXP, "ETH_TXP"),
237*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXP0, "MIPI_TXP0"),
238*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_MIPI_TXM0, "MIPI_TXM0"),
239*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CAM_PD1, "CAM_PD1"),
240*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CAM_RST0, "CAM_RST0"),
241*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_VIVO_D0, "VIVO_D0"),
242*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ADC1, "ADC1"),
243*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ADC2, "ADC2"),
244*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_ADC3, "ADC3"),
245*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_AUD_AOUTL, "AUD_AOUTL"),
246*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_IIC3_SDA, "IIC3_SDA"),
247*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD1_D2, "SD1_D2"),
248*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_AUD_AOUTR, "AUD_AOUTR"),
249*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD1_D3, "SD1_D3"),
250*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD1_CLK, "SD1_CLK"),
251*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD1_CMD, "SD1_CMD"),
252*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_AUD_AINL_MIC, "AUD_AINL_MIC"),
253*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_RSTN, "RSTN"),
254*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWM0_BUCK, "PWM0_BUCK"),
255*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD1_D1, "SD1_D1"),
256*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD1_D0, "SD1_D0"),
257*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_AUD_AINR_MIC, "AUD_AINR_MIC"),
258*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_IIC2_SCL, "IIC2_SCL"),
259*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_IIC2_SDA, "IIC2_SDA"),
260*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_CD, "SD0_CD"),
261*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_D1, "SD0_D1"),
262*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_UART2_RX, "UART2_RX"),
263*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_UART2_CTS, "UART2_CTS"),
264*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_UART2_TX, "UART2_TX"),
265*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_CLK, "SD0_CLK"),
266*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_D0, "SD0_D0"),
267*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_CMD, "SD0_CMD"),
268*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CLK32K, "CLK32K"),
269*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_UART2_RTS, "UART2_RTS"),
270*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_D3, "SD0_D3"),
271*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_D2, "SD0_D2"),
272*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_UART0_RX, "UART0_RX"),
273*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_UART0_TX, "UART0_TX"),
274*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_JTAG_CPU_TRST, "JTAG_CPU_TRST"),
275*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_ON, "PWR_ON"),
276*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_GPIO2, "PWR_GPIO2"),
277*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_GPIO0, "PWR_GPIO0"),
278*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_CLK25M, "CLK25M"),
279*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SD0_PWR_EN, "SD0_PWR_EN"),
280*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_SPK_EN, "SPK_EN"),
281*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_JTAG_CPU_TCK, "JTAG_CPU_TCK"),
282*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_JTAG_CPU_TMS, "JTAG_CPU_TMS"),
283*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_WAKEUP1, "PWR_WAKEUP1"),
284*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_WAKEUP0, "PWR_WAKEUP0"),
285*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_GPIO1, "PWR_GPIO1"),
286*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_DAT3, "EMMC_DAT3"),
287*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_DAT0, "EMMC_DAT0"),
288*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_DAT2, "EMMC_DAT2"),
289*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_RSTN, "EMMC_RSTN"),
290*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_AUX0, "AUX0"),
291*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_IIC0_SDA, "IIC0_SDA"),
292*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_SEQ3, "PWR_SEQ3"),
293*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_VBAT_DET, "PWR_VBAT_DET"),
294*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_SEQ1, "PWR_SEQ1"),
295*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_BUTTON1, "PWR_BUTTON1"),
296*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_DAT1, "EMMC_DAT1"),
297*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_CMD, "EMMC_CMD"),
298*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_EMMC_CLK, "EMMC_CLK"),
299*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_IIC0_SCL, "IIC0_SCL"),
300*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_GPIO_ZQ, "GPIO_ZQ"),
301*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_RSTN, "PWR_RSTN"),
302*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_PWR_SEQ2, "PWR_SEQ2"),
303*5e91a198SInochi Amaoto PINCTRL_PIN(PIN_XTAL_XIN, "XTAL_XIN"),
304*5e91a198SInochi Amaoto };
305*5e91a198SInochi Amaoto
306*5e91a198SInochi Amaoto static const struct cv1800_pin sg2000_pin_data[ARRAY_SIZE(sg2000_pins)] = {
307*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXM4, VDD18A_MIPI,
308*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
309*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x194, 7,
310*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc60),
311*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX0N, VDD18A_MIPI,
312*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
313*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x18c, 7,
314*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc58),
315*5e91a198SInochi Amaoto CV1800_GENERATE_PIN_MUX2(PIN_MIPIRX3P, VDD18A_MIPI,
316*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
317*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x178, 7,
318*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x118, 7,
319*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc44),
320*5e91a198SInochi Amaoto CV1800_GENERATE_PIN_MUX2(PIN_MIPIRX4P, VDD18A_MIPI,
321*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
322*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x170, 7,
323*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x11c, 7,
324*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc3c),
325*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D2, VDDIO_VIVO,
326*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
327*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x154, 7,
328*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc20),
329*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D3, VDDIO_VIVO,
330*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
331*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x150, 7,
332*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc1c),
333*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D10, VDDIO_VIVO,
334*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
335*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x134, 7,
336*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc00),
337*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_USB_VBUS_DET, VDDIO18_1,
338*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
339*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x108, 5,
340*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x820),
341*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXP3, VDD18A_MIPI,
342*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
343*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1a0, 7,
344*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc6c),
345*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXM3, VDD18A_MIPI,
346*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
347*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x19c, 7,
348*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc68),
349*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXP4, VDD18A_MIPI,
350*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
351*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x198, 7,
352*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc64),
353*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX0P, VDD18A_MIPI,
354*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
355*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x190, 7,
356*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc5c),
357*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX1N, VDD18A_MIPI,
358*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
359*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x184, 7,
360*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc50),
361*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX2N, VDD18A_MIPI,
362*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
363*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x17c, 7,
364*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc48),
365*5e91a198SInochi Amaoto CV1800_GENERATE_PIN_MUX2(PIN_MIPIRX4N, VDD18A_MIPI,
366*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
367*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x16c, 7,
368*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x120, 7,
369*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc38),
370*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX5N, VDD18A_MIPI,
371*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
372*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x164, 7,
373*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc30),
374*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D1, VDDIO_VIVO,
375*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
376*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x158, 7,
377*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc24),
378*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D5, VDDIO_VIVO,
379*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
380*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x148, 7,
381*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc14),
382*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D7, VDDIO_VIVO,
383*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
384*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x140, 7,
385*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc0c),
386*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D9, VDDIO_VIVO,
387*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
388*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x138, 7,
389*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc04),
390*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_USB_ID, VDDIO18_1,
391*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
392*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0fc, 3,
393*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x814),
394*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_ETH_RXM, VDD18A_EPHY,
395*5e91a198SInochi Amaoto IO_TYPE_ETH,
396*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x130, 7),
397*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXP2, VDD18A_MIPI,
398*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
399*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1a8, 7,
400*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc74),
401*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXM2, VDD18A_MIPI,
402*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
403*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1a4, 7,
404*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc70),
405*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CAM_PD0, VDD18A_MIPI,
406*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
407*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x004, 4,
408*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb04),
409*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CAM_MCLK0, VDD18A_MIPI,
410*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
411*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x000, 3,
412*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb00),
413*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX1P, VDD18A_MIPI,
414*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
415*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x188, 7,
416*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc54),
417*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX2P, VDD18A_MIPI,
418*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
419*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x180, 7,
420*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc4c),
421*5e91a198SInochi Amaoto CV1800_GENERATE_PIN_MUX2(PIN_MIPIRX3N, VDD18A_MIPI,
422*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
423*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x174, 7,
424*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x114, 7,
425*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc40),
426*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPIRX5P, VDD18A_MIPI,
427*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
428*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x168, 7,
429*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc34),
430*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_CLK, VDDIO_VIVO,
431*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
432*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x160, 7,
433*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc2c),
434*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D6, VDDIO_VIVO,
435*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
436*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x144, 7,
437*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc10),
438*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D8, VDDIO_VIVO,
439*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
440*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x13c, 7,
441*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc08),
442*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_USB_VBUS_EN, VDDIO18_1,
443*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
444*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x100, 3,
445*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x818),
446*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_ETH_RXP, VDD18A_EPHY,
447*5e91a198SInochi Amaoto IO_TYPE_ETH,
448*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x12c, 7),
449*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_GPIO_RTX, VDDIO18_1,
450*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
451*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1cc, 5,
452*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc8c),
453*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXP1, VDD18A_MIPI,
454*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
455*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1b0, 7,
456*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc7c),
457*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXM1, VDD18A_MIPI,
458*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
459*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1ac, 7,
460*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc78),
461*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CAM_MCLK1, VDD18A_MIPI,
462*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
463*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x00c, 4,
464*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb0c),
465*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_IIC3_SCL, VDD18A_MIPI,
466*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
467*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x014, 3,
468*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb14),
469*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D4, VDDIO_VIVO,
470*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
471*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x14c, 7,
472*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc18),
473*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_ETH_TXM, VDD18A_EPHY,
474*5e91a198SInochi Amaoto IO_TYPE_ETH,
475*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x128, 7),
476*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_ETH_TXP, VDD18A_EPHY,
477*5e91a198SInochi Amaoto IO_TYPE_ETH,
478*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x124, 7),
479*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXP0, VDD18A_MIPI,
480*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
481*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1b8, 7,
482*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc84),
483*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_MIPI_TXM0, VDD18A_MIPI,
484*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
485*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1b4, 7,
486*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc80),
487*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CAM_PD1, VDD18A_MIPI,
488*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
489*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x010, 6,
490*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb10),
491*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CAM_RST0, VDD18A_MIPI,
492*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
493*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x008, 6,
494*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb08),
495*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_VIVO_D0, VDDIO_VIVO,
496*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
497*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x15c, 7,
498*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xc28),
499*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_ADC1, VDDIO18_1,
500*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
501*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0f8, 4,
502*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x810),
503*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_ADC2, VDDIO18_1,
504*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
505*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0f4, 7,
506*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x80c),
507*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_ADC3, VDDIO18_1,
508*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
509*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0f0, 7,
510*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x808),
511*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_AUD_AOUTL, VDD18A_MIPI,
512*5e91a198SInochi Amaoto IO_TYPE_AUDIO,
513*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1c4, 5),
514*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_IIC3_SDA, VDD18A_MIPI,
515*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
516*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x018, 3,
517*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xb18),
518*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD1_D2, VDDIO_SD1,
519*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
520*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0d4, 7,
521*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x05c),
522*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_AUD_AOUTR, VDD18A_MIPI,
523*5e91a198SInochi Amaoto IO_TYPE_AUDIO,
524*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1c8, 6),
525*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD1_D3, VDDIO_SD1,
526*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
527*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0d0, 7,
528*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x058),
529*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD1_CLK, VDDIO_SD1,
530*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
531*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0e4, 7,
532*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x06c),
533*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD1_CMD, VDDIO_SD1,
534*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
535*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0e0, 7,
536*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x068),
537*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_AUD_AINL_MIC, VDD18A_MIPI,
538*5e91a198SInochi Amaoto IO_TYPE_AUDIO,
539*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1bc, 5),
540*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_RSTN, VDDIO18_1,
541*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
542*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0e8, 0,
543*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x800),
544*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWM0_BUCK, VDDIO18_1,
545*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
546*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0ec, 3,
547*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x804),
548*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD1_D1, VDDIO_SD1,
549*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
550*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0d8, 7,
551*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x060),
552*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD1_D0, VDDIO_SD1,
553*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
554*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0dc, 7,
555*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x064),
556*5e91a198SInochi Amaoto CV1800_FUNC_PIN(PIN_AUD_AINR_MIC, VDD18A_MIPI,
557*5e91a198SInochi Amaoto IO_TYPE_AUDIO,
558*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1c0, 6),
559*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_IIC2_SCL, VDDIO_RTC,
560*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
561*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0b8, 7,
562*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x040),
563*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_IIC2_SDA, VDDIO_RTC,
564*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
565*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0bc, 7,
566*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x044),
567*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_CD, VDDIO_EMMC,
568*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
569*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x034, 3,
570*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x900),
571*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_D1, VDDIO_SD0,
572*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
573*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x028, 7,
574*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xa0c),
575*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_UART2_RX, VDDIO_RTC,
576*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
577*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0c8, 7,
578*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x050),
579*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_UART2_CTS, VDDIO_RTC,
580*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
581*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0cc, 7,
582*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x054),
583*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_UART2_TX, VDDIO_RTC,
584*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
585*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0c0, 7,
586*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x048),
587*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_CLK, VDDIO_SD0,
588*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
589*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x01c, 7,
590*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xa00),
591*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_D0, VDDIO_SD0,
592*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
593*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x024, 7,
594*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xa08),
595*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_CMD, VDDIO_SD0,
596*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
597*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x020, 7,
598*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xa04),
599*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CLK32K, VDDIO_RTC,
600*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
601*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0b0, 7,
602*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x038),
603*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_UART2_RTS, VDDIO_RTC,
604*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
605*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0c4, 7,
606*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x04c),
607*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_D3, VDDIO_SD0,
608*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
609*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x030, 7,
610*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xa14),
611*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_D2, VDDIO_SD0,
612*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
613*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x02c, 7,
614*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0xa10),
615*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_UART0_RX, VDDIO_EMMC,
616*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
617*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x044, 7,
618*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x910),
619*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_UART0_TX, VDDIO_EMMC,
620*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
621*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x040, 7,
622*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x90c),
623*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_JTAG_CPU_TRST, VDDIO_EMMC,
624*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
625*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x06c, 6,
626*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x938),
627*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_ON, VDDIO_RTC,
628*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
629*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x09c, 7,
630*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x024),
631*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_GPIO2, VDDIO_RTC,
632*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
633*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0ac, 7,
634*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x034),
635*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_GPIO0, VDDIO_RTC,
636*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
637*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0a4, 4,
638*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x02c),
639*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_CLK25M, VDDIO_RTC,
640*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
641*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0b4, 7,
642*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x03c),
643*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SD0_PWR_EN, VDDIO_EMMC,
644*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
645*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x038, 3,
646*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x904),
647*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_SPK_EN, VDDIO_EMMC,
648*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
649*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x03c, 3,
650*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x908),
651*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_JTAG_CPU_TCK, VDDIO_EMMC,
652*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
653*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x068, 7,
654*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x934),
655*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_JTAG_CPU_TMS, VDDIO_EMMC,
656*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
657*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x064, 7,
658*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x930),
659*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_WAKEUP1, VDDIO_RTC,
660*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
661*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x094, 7,
662*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x01c),
663*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_WAKEUP0, VDDIO_RTC,
664*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
665*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x090, 7,
666*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x018),
667*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_GPIO1, VDDIO_RTC,
668*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
669*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0a8, 7,
670*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x030),
671*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_DAT3, VDDIO_EMMC,
672*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
673*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x058, 3,
674*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x924),
675*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_DAT0, VDDIO_EMMC,
676*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
677*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x054, 3,
678*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x920),
679*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_DAT2, VDDIO_EMMC,
680*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
681*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x04c, 3,
682*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x918),
683*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_RSTN, VDDIO_EMMC,
684*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
685*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x048, 4,
686*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x914),
687*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_AUX0, VDDIO_EMMC,
688*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
689*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x078, 7,
690*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x944),
691*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_IIC0_SDA, VDDIO_EMMC,
692*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
693*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x074, 7,
694*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x940),
695*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_SEQ3, VDDIO_RTC,
696*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
697*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x08c, 3,
698*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x010),
699*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_VBAT_DET, VDDIO_RTC,
700*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
701*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x07c, 0,
702*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x000),
703*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_SEQ1, VDDIO_RTC,
704*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
705*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x084, 3,
706*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x008),
707*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_BUTTON1, VDDIO_RTC,
708*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
709*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x098, 7,
710*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x020),
711*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_DAT1, VDDIO_EMMC,
712*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
713*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x060, 3,
714*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x92c),
715*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_CMD, VDDIO_EMMC,
716*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
717*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x05c, 3,
718*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x928),
719*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_EMMC_CLK, VDDIO_EMMC,
720*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
721*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x050, 3,
722*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x91c),
723*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_IIC0_SCL, VDDIO_EMMC,
724*5e91a198SInochi Amaoto IO_TYPE_1V8_OR_3V3,
725*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x070, 7,
726*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x93c),
727*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_GPIO_ZQ, VDDIO_RTC,
728*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
729*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x1d0, 4,
730*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x0e0),
731*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_RSTN, VDDIO_RTC,
732*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
733*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x080, 0,
734*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x004),
735*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_PWR_SEQ2, VDDIO_RTC,
736*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
737*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x088, 3,
738*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x00c),
739*5e91a198SInochi Amaoto CV1800_GENERAL_PIN(PIN_XTAL_XIN, VDDIO_RTC,
740*5e91a198SInochi Amaoto IO_TYPE_1V8_ONLY,
741*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_SYS, 0x0a0, 0,
742*5e91a198SInochi Amaoto CV1800_PINCONF_AREA_RTC, 0x028),
743*5e91a198SInochi Amaoto };
744*5e91a198SInochi Amaoto
745*5e91a198SInochi Amaoto static const struct cv1800_pinctrl_data sg2000_pindata = {
746*5e91a198SInochi Amaoto .pins = sg2000_pins,
747*5e91a198SInochi Amaoto .pindata = sg2000_pin_data,
748*5e91a198SInochi Amaoto .pdnames = sg2000_power_domain_desc,
749*5e91a198SInochi Amaoto .vddio_ops = &sg2000_vddio_cfg_ops,
750*5e91a198SInochi Amaoto .npins = ARRAY_SIZE(sg2000_pins),
751*5e91a198SInochi Amaoto .npd = ARRAY_SIZE(sg2000_power_domain_desc),
752*5e91a198SInochi Amaoto };
753*5e91a198SInochi Amaoto
754*5e91a198SInochi Amaoto static const struct of_device_id sg2000_pinctrl_ids[] = {
755*5e91a198SInochi Amaoto { .compatible = "sophgo,sg2000-pinctrl", .data = &sg2000_pindata },
756*5e91a198SInochi Amaoto { }
757*5e91a198SInochi Amaoto };
758*5e91a198SInochi Amaoto MODULE_DEVICE_TABLE(of, sg2000_pinctrl_ids);
759*5e91a198SInochi Amaoto
760*5e91a198SInochi Amaoto static struct platform_driver sg2000_pinctrl_driver = {
761*5e91a198SInochi Amaoto .probe = cv1800_pinctrl_probe,
762*5e91a198SInochi Amaoto .driver = {
763*5e91a198SInochi Amaoto .name = "sg2000-pinctrl",
764*5e91a198SInochi Amaoto .suppress_bind_attrs = true,
765*5e91a198SInochi Amaoto .of_match_table = sg2000_pinctrl_ids,
766*5e91a198SInochi Amaoto },
767*5e91a198SInochi Amaoto };
768*5e91a198SInochi Amaoto module_platform_driver(sg2000_pinctrl_driver);
769*5e91a198SInochi Amaoto
770*5e91a198SInochi Amaoto MODULE_DESCRIPTION("Pinctrl driver for the SG2000 series SoC");
771*5e91a198SInochi Amaoto MODULE_LICENSE("GPL");
772