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