xref: /openbmc/u-boot/arch/arm/dts/rk3368-sheep.dts (revision 6333a3ba)
1e2901ab8SAndy Yan/*
2e2901ab8SAndy Yan * (C) Copyright 2017 Rockchip Electronics Co., Ltd
3e2901ab8SAndy Yan *
4e2901ab8SAndy Yan * SPDX-License-Identifier:     GPL-2.0+
5e2901ab8SAndy Yan */
6e2901ab8SAndy Yan
7e2901ab8SAndy Yan/dts-v1/;
8e2901ab8SAndy Yan#include "rk3368.dtsi"
9e2901ab8SAndy Yan#include <dt-bindings/input/input.h>
10e2901ab8SAndy Yan
11e2901ab8SAndy Yan/ {
12e2901ab8SAndy Yan	model = "Rockchip sheep board";
13e2901ab8SAndy Yan	compatible = "rockchip,sheep", "rockchip,rk3368";
14e2901ab8SAndy Yan
15e2901ab8SAndy Yan	chosen {
16e2901ab8SAndy Yan		stdout-path = "serial2:115200n8";
17e2901ab8SAndy Yan	};
18e2901ab8SAndy Yan
19e2901ab8SAndy Yan	memory@0 {
20e2901ab8SAndy Yan		device_type = "memory";
21e2901ab8SAndy Yan		reg = <0x0 0x0 0x0 0x80000000>;
22e2901ab8SAndy Yan	};
23e2901ab8SAndy Yan
24e2901ab8SAndy Yan	ext_gmac: gmac-clk {
25e2901ab8SAndy Yan		compatible = "fixed-clock";
26e2901ab8SAndy Yan		clock-frequency = <125000000>;
27e2901ab8SAndy Yan		clock-output-names = "ext_gmac";
28e2901ab8SAndy Yan		#clock-cells = <0>;
29e2901ab8SAndy Yan	};
30e2901ab8SAndy Yan
31e2901ab8SAndy Yan	ir: ir-receiver {
32e2901ab8SAndy Yan		compatible = "gpio-ir-receiver";
33e2901ab8SAndy Yan		gpios = <&gpio3 30 GPIO_ACTIVE_LOW>;
34e2901ab8SAndy Yan		pinctrl-names = "default";
35e2901ab8SAndy Yan		pinctrl-0 = <&ir_int>;
36e2901ab8SAndy Yan	};
37e2901ab8SAndy Yan
38e2901ab8SAndy Yan	keys: gpio-keys {
39e2901ab8SAndy Yan		compatible = "gpio-keys";
40e2901ab8SAndy Yan		pinctrl-names = "default";
41e2901ab8SAndy Yan		pinctrl-0 = <&pwr_key>;
42e2901ab8SAndy Yan
43e2901ab8SAndy Yan		power {
44e2901ab8SAndy Yan			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
45e2901ab8SAndy Yan			label = "GPIO Power";
46e2901ab8SAndy Yan			linux,code = <KEY_POWER>;
47e2901ab8SAndy Yan			wakeup-source;
48e2901ab8SAndy Yan		};
49e2901ab8SAndy Yan	};
50e2901ab8SAndy Yan
51e2901ab8SAndy Yan	leds: gpio-leds {
52e2901ab8SAndy Yan		compatible = "gpio-leds";
53e2901ab8SAndy Yan
54e2901ab8SAndy Yan		blue {
55e2901ab8SAndy Yan			gpios = <&gpio2 2 GPIO_ACTIVE_HIGH>;
56e2901ab8SAndy Yan			label = "geekbox:blue:led";
57e2901ab8SAndy Yan			default-state = "on";
58e2901ab8SAndy Yan		};
59e2901ab8SAndy Yan
60e2901ab8SAndy Yan		red {
61e2901ab8SAndy Yan			gpios = <&gpio2 3 GPIO_ACTIVE_HIGH>;
62e2901ab8SAndy Yan			label = "geekbox:red:led";
63e2901ab8SAndy Yan			default-state = "off";
64e2901ab8SAndy Yan		};
65e2901ab8SAndy Yan	};
66e2901ab8SAndy Yan
67e2901ab8SAndy Yan	vcc_sys: vcc-sys-regulator {
68e2901ab8SAndy Yan		compatible = "regulator-fixed";
69e2901ab8SAndy Yan		regulator-name = "vcc_sys";
70e2901ab8SAndy Yan		regulator-min-microvolt = <5000000>;
71e2901ab8SAndy Yan		regulator-max-microvolt = <5000000>;
72e2901ab8SAndy Yan		regulator-always-on;
73e2901ab8SAndy Yan		regulator-boot-on;
74e2901ab8SAndy Yan	};
75e2901ab8SAndy Yan};
76e2901ab8SAndy Yan
77e2901ab8SAndy Yan&emmc {
78e2901ab8SAndy Yan	status = "okay";
79e2901ab8SAndy Yan	bus-width = <8>;
80e2901ab8SAndy Yan	cap-mmc-highspeed;
81e2901ab8SAndy Yan	clock-frequency = <150000000>;
82e2901ab8SAndy Yan	disable-wp;
83e2901ab8SAndy Yan	keep-power-in-suspend;
84e2901ab8SAndy Yan	non-removable;
85e2901ab8SAndy Yan	num-slots = <1>;
86e2901ab8SAndy Yan	vmmc-supply = <&vcc_io>;
87e2901ab8SAndy Yan	vqmmc-supply = <&vcc18_flash>;
88e2901ab8SAndy Yan	pinctrl-names = "default";
89e2901ab8SAndy Yan	pinctrl-0 = <&emmc_clk>, <&emmc_cmd>, <&emmc_bus8>;
90e2901ab8SAndy Yan};
91e2901ab8SAndy Yan
92e2901ab8SAndy Yan&gmac {
93e2901ab8SAndy Yan	status = "okay";
94e2901ab8SAndy Yan	phy-supply = <&vcc_lan>;
95e2901ab8SAndy Yan	phy-mode = "rgmii";
96e2901ab8SAndy Yan	clock_in_out = "input";
97e2901ab8SAndy Yan	assigned-clocks = <&cru SCLK_MAC>;
98e2901ab8SAndy Yan	assigned-clock-parents = <&ext_gmac>;
99e2901ab8SAndy Yan	pinctrl-names = "default";
100e2901ab8SAndy Yan	pinctrl-0 = <&rgmii_pins>;
101e2901ab8SAndy Yan	tx_delay = <0x30>;
102e2901ab8SAndy Yan	rx_delay = <0x10>;
103e2901ab8SAndy Yan};
104e2901ab8SAndy Yan
105e2901ab8SAndy Yan&i2c0 {
106e2901ab8SAndy Yan	status = "okay";
107e2901ab8SAndy Yan
108e2901ab8SAndy Yan	rk808: pmic@1b {
109e2901ab8SAndy Yan		compatible = "rockchip,rk808";
110e2901ab8SAndy Yan		reg = <0x1b>;
111e2901ab8SAndy Yan		pinctrl-names = "default";
112e2901ab8SAndy Yan		pinctrl-0 = <&pmic_int>, <&pmic_sleep>;
113e2901ab8SAndy Yan		interrupt-parent = <&gpio0>;
114e2901ab8SAndy Yan		interrupts = <5 IRQ_TYPE_LEVEL_LOW>;
115e2901ab8SAndy Yan		rockchip,system-power-controller;
116e2901ab8SAndy Yan		vcc1-supply = <&vcc_sys>;
117e2901ab8SAndy Yan		vcc2-supply = <&vcc_sys>;
118e2901ab8SAndy Yan		vcc3-supply = <&vcc_sys>;
119e2901ab8SAndy Yan		vcc4-supply = <&vcc_sys>;
120e2901ab8SAndy Yan		vcc6-supply = <&vcc_sys>;
121e2901ab8SAndy Yan		vcc7-supply = <&vcc_sys>;
122e2901ab8SAndy Yan		vcc8-supply = <&vcc_io>;
123e2901ab8SAndy Yan		vcc9-supply = <&vcc_sys>;
124e2901ab8SAndy Yan		vcc10-supply = <&vcc_sys>;
125e2901ab8SAndy Yan		vcc11-supply = <&vcc_sys>;
126e2901ab8SAndy Yan		vcc12-supply = <&vcc_io>;
127e2901ab8SAndy Yan		clock-output-names = "xin32k", "rk808-clkout2";
128e2901ab8SAndy Yan		#clock-cells = <1>;
129e2901ab8SAndy Yan
130e2901ab8SAndy Yan		regulators {
131e2901ab8SAndy Yan			vdd_cpu: DCDC_REG1 {
132e2901ab8SAndy Yan				regulator-always-on;
133e2901ab8SAndy Yan				regulator-boot-on;
134e2901ab8SAndy Yan				regulator-min-microvolt = <700000>;
135e2901ab8SAndy Yan				regulator-max-microvolt = <1500000>;
136e2901ab8SAndy Yan				regulator-name = "vdd_cpu";
137e2901ab8SAndy Yan			};
138e2901ab8SAndy Yan
139e2901ab8SAndy Yan			vdd_log: DCDC_REG2 {
140e2901ab8SAndy Yan				regulator-always-on;
141e2901ab8SAndy Yan				regulator-boot-on;
142e2901ab8SAndy Yan				regulator-min-microvolt = <700000>;
143e2901ab8SAndy Yan				regulator-max-microvolt = <1500000>;
144e2901ab8SAndy Yan				regulator-name = "vdd_log";
145e2901ab8SAndy Yan			};
146e2901ab8SAndy Yan
147e2901ab8SAndy Yan			vcc_ddr: DCDC_REG3 {
148e2901ab8SAndy Yan				regulator-always-on;
149e2901ab8SAndy Yan				regulator-boot-on;
150e2901ab8SAndy Yan				regulator-name = "vcc_ddr";
151e2901ab8SAndy Yan			};
152e2901ab8SAndy Yan
153e2901ab8SAndy Yan			vcc_io: DCDC_REG4 {
154e2901ab8SAndy Yan				regulator-always-on;
155e2901ab8SAndy Yan				regulator-boot-on;
156e2901ab8SAndy Yan				regulator-min-microvolt = <3300000>;
157e2901ab8SAndy Yan				regulator-max-microvolt = <3300000>;
158e2901ab8SAndy Yan				regulator-name = "vcc_io";
159e2901ab8SAndy Yan			};
160e2901ab8SAndy Yan
161e2901ab8SAndy Yan			vcc18_flash: LDO_REG1 {
162e2901ab8SAndy Yan				regulator-always-on;
163e2901ab8SAndy Yan				regulator-boot-on;
164e2901ab8SAndy Yan				regulator-min-microvolt = <1800000>;
165e2901ab8SAndy Yan				regulator-max-microvolt = <1800000>;
166e2901ab8SAndy Yan				regulator-name = "vcc18_flash";
167e2901ab8SAndy Yan			};
168e2901ab8SAndy Yan
169e2901ab8SAndy Yan			vcc33_lcd: LDO_REG2 {
170e2901ab8SAndy Yan				regulator-always-on;
171e2901ab8SAndy Yan				regulator-boot-on;
172e2901ab8SAndy Yan				regulator-min-microvolt = <3300000>;
173e2901ab8SAndy Yan				regulator-max-microvolt = <3300000>;
174e2901ab8SAndy Yan				regulator-name = "vcc33_lcd";
175e2901ab8SAndy Yan			};
176e2901ab8SAndy Yan
177e2901ab8SAndy Yan			vdd_10: LDO_REG3 {
178e2901ab8SAndy Yan				regulator-always-on;
179e2901ab8SAndy Yan				regulator-boot-on;
180e2901ab8SAndy Yan				regulator-min-microvolt = <1000000>;
181e2901ab8SAndy Yan				regulator-max-microvolt = <1000000>;
182e2901ab8SAndy Yan				regulator-name = "vdd_10";
183e2901ab8SAndy Yan			};
184e2901ab8SAndy Yan
185e2901ab8SAndy Yan			vcca_18: LDO_REG4 {
186e2901ab8SAndy Yan				regulator-boot-on;
187e2901ab8SAndy Yan				regulator-min-microvolt = <1800000>;
188e2901ab8SAndy Yan				regulator-max-microvolt = <1800000>;
189e2901ab8SAndy Yan				regulator-name = "vcca_18";
190e2901ab8SAndy Yan			};
191e2901ab8SAndy Yan
192e2901ab8SAndy Yan			vccio_sd: LDO_REG5 {
193e2901ab8SAndy Yan				regulator-always-on;
194e2901ab8SAndy Yan				regulator-boot-on;
195e2901ab8SAndy Yan				regulator-min-microvolt = <1800000>;
196e2901ab8SAndy Yan				regulator-max-microvolt = <3300000>;
197e2901ab8SAndy Yan				regulator-name = "vccio_sd";
198e2901ab8SAndy Yan			};
199e2901ab8SAndy Yan
200e2901ab8SAndy Yan			vdd10_lcd: LDO_REG6 {
201e2901ab8SAndy Yan				regulator-always-on;
202e2901ab8SAndy Yan				regulator-boot-on;
203e2901ab8SAndy Yan				regulator-min-microvolt = <1000000>;
204e2901ab8SAndy Yan				regulator-max-microvolt = <1000000>;
205e2901ab8SAndy Yan				regulator-name = "vdd10_lcd";
206e2901ab8SAndy Yan			};
207e2901ab8SAndy Yan
208e2901ab8SAndy Yan			vcc_18: LDO_REG7 {
209e2901ab8SAndy Yan				regulator-always-on;
210e2901ab8SAndy Yan				regulator-boot-on;
211e2901ab8SAndy Yan				regulator-min-microvolt = <1800000>;
212e2901ab8SAndy Yan				regulator-max-microvolt = <1800000>;
213e2901ab8SAndy Yan				regulator-name = "vcc_18";
214e2901ab8SAndy Yan			};
215e2901ab8SAndy Yan
216e2901ab8SAndy Yan			vcc18_lcd: LDO_REG8 {
217e2901ab8SAndy Yan				regulator-always-on;
218e2901ab8SAndy Yan				regulator-boot-on;
219e2901ab8SAndy Yan				regulator-min-microvolt = <1800000>;
220e2901ab8SAndy Yan				regulator-max-microvolt = <1800000>;
221e2901ab8SAndy Yan				regulator-name = "vcc18_lcd";
222e2901ab8SAndy Yan			};
223e2901ab8SAndy Yan
224e2901ab8SAndy Yan			vcc_sd: SWITCH_REG1 {
225e2901ab8SAndy Yan				regulator-always-on;
226e2901ab8SAndy Yan				regulator-boot-on;
227e2901ab8SAndy Yan				regulator-name = "vcc_sd";
228e2901ab8SAndy Yan			};
229e2901ab8SAndy Yan
230e2901ab8SAndy Yan			vcc_lan: SWITCH_REG2 {
231e2901ab8SAndy Yan				regulator-always-on;
232e2901ab8SAndy Yan				regulator-boot-on;
233e2901ab8SAndy Yan				regulator-name = "vcc_lan";
234e2901ab8SAndy Yan			};
235e2901ab8SAndy Yan		};
236e2901ab8SAndy Yan	};
237e2901ab8SAndy Yan};
238e2901ab8SAndy Yan
239e2901ab8SAndy Yan&pinctrl {
240e2901ab8SAndy Yan	ir {
241e2901ab8SAndy Yan		ir_int: ir-int {
242e2901ab8SAndy Yan			rockchip,pins = <3 30 RK_FUNC_GPIO &pcfg_pull_none>;
243e2901ab8SAndy Yan		};
244e2901ab8SAndy Yan	};
245e2901ab8SAndy Yan
246e2901ab8SAndy Yan	keys {
247e2901ab8SAndy Yan		pwr_key: pwr-key {
248e2901ab8SAndy Yan			rockchip,pins = <0 2 RK_FUNC_GPIO &pcfg_pull_none>;
249e2901ab8SAndy Yan		};
250e2901ab8SAndy Yan	};
251e2901ab8SAndy Yan
252e2901ab8SAndy Yan	pmic {
253e2901ab8SAndy Yan		pmic_sleep: pmic-sleep {
254e2901ab8SAndy Yan			rockchip,pins = <0 0 RK_FUNC_2 &pcfg_pull_none>;
255e2901ab8SAndy Yan		};
256e2901ab8SAndy Yan
257e2901ab8SAndy Yan		pmic_int: pmic-int {
258e2901ab8SAndy Yan			rockchip,pins = <0 5 RK_FUNC_GPIO &pcfg_pull_up>;
259e2901ab8SAndy Yan		};
260e2901ab8SAndy Yan	};
261e2901ab8SAndy Yan};
262e2901ab8SAndy Yan
263*6333a3baSDavid Wu&saradc {
264*6333a3baSDavid Wu	status = "okay";
265*6333a3baSDavid Wu};
266*6333a3baSDavid Wu
267e2901ab8SAndy Yan&tsadc {
268e2901ab8SAndy Yan	status = "okay";
269e2901ab8SAndy Yan	rockchip,hw-tshut-mode = <0>; /* CRU */
270e2901ab8SAndy Yan	rockchip,hw-tshut-polarity = <1>; /* high */
271e2901ab8SAndy Yan};
272e2901ab8SAndy Yan
273e2901ab8SAndy Yan&uart4 {
274e2901ab8SAndy Yan	status = "okay";
275e2901ab8SAndy Yan};
276e2901ab8SAndy Yan
277e2901ab8SAndy Yan&usb_host0_ehci {
278e2901ab8SAndy Yan	status = "okay";
279e2901ab8SAndy Yan};
280e2901ab8SAndy Yan
281e2901ab8SAndy Yan&usb_otg {
282e2901ab8SAndy Yan	status = "okay";
283e2901ab8SAndy Yan};
284e2901ab8SAndy Yan
285e2901ab8SAndy Yan&wdt {
286e2901ab8SAndy Yan	status = "okay";
287e2901ab8SAndy Yan};
288