xref: /rk3399_rockchip-uboot/arch/arm/dts/rk3328-evb.dts (revision df3abc8d26e95fa316078c80ff5ad035828c874f)
1e94ffee3SKever Yang/*
2e94ffee3SKever Yang * (C) Copyright 2016 Rockchip Electronics Co., Ltd
3e94ffee3SKever Yang *
4e94ffee3SKever Yang * SPDX-License-Identifier:     GPL-2.0+
5e94ffee3SKever Yang */
6e94ffee3SKever Yang
7e94ffee3SKever Yang/dts-v1/;
8e94ffee3SKever Yang#include "rk3328.dtsi"
91e149563SKever Yang#include "rk3328-sdram-ddr3-666.dtsi"
10918c540dSJoseph Chen#include <dt-bindings/input/input.h>
11e94ffee3SKever Yang
12e94ffee3SKever Yang/ {
13e94ffee3SKever Yang	model = "Rockchip RK3328 EVB";
14e94ffee3SKever Yang	compatible = "rockchip,rk3328-evb", "rockchip,rk3328";
15e94ffee3SKever Yang
16918c540dSJoseph Chen	adc-keys {
17918c540dSJoseph Chen		status = "okay";
18918c540dSJoseph Chen
19918c540dSJoseph Chen		u-boot,dm-pre-reloc;
20918c540dSJoseph Chen		compatible = "adc-keys";
21918c540dSJoseph Chen		io-channels = <&saradc 0>;
22918c540dSJoseph Chen		io-channel-names = "buttons";
23918c540dSJoseph Chen		keyup-threshold-microvolt = <1800000>;
24918c540dSJoseph Chen
25918c540dSJoseph Chen		vol-up-key {
26918c540dSJoseph Chen			u-boot,dm-pre-reloc;
27918c540dSJoseph Chen			linux,code = <KEY_VOLUMEUP>;
28918c540dSJoseph Chen			label = "volume up";
29918c540dSJoseph Chen			press-threshold-microvolt = <10000>;
30918c540dSJoseph Chen		};
31e94ffee3SKever Yang	};
32296bd19eSMeng Dongyang
33895e4b94SDavid Wu	gmac_clkin: external-gmac-clock {
34895e4b94SDavid Wu		compatible = "fixed-clock";
35895e4b94SDavid Wu		clock-frequency = <125000000>;
36895e4b94SDavid Wu		clock-output-names = "gmac_clkin";
37895e4b94SDavid Wu		#clock-cells = <0>;
38895e4b94SDavid Wu	};
39895e4b94SDavid Wu
40df813322SKever Yang	vcc3v3_sdmmc: sdmmc-pwren {
41df813322SKever Yang		compatible = "regulator-fixed";
42df813322SKever Yang		regulator-name = "vcc3v3";
43df813322SKever Yang		gpio = <&gpio0 30 GPIO_ACTIVE_LOW>;
44df813322SKever Yang		regulator-always-on;
45df813322SKever Yang		regulator-boot-on;
46df813322SKever Yang	};
47df813322SKever Yang
48863456adSMeng Dongyang	vcc5v0_otg: vcc5v0-otg-drv {
49863456adSMeng Dongyang		compatible = "regulator-fixed";
50863456adSMeng Dongyang		enable-active-high;
51863456adSMeng Dongyang		regulator-name = "vcc5v0_otg";
52863456adSMeng Dongyang		gpio = <&gpio0 27 GPIO_ACTIVE_HIGH>;
53863456adSMeng Dongyang		regulator-min-microvolt = <5000000>;
54863456adSMeng Dongyang		regulator-max-microvolt = <5000000>;
55863456adSMeng Dongyang	};
56863456adSMeng Dongyang
570162d8c3SFrank Wang	vcc_host_vbus: host-vbus-regulator {
58296bd19eSMeng Dongyang		compatible = "regulator-fixed";
59296bd19eSMeng Dongyang		enable-active-high;
600162d8c3SFrank Wang		regulator-name = "vcc_host_vbus";
61296bd19eSMeng Dongyang		gpio = <&gpio0 0 GPIO_ACTIVE_HIGH>;
62296bd19eSMeng Dongyang		regulator-min-microvolt = <5000000>;
63296bd19eSMeng Dongyang		regulator-max-microvolt = <5000000>;
64296bd19eSMeng Dongyang	};
65895e4b94SDavid Wu
66895e4b94SDavid Wu	vcc_phy: vcc-phy-regulator {
67895e4b94SDavid Wu		compatible = "regulator-fixed";
68895e4b94SDavid Wu		regulator-name = "vcc_phy";
69895e4b94SDavid Wu		regulator-always-on;
70895e4b94SDavid Wu		regulator-boot-on;
71895e4b94SDavid Wu	};
72e94ffee3SKever Yang};
73e94ffee3SKever Yang
74e94ffee3SKever Yang&uart2 {
75e94ffee3SKever Yang	status = "okay";
76e94ffee3SKever Yang};
77e94ffee3SKever Yang
78e94ffee3SKever Yang&sdmmc {
79e94ffee3SKever Yang	bus-width = <4>;
80e94ffee3SKever Yang	cap-mmc-highspeed;
81e94ffee3SKever Yang	cap-sd-highspeed;
82e94ffee3SKever Yang	card-detect-delay = <200>;
83e94ffee3SKever Yang	disable-wp;
84e94ffee3SKever Yang	num-slots = <1>;
85e94ffee3SKever Yang	pinctrl-names = "default";
86e94ffee3SKever Yang	pinctrl-0 = <&sdmmc0_clk>, <&sdmmc0_cmd>, <&sdmmc0_dectn>, <&sdmmc0_bus4>;
87f99f53c2SKever Yang	vmmc-supply = <&vcc3v3_sdmmc>;
88e94ffee3SKever Yang	status = "okay";
89e94ffee3SKever Yang};
90e94ffee3SKever Yang
912b0e21e8SLin Jinhan&crypto {
922b0e21e8SLin Jinhan	status = "okay";
932b0e21e8SLin Jinhan};
942b0e21e8SLin Jinhan
95e94ffee3SKever Yang&emmc {
96e94ffee3SKever Yang	bus-width = <8>;
97e94ffee3SKever Yang	cap-mmc-highspeed;
98e94ffee3SKever Yang	supports-emmc;
99e94ffee3SKever Yang	disable-wp;
100e94ffee3SKever Yang	non-removable;
101e94ffee3SKever Yang	num-slots = <1>;
102e94ffee3SKever Yang	pinctrl-names = "default";
103e94ffee3SKever Yang	pinctrl-0 = <&emmc_clk &emmc_cmd &emmc_bus8>;
104e94ffee3SKever Yang	status = "okay";
105e94ffee3SKever Yang};
106ef82a0dbSMeng Dongyang
107895e4b94SDavid Wu&gmac2io {
108895e4b94SDavid Wu	phy-supply = <&vcc_phy>;
109895e4b94SDavid Wu	phy-mode = "rgmii";
110895e4b94SDavid Wu	clock_in_out = "input";
111895e4b94SDavid Wu	snps,reset-gpio = <&gpio1 RK_PC2 GPIO_ACTIVE_LOW>;
112895e4b94SDavid Wu	snps,reset-active-low;
113895e4b94SDavid Wu	snps,reset-delays-us = <0 10000 50000>;
114895e4b94SDavid Wu	assigned-clocks = <&cru SCLK_MAC2IO>, <&cru SCLK_MAC2IO_EXT>;
115895e4b94SDavid Wu	assigned-clock-parents = <&gmac_clkin>, <&gmac_clkin>;
116895e4b94SDavid Wu	pinctrl-names = "default";
117895e4b94SDavid Wu	pinctrl-0 = <&rgmiim1_pins>;
118895e4b94SDavid Wu	tx_delay = <0x26>;
119895e4b94SDavid Wu	rx_delay = <0x11>;
120895e4b94SDavid Wu	status = "okay";
121895e4b94SDavid Wu};
122895e4b94SDavid Wu
123*df3abc8dSDavid Wu&gmac2phy {
124*df3abc8dSDavid Wu	phy-supply = <&vcc_phy>;
125*df3abc8dSDavid Wu	clock_in_out = "output";
126*df3abc8dSDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY_SRC>;
127*df3abc8dSDavid Wu	assigned-clock-rate = <50000000>;
128*df3abc8dSDavid Wu	assigned-clocks = <&cru SCLK_MAC2PHY>;
129*df3abc8dSDavid Wu	assigned-clock-parents = <&cru SCLK_MAC2PHY_SRC>;
130*df3abc8dSDavid Wu	status = "okay";
131*df3abc8dSDavid Wu};
132*df3abc8dSDavid Wu
1339e741d50SWu Liang feng&u2phy {
1349e741d50SWu Liang feng	status = "okay";
1359e741d50SWu Liang feng};
1369e741d50SWu Liang feng
1379e741d50SWu Liang feng&u2phy_otg {
1389e741d50SWu Liang feng	status = "okay";
1399e741d50SWu Liang feng};
1409e741d50SWu Liang feng
1419e741d50SWu Liang feng&u2phy_host {
1429e741d50SWu Liang feng	status = "okay";
1439e741d50SWu Liang feng};
1449e741d50SWu Liang feng
1450162d8c3SFrank Wang&u3phy {
1460162d8c3SFrank Wang	vbus-supply = <&vcc_host_vbus>;
1470162d8c3SFrank Wang	status = "okay";
1480162d8c3SFrank Wang};
1490162d8c3SFrank Wang
1500162d8c3SFrank Wang&u3phy_utmi {
1510162d8c3SFrank Wang	status = "okay";
1520162d8c3SFrank Wang};
1530162d8c3SFrank Wang
1540162d8c3SFrank Wang&u3phy_pipe {
1550162d8c3SFrank Wang	status = "okay";
1560162d8c3SFrank Wang};
1570162d8c3SFrank Wang
158ef82a0dbSMeng Dongyang&usb_host0_ehci {
159f99f53c2SKever Yang	vbus-supply = <&vcc5v0_otg>;
160ef82a0dbSMeng Dongyang	status = "okay";
161ef82a0dbSMeng Dongyang};
162ef82a0dbSMeng Dongyang
163ef82a0dbSMeng Dongyang&usb_host0_ohci {
164ef82a0dbSMeng Dongyang	status = "okay";
165ef82a0dbSMeng Dongyang};
16675ff918fSMeng Dongyang
167863456adSMeng Dongyang&usb20_otg {
168863456adSMeng Dongyang	vbus-supply = <&vcc5v0_otg>;
169863456adSMeng Dongyang	status = "okay";
170863456adSMeng Dongyang};
171863456adSMeng Dongyang
1720162d8c3SFrank Wang&usbdrd3 {
1730162d8c3SFrank Wang	status = "okay";
1740162d8c3SFrank Wang};
1750162d8c3SFrank Wang
1760162d8c3SFrank Wang&usbdrd_dwc3 {
17775ff918fSMeng Dongyang	status = "okay";
17875ff918fSMeng Dongyang};
17946326550SElaine Zhang
18046326550SElaine Zhang&i2c1 {
18146326550SElaine Zhang	clock-frequency = <400000>;
18246326550SElaine Zhang	i2c-scl-rising-time-ns = <168>;
18346326550SElaine Zhang	i2c-scl-falling-time-ns = <4>;
18446326550SElaine Zhang	status = "okay";
18546326550SElaine Zhang
18646326550SElaine Zhang	rk805: pmic@18 {
18746326550SElaine Zhang		compatible = "rockchip,rk805";
18846326550SElaine Zhang		status = "okay";
18946326550SElaine Zhang		reg = <0x18>;
19046326550SElaine Zhang		interrupt-parent = <&gpio2>;
19146326550SElaine Zhang		interrupts = <6 IRQ_TYPE_LEVEL_LOW>;
19246326550SElaine Zhang		pinctrl-names = "default";
19346326550SElaine Zhang		pinctrl-0 = <&pmic_int_l>;
19446326550SElaine Zhang		rockchip,system-power-controller;
19546326550SElaine Zhang		wakeup-source;
19646326550SElaine Zhang		gpio-controller;
19746326550SElaine Zhang		#gpio-cells = <2>;
19846326550SElaine Zhang		#clock-cells = <1>;
19946326550SElaine Zhang		clock-output-names = "xin32k", "rk805-clkout2";
20046326550SElaine Zhang
201f9e5337aSJoseph Chen		pwrkey {
202f9e5337aSJoseph Chen			status = "okay";
203f9e5337aSJoseph Chen		};
204f9e5337aSJoseph Chen
20546326550SElaine Zhang		regulators {
20646326550SElaine Zhang			vdd_logic: DCDC_REG1 {
20746326550SElaine Zhang				regulator-name = "vdd_logic";
20846326550SElaine Zhang				regulator-min-microvolt = <712500>;
20946326550SElaine Zhang				regulator-max-microvolt = <1450000>;
21046326550SElaine Zhang				regulator-ramp-delay = <6001>;
21146326550SElaine Zhang				regulator-boot-on;
21246326550SElaine Zhang				regulator-always-on;
21346326550SElaine Zhang				regulator-state-mem {
21446326550SElaine Zhang					regulator-on-in-suspend;
21546326550SElaine Zhang					regulator-suspend-microvolt = <1000000>;
21646326550SElaine Zhang				};
21746326550SElaine Zhang			};
21846326550SElaine Zhang
21946326550SElaine Zhang			vdd_arm: DCDC_REG2 {
22046326550SElaine Zhang				regulator-name = "vdd_arm";
22146326550SElaine Zhang				regulator-min-microvolt = <712500>;
22246326550SElaine Zhang				regulator-max-microvolt = <1450000>;
22346326550SElaine Zhang				regulator-ramp-delay = <6001>;
22446326550SElaine Zhang				regulator-boot-on;
22546326550SElaine Zhang				regulator-always-on;
22646326550SElaine Zhang				regulator-state-mem {
22746326550SElaine Zhang					regulator-on-in-suspend;
22846326550SElaine Zhang					regulator-suspend-microvolt = <1000000>;
22946326550SElaine Zhang				};
23046326550SElaine Zhang			};
23146326550SElaine Zhang
23246326550SElaine Zhang			vcc_ddr: DCDC_REG3 {
23346326550SElaine Zhang				regulator-name = "vcc_ddr";
23446326550SElaine Zhang				regulator-boot-on;
23546326550SElaine Zhang				regulator-always-on;
23646326550SElaine Zhang				regulator-state-mem {
23746326550SElaine Zhang					regulator-on-in-suspend;
23846326550SElaine Zhang				};
23946326550SElaine Zhang			};
24046326550SElaine Zhang
24146326550SElaine Zhang			vcc_io: DCDC_REG4 {
24246326550SElaine Zhang				regulator-name = "vcc_io";
24346326550SElaine Zhang				regulator-min-microvolt = <3300000>;
24446326550SElaine Zhang				regulator-max-microvolt = <3300000>;
24546326550SElaine Zhang				regulator-boot-on;
24646326550SElaine Zhang				regulator-always-on;
24746326550SElaine Zhang				regulator-state-mem {
24846326550SElaine Zhang					regulator-on-in-suspend;
24946326550SElaine Zhang					regulator-suspend-microvolt = <3300000>;
25046326550SElaine Zhang				};
25146326550SElaine Zhang			};
25246326550SElaine Zhang
25346326550SElaine Zhang			vdd_18: LDO_REG1 {
25446326550SElaine Zhang				regulator-name = "vdd_18";
25546326550SElaine Zhang				regulator-min-microvolt = <1800000>;
25646326550SElaine Zhang				regulator-max-microvolt = <1800000>;
25746326550SElaine Zhang				regulator-boot-on;
25846326550SElaine Zhang				regulator-always-on;
25946326550SElaine Zhang				regulator-state-mem {
26046326550SElaine Zhang					regulator-on-in-suspend;
26146326550SElaine Zhang					regulator-suspend-microvolt = <1800000>;
26246326550SElaine Zhang				};
26346326550SElaine Zhang			};
26446326550SElaine Zhang
26546326550SElaine Zhang			vcc_18emmc: LDO_REG2 {
26646326550SElaine Zhang				regulator-name = "vcc_18emmc";
26746326550SElaine Zhang				regulator-min-microvolt = <1800000>;
26846326550SElaine Zhang				regulator-max-microvolt = <1800000>;
26946326550SElaine Zhang				regulator-boot-on;
27046326550SElaine Zhang				regulator-always-on;
27146326550SElaine Zhang				regulator-state-mem {
27246326550SElaine Zhang					regulator-on-in-suspend;
27346326550SElaine Zhang					regulator-suspend-microvolt = <1800000>;
27446326550SElaine Zhang				};
27546326550SElaine Zhang			};
27646326550SElaine Zhang
27746326550SElaine Zhang			vdd_10: LDO_REG3 {
27846326550SElaine Zhang				regulator-name = "vdd_10";
27946326550SElaine Zhang				regulator-min-microvolt = <1000000>;
28046326550SElaine Zhang				regulator-max-microvolt = <1000000>;
28146326550SElaine Zhang				regulator-boot-on;
28246326550SElaine Zhang				regulator-always-on;
28346326550SElaine Zhang				regulator-state-mem {
28446326550SElaine Zhang					regulator-on-in-suspend;
28546326550SElaine Zhang					regulator-suspend-microvolt = <1000000>;
28646326550SElaine Zhang				};
28746326550SElaine Zhang			};
28846326550SElaine Zhang		};
28946326550SElaine Zhang	};
29046326550SElaine Zhang};
29146326550SElaine Zhang
29246326550SElaine Zhang&pinctrl {
29346326550SElaine Zhang	pmic {
29446326550SElaine Zhang		pmic_int_l: pmic-int-l {
29546326550SElaine Zhang		rockchip,pins =
29646326550SElaine Zhang			<2 RK_PA6 RK_FUNC_GPIO &pcfg_pull_up>;	/* gpio2_a6 */
29746326550SElaine Zhang		};
29846326550SElaine Zhang	};
29946326550SElaine Zhang};
30046326550SElaine Zhang
301