blob: 7009fdec447de4edffc88afc7bb12637d6b16401 [file] [log] [blame]
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +02001/*
2 * (C) Copyright 2017 Theobroma Systems Design und Consulting GmbH
3 *
Philipp Tomsichfaf1afc2017-04-07 19:09:37 +02004 * SPDX-License-Identifier: GPL-2.0+ X11
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +02005 */
6
7/dts-v1/;
8#include <dt-bindings/pwm/pwm.h>
9#include "rk3399.dtsi"
Philipp Tomsich572045b2017-04-17 17:50:38 +020010#include "rk3399-sdram-ddr3-1600.dtsi"
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +020011
12/ {
13 model = "Theobroma Systems RK3399-Q7 SoM";
14 compatible = "tsd,puma", "rockchip,rk3399";
15
Philipp Tomsich572045b2017-04-17 17:50:38 +020016 config {
17 u-boot,spl-payload-offset = <204800>;
18 };
19
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +020020 chosen {
21 stdout-path = "serial0:115200n8";
22 u-boot,spl-boot-order = &spiflash, &sdhci, &sdmmc;
23 };
24
25 aliases {
26 spi0 = &spi1;
27 spi1 = &spi5;
28 };
29
30 vdd_center: vdd-center {
31 compatible = "pwm-regulator";
32 pwms = <&pwm3 0 25000 0>;
33 regulator-name = "vdd_center";
34 regulator-min-microvolt = <800000>;
35 regulator-max-microvolt = <1400000>;
36 regulator-init-microvolt = <950000>;
37 regulator-always-on;
38 regulator-boot-on;
39 status = "okay";
40 };
41
42 vcc3v3_sys: vcc3v3-sys {
43 compatible = "regulator-fixed";
44 regulator-name = "vcc3v3_sys";
45 regulator-always-on;
46 regulator-boot-on;
47 regulator-min-microvolt = <3300000>;
48 regulator-max-microvolt = <3300000>;
49 };
50
51 vcc_phy: vcc-phy-regulator {
52 compatible = "regulator-fixed";
53 regulator-name = "vcc_phy";
54 regulator-always-on;
55 regulator-boot-on;
56 };
57
58 vcc5v0_host: vcc5v0-host-en {
59 compatible = "regulator-fixed";
60 regulator-name = "vcc5v0_host";
61 gpio = <&gpio4 25 GPIO_ACTIVE_HIGH>;
62 };
63
64 clkin_gmac: external-gmac-clock {
65 compatible = "fixed-clock";
66 clock-frequency = <125000000>;
67 clock-output-names = "clkin_gmac";
68 #clock-cells = <0>;
69 };
70
71 vcc_phy: vcc-phy-regulator {
72 compatible = "regulator-fixed";
73 regulator-name = "vcc_phy";
74 regulator-always-on;
75 regulator-boot-on;
76 };
77};
78
79&emmc_phy {
80 status = "okay";
81};
82
83&pwm0 {
84 status = "okay";
85};
86
87&pwm2 {
88 status = "okay";
89};
90
91&pwm3 {
92 status = "okay";
93};
94
95&sdmmc {
96 u-boot,dm-pre-reloc;
97 bus-width = <4>;
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +020098 status = "okay";
99};
100
101&sdhci {
102 bus-width = <8>;
103 mmc-hs400-1_8v;
104 mmc-hs400-enhanced-strobe;
105 non-removable;
106 status = "okay";
107};
108
109&uart0 {
Philipp Tomsich4411cd02017-05-31 18:17:57 +0200110 u-boot,dm-pre-reloc;
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +0200111 status = "okay";
112};
113
114&uart2 {
115 status = "okay";
116};
117
118&usb_host0_ehci {
119 status = "okay";
120};
121
122&usb_host0_ohci {
123 status = "okay";
124};
125
126&dwc3_typec0 {
Philipp Tomsich2dd2c012017-05-31 18:17:58 +0200127 status = "disabled";
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +0200128};
129
130&usb_host1_ehci {
131 status = "okay";
132};
133
134&usb_host1_ohci {
135 status = "okay";
136};
137
138&dwc3_typec1 {
Philipp Tomsich2dd2c012017-05-31 18:17:58 +0200139 rockchip,vbus-gpio = <&gpio4 3 GPIO_ACTIVE_LOW>;
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +0200140 status = "okay";
141};
142
143&pinctrl {
144 pmic {
145 pmic_int_l: pmic-int-l {
146 rockchip,pins =
147 <1 21 RK_FUNC_GPIO &pcfg_pull_up>;
148 };
149
150 pmic_dvs2: pmic-dvs2 {
151 rockchip,pins =
152 <1 18 RK_FUNC_GPIO &pcfg_pull_down>;
153 };
154 };
155};
156
157&gmac {
158 phy-supply = <&vcc_phy>;
159 phy-mode = "rgmii";
160 clock_in_out = "input";
161 snps,reset-gpio = <&gpio3 16 GPIO_ACTIVE_LOW>;
162 snps,reset-active-low;
163 snps,reset-delays-us = <0 10000 50000>;
164 assigned-clocks = <&cru SCLK_RMII_SRC>;
165 assigned-clock-parents = <&clkin_gmac>;
166 pinctrl-names = "default";
167 pinctrl-0 = <&rgmii_pins>;
168 tx_delay = <0x10>;
169 rx_delay = <0x10>;
170 status = "okay";
171};
172
173&spi1 {
174 u-boot,dm-pre-reloc;
175
176 status = "okay";
177
178 #address-cells = <1>;
179 #size-cells = <0>;
180
181 spiflash: w25q32dw@0 {
182 u-boot,dm-pre-reloc;
183
184 compatible = "spi-flash";
185 reg = <0>;
Philipp Tomsich2dd2c012017-05-31 18:17:58 +0200186 spi-max-frequency = <49500000>;
Philipp Tomsich3c2bbd52017-03-28 18:48:51 +0200187 spi-cpol;
188 spi-cpha;
189 };
190};
191
192&spi5 {
193 status = "okay";
194};