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