xref: /OK3568_Linux_fs/kernel/arch/arm/boot/dts/rk3288-veyron-jaq.dts (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2*4882a593Smuzhiyun/*
3*4882a593Smuzhiyun * Google Veyron Jaq Rev 1+ board device tree source
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * Copyright 2015 Google, Inc
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun/dts-v1/;
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun#include "rk3288-veyron-chromebook.dtsi"
11*4882a593Smuzhiyun#include "cros-ec-sbs.dtsi"
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/ {
14*4882a593Smuzhiyun	model = "Google Jaq";
15*4882a593Smuzhiyun	compatible = "google,veyron-jaq-rev5", "google,veyron-jaq-rev4",
16*4882a593Smuzhiyun		     "google,veyron-jaq-rev3", "google,veyron-jaq-rev2",
17*4882a593Smuzhiyun		     "google,veyron-jaq-rev1", "google,veyron-jaq",
18*4882a593Smuzhiyun		     "google,veyron", "rockchip,rk3288";
19*4882a593Smuzhiyun};
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun&backlight {
22*4882a593Smuzhiyun	/* Jaq panel PWM must be >= 3%, so start non-zero brightness at 8 */
23*4882a593Smuzhiyun	brightness-levels = <0 8 255>;
24*4882a593Smuzhiyun	num-interpolated-steps = <247>;
25*4882a593Smuzhiyun};
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun&rk808 {
28*4882a593Smuzhiyun	pinctrl-names = "default";
29*4882a593Smuzhiyun	pinctrl-0 = <&pmic_int_l &dvs_1 &dvs_2>;
30*4882a593Smuzhiyun	dvs-gpios = <&gpio7 RK_PB4 GPIO_ACTIVE_HIGH>,
31*4882a593Smuzhiyun		    <&gpio7 RK_PB7 GPIO_ACTIVE_HIGH>;
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	regulators {
34*4882a593Smuzhiyun		mic_vcc: LDO_REG2 {
35*4882a593Smuzhiyun			regulator-name = "mic_vcc";
36*4882a593Smuzhiyun			regulator-always-on;
37*4882a593Smuzhiyun			regulator-boot-on;
38*4882a593Smuzhiyun			regulator-min-microvolt = <1800000>;
39*4882a593Smuzhiyun			regulator-max-microvolt = <1800000>;
40*4882a593Smuzhiyun			regulator-state-mem {
41*4882a593Smuzhiyun				regulator-off-in-suspend;
42*4882a593Smuzhiyun			};
43*4882a593Smuzhiyun		};
44*4882a593Smuzhiyun	};
45*4882a593Smuzhiyun};
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun&sdio0 {
48*4882a593Smuzhiyun	#address-cells = <1>;
49*4882a593Smuzhiyun	#size-cells = <0>;
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	btmrvl: btmrvl@2 {
52*4882a593Smuzhiyun		compatible = "marvell,sd8897-bt";
53*4882a593Smuzhiyun		reg = <2>;
54*4882a593Smuzhiyun		interrupt-parent = <&gpio4>;
55*4882a593Smuzhiyun		interrupts = <RK_PD7 IRQ_TYPE_LEVEL_LOW>;
56*4882a593Smuzhiyun		marvell,wakeup-pin = /bits/ 16 <13>;
57*4882a593Smuzhiyun		pinctrl-names = "default";
58*4882a593Smuzhiyun		pinctrl-0 = <&bt_host_wake_l>;
59*4882a593Smuzhiyun	};
60*4882a593Smuzhiyun};
61*4882a593Smuzhiyun
62*4882a593Smuzhiyun&sdmmc {
63*4882a593Smuzhiyun	disable-wp;
64*4882a593Smuzhiyun	pinctrl-names = "default";
65*4882a593Smuzhiyun	pinctrl-0 = <&sdmmc_clk &sdmmc_cmd &sdmmc_cd_disabled &sdmmc_cd_pin
66*4882a593Smuzhiyun			&sdmmc_bus4>;
67*4882a593Smuzhiyun};
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun&vcc_5v {
70*4882a593Smuzhiyun	enable-active-high;
71*4882a593Smuzhiyun	gpio = <&gpio7 RK_PC5 GPIO_ACTIVE_HIGH>;
72*4882a593Smuzhiyun	pinctrl-names = "default";
73*4882a593Smuzhiyun	pinctrl-0 = <&drv_5v>;
74*4882a593Smuzhiyun};
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun&vcc50_hdmi {
77*4882a593Smuzhiyun	enable-active-high;
78*4882a593Smuzhiyun	gpio = <&gpio5 RK_PC3 GPIO_ACTIVE_HIGH>;
79*4882a593Smuzhiyun	pinctrl-names = "default";
80*4882a593Smuzhiyun	pinctrl-0 = <&vcc50_hdmi_en>;
81*4882a593Smuzhiyun};
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun&gpio0 {
84*4882a593Smuzhiyun	gpio-line-names = "PMIC_SLEEP_AP",
85*4882a593Smuzhiyun			  "DDRIO_PWROFF",
86*4882a593Smuzhiyun			  "DDRIO_RETEN",
87*4882a593Smuzhiyun			  "TS3A227E_INT_L",
88*4882a593Smuzhiyun			  "PMIC_INT_L",
89*4882a593Smuzhiyun			  "PWR_KEY_L",
90*4882a593Smuzhiyun			  "AP_LID_INT_L",
91*4882a593Smuzhiyun			  "EC_IN_RW",
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun			  "AC_PRESENT_AP",
94*4882a593Smuzhiyun			  /*
95*4882a593Smuzhiyun			   * RECOVERY_SW_L is Chrome OS ABI.  Schematics call
96*4882a593Smuzhiyun			   * it REC_MODE_L.
97*4882a593Smuzhiyun			   */
98*4882a593Smuzhiyun			  "RECOVERY_SW_L",
99*4882a593Smuzhiyun			  "OTP_OUT",
100*4882a593Smuzhiyun			  "HOST1_PWR_EN",
101*4882a593Smuzhiyun			  "USBOTG_PWREN_H",
102*4882a593Smuzhiyun			  "AP_WARM_RESET_H",
103*4882a593Smuzhiyun			  "nFALUT2",
104*4882a593Smuzhiyun			  "I2C0_SDA_PMIC",
105*4882a593Smuzhiyun
106*4882a593Smuzhiyun			  "I2C0_SCL_PMIC",
107*4882a593Smuzhiyun			  "SUSPEND_L",
108*4882a593Smuzhiyun			  "USB_INT";
109*4882a593Smuzhiyun};
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun&gpio2 {
112*4882a593Smuzhiyun	gpio-line-names = "CONFIG0",
113*4882a593Smuzhiyun			  "CONFIG1",
114*4882a593Smuzhiyun			  "CONFIG2",
115*4882a593Smuzhiyun			  "",
116*4882a593Smuzhiyun			  "",
117*4882a593Smuzhiyun			  "",
118*4882a593Smuzhiyun			  "",
119*4882a593Smuzhiyun			  "CONFIG3",
120*4882a593Smuzhiyun
121*4882a593Smuzhiyun			  "",
122*4882a593Smuzhiyun			  "EMMC_RST_L",
123*4882a593Smuzhiyun			  "",
124*4882a593Smuzhiyun			  "",
125*4882a593Smuzhiyun			  "BL_PWR_EN",
126*4882a593Smuzhiyun			  "AVDD_1V8_DISP_EN";
127*4882a593Smuzhiyun};
128*4882a593Smuzhiyun
129*4882a593Smuzhiyun&gpio3 {
130*4882a593Smuzhiyun	gpio-line-names = "FLASH0_D0",
131*4882a593Smuzhiyun			  "FLASH0_D1",
132*4882a593Smuzhiyun			  "FLASH0_D2",
133*4882a593Smuzhiyun			  "FLASH0_D3",
134*4882a593Smuzhiyun			  "FLASH0_D4",
135*4882a593Smuzhiyun			  "FLASH0_D5",
136*4882a593Smuzhiyun			  "FLASH0_D6",
137*4882a593Smuzhiyun			  "FLASH0_D7",
138*4882a593Smuzhiyun
139*4882a593Smuzhiyun			  "",
140*4882a593Smuzhiyun			  "",
141*4882a593Smuzhiyun			  "",
142*4882a593Smuzhiyun			  "",
143*4882a593Smuzhiyun			  "",
144*4882a593Smuzhiyun			  "",
145*4882a593Smuzhiyun			  "",
146*4882a593Smuzhiyun			  "",
147*4882a593Smuzhiyun
148*4882a593Smuzhiyun			  "FLASH0_CS2/EMMC_CMD",
149*4882a593Smuzhiyun			  "",
150*4882a593Smuzhiyun			  "FLASH0_DQS/EMMC_CLKO";
151*4882a593Smuzhiyun};
152*4882a593Smuzhiyun
153*4882a593Smuzhiyun&gpio4 {
154*4882a593Smuzhiyun	gpio-line-names = "",
155*4882a593Smuzhiyun			  "",
156*4882a593Smuzhiyun			  "",
157*4882a593Smuzhiyun			  "",
158*4882a593Smuzhiyun			  "",
159*4882a593Smuzhiyun			  "",
160*4882a593Smuzhiyun			  "",
161*4882a593Smuzhiyun			  "",
162*4882a593Smuzhiyun
163*4882a593Smuzhiyun			  "",
164*4882a593Smuzhiyun			  "",
165*4882a593Smuzhiyun			  "",
166*4882a593Smuzhiyun			  "",
167*4882a593Smuzhiyun			  "",
168*4882a593Smuzhiyun			  "",
169*4882a593Smuzhiyun			  "",
170*4882a593Smuzhiyun			  "",
171*4882a593Smuzhiyun
172*4882a593Smuzhiyun			  "UART0_RXD",
173*4882a593Smuzhiyun			  "UART0_TXD",
174*4882a593Smuzhiyun			  "UART0_CTS",
175*4882a593Smuzhiyun			  "UART0_RTS",
176*4882a593Smuzhiyun			  "SDIO0_D0",
177*4882a593Smuzhiyun			  "SDIO0_D1",
178*4882a593Smuzhiyun			  "SDIO0_D2",
179*4882a593Smuzhiyun			  "SDIO0_D3",
180*4882a593Smuzhiyun
181*4882a593Smuzhiyun			  "SDIO0_CMD",
182*4882a593Smuzhiyun			  "SDIO0_CLK",
183*4882a593Smuzhiyun			  "BT_DEV_WAKE",	/* Maybe missing from mighty? */
184*4882a593Smuzhiyun			  "",
185*4882a593Smuzhiyun			  "WIFI_ENABLE_H",
186*4882a593Smuzhiyun			  "BT_ENABLE_L",
187*4882a593Smuzhiyun			  "WIFI_HOST_WAKE",
188*4882a593Smuzhiyun			  "BT_HOST_WAKE";
189*4882a593Smuzhiyun};
190*4882a593Smuzhiyun
191*4882a593Smuzhiyun&gpio5 {
192*4882a593Smuzhiyun	gpio-line-names = "",
193*4882a593Smuzhiyun			  "",
194*4882a593Smuzhiyun			  "",
195*4882a593Smuzhiyun			  "",
196*4882a593Smuzhiyun			  "",
197*4882a593Smuzhiyun			  "",
198*4882a593Smuzhiyun			  "",
199*4882a593Smuzhiyun			  "",
200*4882a593Smuzhiyun
201*4882a593Smuzhiyun			  "",
202*4882a593Smuzhiyun			  "",
203*4882a593Smuzhiyun			  "",
204*4882a593Smuzhiyun			  "",
205*4882a593Smuzhiyun			  "SPI0_CLK",
206*4882a593Smuzhiyun			  "SPI0_CS0",
207*4882a593Smuzhiyun			  "SPI0_TXD",
208*4882a593Smuzhiyun			  "SPI0_RXD",
209*4882a593Smuzhiyun
210*4882a593Smuzhiyun			  "",
211*4882a593Smuzhiyun			  "",
212*4882a593Smuzhiyun			  "",
213*4882a593Smuzhiyun			  "VCC50_HDMI_EN";
214*4882a593Smuzhiyun};
215*4882a593Smuzhiyun
216*4882a593Smuzhiyun&gpio6 {
217*4882a593Smuzhiyun	gpio-line-names = "I2S0_SCLK",
218*4882a593Smuzhiyun			  "I2S0_LRCK_RX",
219*4882a593Smuzhiyun			  "I2S0_LRCK_TX",
220*4882a593Smuzhiyun			  "I2S0_SDI",
221*4882a593Smuzhiyun			  "I2S0_SDO0",
222*4882a593Smuzhiyun			  "HP_DET_H",
223*4882a593Smuzhiyun			  "ALS_INT",
224*4882a593Smuzhiyun			  "INT_CODEC",
225*4882a593Smuzhiyun
226*4882a593Smuzhiyun			  "I2S0_CLK",
227*4882a593Smuzhiyun			  "I2C2_SDA",
228*4882a593Smuzhiyun			  "I2C2_SCL",
229*4882a593Smuzhiyun			  "MICDET",
230*4882a593Smuzhiyun			  "",
231*4882a593Smuzhiyun			  "",
232*4882a593Smuzhiyun			  "",
233*4882a593Smuzhiyun			  "",
234*4882a593Smuzhiyun
235*4882a593Smuzhiyun			  "SDMMC_D0",
236*4882a593Smuzhiyun			  "SDMMC_D1",
237*4882a593Smuzhiyun			  "SDMMC_D2",
238*4882a593Smuzhiyun			  "SDMMC_D3",
239*4882a593Smuzhiyun			  "SDMMC_CLK",
240*4882a593Smuzhiyun			  "SDMMC_CMD";
241*4882a593Smuzhiyun};
242*4882a593Smuzhiyun
243*4882a593Smuzhiyun&gpio7 {
244*4882a593Smuzhiyun	gpio-line-names = "LCDC_BL",
245*4882a593Smuzhiyun			  "PWM_LOG",
246*4882a593Smuzhiyun			  "BL_EN",
247*4882a593Smuzhiyun			  "TRACKPAD_INT",
248*4882a593Smuzhiyun			  "TPM_INT_H",
249*4882a593Smuzhiyun			  "SDMMC_DET_L",
250*4882a593Smuzhiyun			  /*
251*4882a593Smuzhiyun			   * AP_FLASH_WP_L is Chrome OS ABI.  Schematics call
252*4882a593Smuzhiyun			   * it FW_WP_AP.
253*4882a593Smuzhiyun			   */
254*4882a593Smuzhiyun			  "AP_FLASH_WP_L",
255*4882a593Smuzhiyun			  "EC_INT",
256*4882a593Smuzhiyun
257*4882a593Smuzhiyun			  "CPU_NMI",
258*4882a593Smuzhiyun			  "DVSOK",
259*4882a593Smuzhiyun			  "SDMMC_WP",		/* mighty only */
260*4882a593Smuzhiyun			  "EDP_HPD",
261*4882a593Smuzhiyun			  "DVS1",
262*4882a593Smuzhiyun			  "nFALUT1",		/* nFAULT1 on jaq */
263*4882a593Smuzhiyun			  "LCD_EN",
264*4882a593Smuzhiyun			  "DVS2",
265*4882a593Smuzhiyun
266*4882a593Smuzhiyun			  "VCC5V_GOOD_H",
267*4882a593Smuzhiyun			  "I2C4_SDA_TP",
268*4882a593Smuzhiyun			  "I2C4_SCL_TP",
269*4882a593Smuzhiyun			  "I2C5_SDA_HDMI",
270*4882a593Smuzhiyun			  "I2C5_SCL_HDMI",
271*4882a593Smuzhiyun			  "5V_DRV",
272*4882a593Smuzhiyun			  "UART2_RXD",
273*4882a593Smuzhiyun			  "UART2_TXD";
274*4882a593Smuzhiyun};
275*4882a593Smuzhiyun
276*4882a593Smuzhiyun&gpio8 {
277*4882a593Smuzhiyun	gpio-line-names = "RAM_ID0",
278*4882a593Smuzhiyun			  "RAM_ID1",
279*4882a593Smuzhiyun			  "RAM_ID2",
280*4882a593Smuzhiyun			  "RAM_ID3",
281*4882a593Smuzhiyun			  "I2C1_SDA_TPM",
282*4882a593Smuzhiyun			  "I2C1_SCL_TPM",
283*4882a593Smuzhiyun			  "SPI2_CLK",
284*4882a593Smuzhiyun			  "SPI2_CS0",
285*4882a593Smuzhiyun
286*4882a593Smuzhiyun			  "SPI2_RXD",
287*4882a593Smuzhiyun			  "SPI2_TXD";
288*4882a593Smuzhiyun};
289*4882a593Smuzhiyun
290*4882a593Smuzhiyun&pinctrl {
291*4882a593Smuzhiyun	pinctrl-names = "default", "sleep";
292*4882a593Smuzhiyun	pinctrl-0 = <
293*4882a593Smuzhiyun		/* Common for sleep and wake, but no owners */
294*4882a593Smuzhiyun		&ddr0_retention
295*4882a593Smuzhiyun		&ddrio_pwroff
296*4882a593Smuzhiyun		&global_pwroff
297*4882a593Smuzhiyun
298*4882a593Smuzhiyun		/* Wake only */
299*4882a593Smuzhiyun		&suspend_l_wake
300*4882a593Smuzhiyun		&bt_dev_wake_awake
301*4882a593Smuzhiyun	>;
302*4882a593Smuzhiyun	pinctrl-1 = <
303*4882a593Smuzhiyun		/* Common for sleep and wake, but no owners */
304*4882a593Smuzhiyun		&ddr0_retention
305*4882a593Smuzhiyun		&ddrio_pwroff
306*4882a593Smuzhiyun		&global_pwroff
307*4882a593Smuzhiyun
308*4882a593Smuzhiyun		/* Sleep only */
309*4882a593Smuzhiyun		&suspend_l_sleep
310*4882a593Smuzhiyun		&bt_dev_wake_sleep
311*4882a593Smuzhiyun	>;
312*4882a593Smuzhiyun
313*4882a593Smuzhiyun	buck-5v {
314*4882a593Smuzhiyun		drv_5v: drv-5v {
315*4882a593Smuzhiyun			rockchip,pins = <7 RK_PC5 RK_FUNC_GPIO &pcfg_pull_none>;
316*4882a593Smuzhiyun		};
317*4882a593Smuzhiyun	};
318*4882a593Smuzhiyun
319*4882a593Smuzhiyun	hdmi {
320*4882a593Smuzhiyun		vcc50_hdmi_en: vcc50-hdmi-en {
321*4882a593Smuzhiyun			rockchip,pins = <5 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>;
322*4882a593Smuzhiyun		};
323*4882a593Smuzhiyun	};
324*4882a593Smuzhiyun
325*4882a593Smuzhiyun	pmic {
326*4882a593Smuzhiyun		dvs_1: dvs-1 {
327*4882a593Smuzhiyun			rockchip,pins = <7 RK_PB4 RK_FUNC_GPIO &pcfg_pull_down>;
328*4882a593Smuzhiyun		};
329*4882a593Smuzhiyun
330*4882a593Smuzhiyun		dvs_2: dvs-2 {
331*4882a593Smuzhiyun			rockchip,pins = <7 RK_PB7 RK_FUNC_GPIO &pcfg_pull_down>;
332*4882a593Smuzhiyun		};
333*4882a593Smuzhiyun	};
334*4882a593Smuzhiyun};
335