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