1cc7364fbSJianqun Xu/*
2cc7364fbSJianqun Xu * Copyright (c) 2016 Fuzhou Rockchip Electronics Co., Ltd
3cc7364fbSJianqun Xu *
4cc7364fbSJianqun Xu * This file is dual-licensed: you can use it either under the terms
5cc7364fbSJianqun Xu * of the GPL or the X11 license, at your option. Note that this dual
6cc7364fbSJianqun Xu * licensing only applies to this file, and not this project as a
7cc7364fbSJianqun Xu * whole.
8cc7364fbSJianqun Xu *
9cc7364fbSJianqun Xu *  a) This file is free software; you can redistribute it and/or
10cc7364fbSJianqun Xu *     modify it under the terms of the GNU General Public License as
11cc7364fbSJianqun Xu *     published by the Free Software Foundation; either version 2 of the
12cc7364fbSJianqun Xu *     License, or (at your option) any later version.
13cc7364fbSJianqun Xu *
14cc7364fbSJianqun Xu *     This file is distributed in the hope that it will be useful,
15cc7364fbSJianqun Xu *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16cc7364fbSJianqun Xu *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17cc7364fbSJianqun Xu *     GNU General Public License for more details.
18cc7364fbSJianqun Xu *
19cc7364fbSJianqun Xu * Or, alternatively,
20cc7364fbSJianqun Xu *
21cc7364fbSJianqun Xu *  b) Permission is hereby granted, free of charge, to any person
22cc7364fbSJianqun Xu *     obtaining a copy of this software and associated documentation
23cc7364fbSJianqun Xu *     files (the "Software"), to deal in the Software without
24cc7364fbSJianqun Xu *     restriction, including without limitation the rights to use,
25cc7364fbSJianqun Xu *     copy, modify, merge, publish, distribute, sublicense, and/or
26cc7364fbSJianqun Xu *     sell copies of the Software, and to permit persons to whom the
27cc7364fbSJianqun Xu *     Software is furnished to do so, subject to the following
28cc7364fbSJianqun Xu *     conditions:
29cc7364fbSJianqun Xu *
30cc7364fbSJianqun Xu *     The above copyright notice and this permission notice shall be
31cc7364fbSJianqun Xu *     included in all copies or substantial portions of the Software.
32cc7364fbSJianqun Xu *
33cc7364fbSJianqun Xu *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34cc7364fbSJianqun Xu *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35cc7364fbSJianqun Xu *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36cc7364fbSJianqun Xu *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37cc7364fbSJianqun Xu *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38cc7364fbSJianqun Xu *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39cc7364fbSJianqun Xu *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40cc7364fbSJianqun Xu *     OTHER DEALINGS IN THE SOFTWARE.
41cc7364fbSJianqun Xu */
42cc7364fbSJianqun Xu
43cc7364fbSJianqun Xu/dts-v1/;
44cc7364fbSJianqun Xu#include <dt-bindings/pwm/pwm.h>
45cc7364fbSJianqun Xu#include "rk3399.dtsi"
46cc7364fbSJianqun Xu
47cc7364fbSJianqun Xu/ {
48cc7364fbSJianqun Xu	model = "Rockchip RK3399 Evaluation Board";
49cc7364fbSJianqun Xu	compatible = "rockchip,rk3399-evb", "rockchip,rk3399",
50cc7364fbSJianqun Xu		     "google,rk3399evb-rev2";
51cc7364fbSJianqun Xu
520714bc77SRoger Chen	clkin_gmac: external-gmac-clock {
530714bc77SRoger Chen		compatible = "fixed-clock";
540714bc77SRoger Chen		clock-frequency = <125000000>;
550714bc77SRoger Chen		clock-output-names = "clkin_gmac";
560714bc77SRoger Chen		#clock-cells = <0>;
570714bc77SRoger Chen	};
580714bc77SRoger Chen
59cc7364fbSJianqun Xu	vdd_center: vdd-center {
60cc7364fbSJianqun Xu		compatible = "pwm-regulator";
61cc7364fbSJianqun Xu		pwms = <&pwm3 0 25000 0>;
62cc7364fbSJianqun Xu		regulator-name = "vdd_center";
63cc7364fbSJianqun Xu		regulator-min-microvolt = <800000>;
64cc7364fbSJianqun Xu		regulator-max-microvolt = <1400000>;
65cc7364fbSJianqun Xu		regulator-always-on;
66cc7364fbSJianqun Xu		regulator-boot-on;
67cc7364fbSJianqun Xu		status = "okay";
68cc7364fbSJianqun Xu	};
69cc7364fbSJianqun Xu
70cc7364fbSJianqun Xu	vcc3v3_sys: vcc3v3-sys {
71cc7364fbSJianqun Xu		compatible = "regulator-fixed";
72cc7364fbSJianqun Xu		regulator-name = "vcc3v3_sys";
73cc7364fbSJianqun Xu		regulator-always-on;
74cc7364fbSJianqun Xu		regulator-boot-on;
75cc7364fbSJianqun Xu		regulator-min-microvolt = <3300000>;
76cc7364fbSJianqun Xu		regulator-max-microvolt = <3300000>;
77cc7364fbSJianqun Xu	};
78cc7364fbSJianqun Xu
791d3bc1d6SFrank Wang	vcc5v0_sys: vcc5v0-sys {
801d3bc1d6SFrank Wang		compatible = "regulator-fixed";
811d3bc1d6SFrank Wang		regulator-name = "vcc5v0_sys";
821d3bc1d6SFrank Wang		regulator-always-on;
831d3bc1d6SFrank Wang		regulator-boot-on;
841d3bc1d6SFrank Wang		regulator-min-microvolt = <5000000>;
851d3bc1d6SFrank Wang		regulator-max-microvolt = <5000000>;
861d3bc1d6SFrank Wang	};
871d3bc1d6SFrank Wang
881d3bc1d6SFrank Wang	vcc5v0_host: vcc5v0-host-regulator {
891d3bc1d6SFrank Wang		compatible = "regulator-fixed";
901d3bc1d6SFrank Wang		enable-active-high;
911d3bc1d6SFrank Wang		gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
921d3bc1d6SFrank Wang		pinctrl-names = "default";
931d3bc1d6SFrank Wang		pinctrl-0 = <&vcc5v0_host_en>;
941d3bc1d6SFrank Wang		regulator-name = "vcc5v0_host";
951d3bc1d6SFrank Wang		vin-supply = <&vcc5v0_sys>;
961d3bc1d6SFrank Wang	};
971d3bc1d6SFrank Wang
98cc7364fbSJianqun Xu	vcc_phy: vcc-phy-regulator {
99cc7364fbSJianqun Xu		compatible = "regulator-fixed";
100cc7364fbSJianqun Xu		regulator-name = "vcc_phy";
101cc7364fbSJianqun Xu		regulator-always-on;
102cc7364fbSJianqun Xu		regulator-boot-on;
103cc7364fbSJianqun Xu	};
1040714bc77SRoger Chen
1050714bc77SRoger Chen	vcc_phy: vcc-phy-regulator {
1060714bc77SRoger Chen		compatible = "regulator-fixed";
1070714bc77SRoger Chen		regulator-name = "vcc_phy";
1080714bc77SRoger Chen		regulator-always-on;
1090714bc77SRoger Chen		regulator-boot-on;
1100714bc77SRoger Chen	};
1110714bc77SRoger Chen
112cc7364fbSJianqun Xu};
113cc7364fbSJianqun Xu
11413b2b3e2SBrian Norris&emmc_phy {
11513b2b3e2SBrian Norris	status = "okay";
11613b2b3e2SBrian Norris};
11713b2b3e2SBrian Norris
1180714bc77SRoger Chen&gmac {
1190714bc77SRoger Chen	assigned-clocks = <&cru SCLK_RMII_SRC>;
1200714bc77SRoger Chen	assigned-clock-parents = <&clkin_gmac>;
1210714bc77SRoger Chen	clock_in_out = "input";
1220714bc77SRoger Chen	phy-supply = <&vcc_phy>;
1230714bc77SRoger Chen	phy-mode = "rgmii";
1240714bc77SRoger Chen	pinctrl-names = "default";
1250714bc77SRoger Chen	pinctrl-0 = <&rgmii_pins>;
1260714bc77SRoger Chen	snps,reset-gpio = <&gpio3 15 GPIO_ACTIVE_LOW>;
1270714bc77SRoger Chen	snps,reset-active-low;
1280714bc77SRoger Chen	snps,reset-delays-us = <0 10000 50000>;
1290714bc77SRoger Chen	tx_delay = <0x28>;
1300714bc77SRoger Chen	rx_delay = <0x11>;
1310714bc77SRoger Chen	status = "okay";
1320714bc77SRoger Chen};
1330714bc77SRoger Chen
134cc7364fbSJianqun Xu&pwm0 {
135cc7364fbSJianqun Xu	status = "okay";
136cc7364fbSJianqun Xu};
137cc7364fbSJianqun Xu
138cc7364fbSJianqun Xu&pwm2 {
139cc7364fbSJianqun Xu	status = "okay";
140cc7364fbSJianqun Xu};
141cc7364fbSJianqun Xu
142cc7364fbSJianqun Xu&pwm3 {
143cc7364fbSJianqun Xu	status = "okay";
144cc7364fbSJianqun Xu};
145cc7364fbSJianqun Xu
14613b2b3e2SBrian Norris&sdhci {
14713b2b3e2SBrian Norris	bus-width = <8>;
14813b2b3e2SBrian Norris	mmc-hs400-1_8v;
14913b2b3e2SBrian Norris	mmc-hs400-enhanced-strobe;
15013b2b3e2SBrian Norris	non-removable;
15113b2b3e2SBrian Norris	status = "okay";
15213b2b3e2SBrian Norris};
15313b2b3e2SBrian Norris
1549eb4f3c4SShawn Lin&pcie_phy {
1559eb4f3c4SShawn Lin	status = "disabled";
1569eb4f3c4SShawn Lin};
1579eb4f3c4SShawn Lin
1589eb4f3c4SShawn Lin&pcie0 {
1599eb4f3c4SShawn Lin	ep-gpios = <&gpio3 13 GPIO_ACTIVE_HIGH>;
1609eb4f3c4SShawn Lin	num-lanes = <4>;
1619eb4f3c4SShawn Lin	pinctrl-names = "default";
1629eb4f3c4SShawn Lin	pinctrl-0 = <&pcie_clkreqn>;
1639eb4f3c4SShawn Lin	status = "disabled";
1649eb4f3c4SShawn Lin};
1659eb4f3c4SShawn Lin
1661d3bc1d6SFrank Wang&u2phy0 {
1671d3bc1d6SFrank Wang	status = "okay";
1681d3bc1d6SFrank Wang};
1691d3bc1d6SFrank Wang
1701d3bc1d6SFrank Wang&u2phy0_host {
1711d3bc1d6SFrank Wang	phy-supply = <&vcc5v0_host>;
1721d3bc1d6SFrank Wang	status = "okay";
1731d3bc1d6SFrank Wang};
1741d3bc1d6SFrank Wang
1751d3bc1d6SFrank Wang&u2phy1 {
1761d3bc1d6SFrank Wang	status = "okay";
1771d3bc1d6SFrank Wang};
1781d3bc1d6SFrank Wang
1791d3bc1d6SFrank Wang&u2phy1_host {
1801d3bc1d6SFrank Wang	phy-supply = <&vcc5v0_host>;
1811d3bc1d6SFrank Wang	status = "okay";
1821d3bc1d6SFrank Wang};
1831d3bc1d6SFrank Wang
184cc7364fbSJianqun Xu&uart2 {
185cc7364fbSJianqun Xu	status = "okay";
186cc7364fbSJianqun Xu};
187cc7364fbSJianqun Xu
188cc7364fbSJianqun Xu&usb_host0_ehci {
189cc7364fbSJianqun Xu	status = "okay";
190cc7364fbSJianqun Xu};
191cc7364fbSJianqun Xu
192cc7364fbSJianqun Xu&usb_host0_ohci {
193cc7364fbSJianqun Xu	status = "okay";
194cc7364fbSJianqun Xu};
195cc7364fbSJianqun Xu
196cc7364fbSJianqun Xu&usb_host1_ehci {
197cc7364fbSJianqun Xu	status = "okay";
198cc7364fbSJianqun Xu};
199cc7364fbSJianqun Xu
200cc7364fbSJianqun Xu&usb_host1_ohci {
201cc7364fbSJianqun Xu	status = "okay";
202cc7364fbSJianqun Xu};
203cc7364fbSJianqun Xu
204cc7364fbSJianqun Xu&pinctrl {
205cc7364fbSJianqun Xu	pmic {
206cc7364fbSJianqun Xu		pmic_int_l: pmic-int-l {
207cc7364fbSJianqun Xu			rockchip,pins =
208cc7364fbSJianqun Xu				<1 21 RK_FUNC_GPIO &pcfg_pull_up>;
209cc7364fbSJianqun Xu		};
210cc7364fbSJianqun Xu
211cc7364fbSJianqun Xu		pmic_dvs2: pmic-dvs2 {
212cc7364fbSJianqun Xu			rockchip,pins =
213cc7364fbSJianqun Xu				<1 18 RK_FUNC_GPIO &pcfg_pull_down>;
214cc7364fbSJianqun Xu		};
215cc7364fbSJianqun Xu	};
2161d3bc1d6SFrank Wang
2171d3bc1d6SFrank Wang	usb2 {
2181d3bc1d6SFrank Wang		vcc5v0_host_en: vcc5v0-host-en {
2191d3bc1d6SFrank Wang			rockchip,pins =
2201d3bc1d6SFrank Wang				<4 25 RK_FUNC_GPIO &pcfg_pull_none>;
2211d3bc1d6SFrank Wang		};
2221d3bc1d6SFrank Wang	};
223cc7364fbSJianqun Xu};
224