blob: 2de0e7537b76316ec17dbb08cce5f3be18932d2e [file] [log] [blame]
Sumit Gargbf95d172022-07-12 12:42:12 +05301// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Qualcomm QCS404 based evaluation board device tree source
4 *
5 * (C) Copyright 2022 Sumit Garg <sumit.garg@linaro.org>
6 */
7
8/dts-v1/;
9
10#include "skeleton64.dtsi"
11#include <dt-bindings/gpio/gpio.h>
Sumit Gargbf95d172022-07-12 12:42:12 +053012#include <dt-bindings/clock/qcom,gcc-qcs404.h>
13
14/ {
15 model = "Qualcomm Technologies, Inc. QCS404 EVB";
16 compatible = "qcom,qcs404-evb", "qcom,qcs404";
17 #address-cells = <0x2>;
18 #size-cells = <0x2>;
19
20 chosen {
21 stdout-path = "serial0:115200n8";
22 };
23
24 aliases {
25 serial0 = &debug_uart;
26 };
27
28 memory {
29 device_type = "memory";
30 reg = <0 0x80000000 0 0x40000000>;
31 };
32
33 soc {
34 #address-cells = <0x1>;
35 #size-cells = <0x1>;
36 ranges = <0x0 0x0 0x0 0xffffffff>;
37 compatible = "simple-bus";
38
Sumit Gargde8f42c2023-02-01 19:28:56 +053039 soc_gpios: pinctrl_north@1300000 {
Sumit Garg0ddabb62022-07-27 13:52:04 +053040 compatible = "qcom,qcs404-pinctrl";
Sumit Gargbf95d172022-07-12 12:42:12 +053041 reg = <0x1300000 0x200000>;
Sumit Garg0d6def42023-02-01 19:28:49 +053042 gpio-controller;
43 gpio-count = <120>;
44 gpio-bank-name="soc";
45 #gpio-cells = <2>;
Sumit Gargbf95d172022-07-12 12:42:12 +053046
47 blsp1_uart2: uart {
48 pins = "GPIO_17", "GPIO_18";
49 function = "blsp_uart2";
50 };
Sumit Gargde8f42c2023-02-01 19:28:56 +053051
52 ethernet_defaults: ethernet-defaults {
53 int {
54 pins = "GPIO_61";
55 function = "rgmii_int";
56 bias-disable;
57 drive-strength = <2>;
58 };
59 mdc {
60 pins = "GPIO_76";
61 function = "rgmii_mdc";
62 bias-pull-up;
63 };
64 mdio {
65 pins = "GPIO_75";
66 function = "rgmii_mdio";
67 bias-pull-up;
68 };
69 tx {
70 pins = "GPIO_67", "GPIO_66", "GPIO_65", "GPIO_64";
71 function = "rgmii_tx";
72 bias-pull-up;
73 drive-strength = <16>;
74 };
75 rx {
76 pins = "GPIO_73", "GPIO_72", "GPIO_71", "GPIO_70";
77 function = "rgmii_rx";
78 bias-disable;
79 drive-strength = <2>;
80 };
81 tx-ctl {
82 pins = "GPIO_68";
83 function = "rgmii_ctl";
84 bias-pull-up;
85 drive-strength = <16>;
86 };
87 rx-ctl {
88 pins = "GPIO_74";
89 function = "rgmii_ctl";
90 bias-disable;
91 drive-strength = <2>;
92 };
93 tx-ck {
94 pins = "GPIO_63";
95 function = "rgmii_ck";
96 bias-pull-up;
97 drive-strength = <16>;
98 };
99 rx-ck {
100 pins = "GPIO_69";
101 function = "rgmii_ck";
102 bias-disable;
103 drive-strength = <2>;
104 };
105 };
Sumit Gargbf95d172022-07-12 12:42:12 +0530106 };
107
108 gcc: clock-controller@1800000 {
109 compatible = "qcom,gcc-qcs404";
110 reg = <0x1800000 0x80000>;
111 #address-cells = <0x1>;
112 #size-cells = <0x0>;
Sumit Garg0c1eab62022-08-04 19:57:16 +0530113 #clock-cells = <1>;
Sumit Gargbf95d172022-07-12 12:42:12 +0530114 };
115
Sumit Garg21ed4562022-08-04 19:57:13 +0530116 reset: gcc-reset@1800000 {
117 compatible = "qcom,gcc-reset-qcs404";
118 reg = <0x1800000 0x80000>;
119 #reset-cells = <1>;
120 };
121
Sumit Gargbf95d172022-07-12 12:42:12 +0530122 debug_uart: serial@78b1000 {
123 compatible = "qcom,msm-uartdm-v1.4";
124 reg = <0x78b1000 0x200>;
125 clock = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
126 <&gcc GCC_BLSP1_AHB_CLK>;
127 bit-rate = <0xFF>;
128 pinctrl-names = "uart";
129 pinctrl-0 = <&blsp1_uart2>;
130 };
131
132 sdhci@7804000 {
133 compatible = "qcom,sdhci-msm-v5";
134 reg = <0x7804000 0x1000 0x7805000 0x1000>;
135 clock = <&gcc GCC_SDCC1_APPS_CLK>,
136 <&gcc GCC_SDCC1_AHB_CLK>;
137 bus-width = <0x8>;
138 index = <0x0>;
139 non-removable;
140 mmc-ddr-1_8v;
141 mmc-hs400-1_8v;
142 };
Sumit Garg0c1eab62022-08-04 19:57:16 +0530143
144 usb3_phy: phy@78000 {
145 compatible = "qcom,usb-ss-28nm-phy";
146 #phy-cells = <0>;
147 reg = <0x78000 0x400>;
148 clocks = <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
149 <&gcc GCC_USB3_PHY_PIPE_CLK>;
150 clock-names = "ahb", "pipe";
151 resets = <&reset GCC_USB3_PHY_BCR>,
152 <&reset GCC_USB3PHY_PHY_BCR>;
153 reset-names = "com", "phy";
154 };
155
156 usb2_phy_prim: phy@7a000 {
157 compatible = "qcom,usb-hs-28nm-femtophy";
158 #phy-cells = <0>;
159 reg = <0x7a000 0x200>;
160 clocks = <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
161 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
162 clock-names = "ahb", "sleep";
163 resets = <&reset GCC_USB_HS_PHY_CFG_AHB_BCR>,
164 <&reset GCC_USB2A_PHY_BCR>;
165 reset-names = "phy", "por";
166 };
167
168 usb2_phy_sec: phy@7c000 {
169 compatible = "qcom,usb-hs-28nm-femtophy";
170 #phy-cells = <0>;
171 reg = <0x7c000 0x200>;
172 clocks = <&gcc GCC_USB_HS_PHY_CFG_AHB_CLK>,
173 <&gcc GCC_USB2A_PHY_SLEEP_CLK>;
174 clock-names = "ahb", "sleep";
175 resets = <&reset GCC_QUSB2_PHY_BCR>,
176 <&reset GCC_USB2_HS_PHY_ONLY_BCR>;
177 reset-names = "phy", "por";
178 };
179
180 usb3: usb@7678800 {
181 compatible = "qcom,dwc3";
182 reg = <0x7678800 0x400>;
183 #address-cells = <1>;
184 #size-cells = <1>;
185 ranges;
186 clocks = <&gcc GCC_USB30_MASTER_CLK>,
187 <&gcc GCC_SYS_NOC_USB3_CLK>,
188 <&gcc GCC_USB30_SLEEP_CLK>,
189 <&gcc GCC_USB30_MOCK_UTMI_CLK>;
190 clock-names = "core", "iface", "sleep", "mock_utmi";
191
192 dwc3@7580000 {
193 compatible = "snps,dwc3";
194 reg = <0x7580000 0xcd00>;
195 phys = <&usb2_phy_prim>, <&usb3_phy>;
196 phy-names = "usb2-phy", "usb3-phy";
197 dr_mode = "host";
198 snps,has-lpm-erratum;
199 snps,hird-threshold = /bits/ 8 <0x10>;
200 snps,usb3_lpm_capable;
201 maximum-speed = "super-speed";
202 };
203 };
204
205 usb2: usb@79b8800 {
206 compatible = "qcom,dwc3";
207 reg = <0x79b8800 0x400>;
208 #address-cells = <1>;
209 #size-cells = <1>;
210 ranges;
211 clocks = <&gcc GCC_USB_HS_SYSTEM_CLK>,
212 <&gcc GCC_PCNOC_USB2_CLK>,
213 <&gcc GCC_USB_HS_INACTIVITY_TIMERS_CLK>,
214 <&gcc GCC_USB20_MOCK_UTMI_CLK>;
215 clock-names = "core", "iface", "sleep", "mock_utmi";
216
217 dwc3@78c0000 {
218 compatible = "snps,dwc3";
219 reg = <0x78c0000 0xcc00>;
220 phys = <&usb2_phy_sec>;
221 phy-names = "usb2-phy";
222 dr_mode = "peripheral";
223 snps,has-lpm-erratum;
224 snps,hird-threshold = /bits/ 8 <0x10>;
225 snps,usb3_lpm_capable;
226 maximum-speed = "high-speed";
227 };
228 };
Sumit Garg9c96a0c2022-08-04 19:57:19 +0530229
Sumit Gargde8f42c2023-02-01 19:28:56 +0530230 ethernet: ethernet@7a80000 {
231 compatible = "qcom,qcs404-ethqos";
232 reg = <0x07a80000 0x10000>,
233 <0x07a96000 0x100>;
234 reg-names = "stmmaceth", "rgmii";
235 clock-names = "stmmaceth", "pclk", "ptp_ref", "rgmii";
236 clocks = <&gcc GCC_ETH_AXI_CLK>,
237 <&gcc GCC_ETH_SLAVE_AHB_CLK>,
238 <&gcc GCC_ETH_PTP_CLK>,
239 <&gcc GCC_ETH_RGMII_CLK>;
240
241 resets = <&reset GCC_EMAC_BCR>;
242 reset-names = "emac";
243
244 snps,tso;
245 rx-fifo-depth = <4096>;
246 tx-fifo-depth = <4096>;
247
248 snps,reset-gpio = <&soc_gpios 60 GPIO_ACTIVE_LOW>;
249 snps,reset-active-low;
250 snps,reset-delays-us = <0 10000 10000>;
251
252 pinctrl-names = "default";
253 pinctrl-0 = <&ethernet_defaults>;
254
255 phy-handle = <&phy1>;
256 phy-mode = "rgmii";
257 max-speed = <1000>;
258
259 mdio {
260 #address-cells = <0x1>;
261 #size-cells = <0x0>;
262 compatible = "snps,dwmac-mdio";
263 phy1: phy@3 {
264 compatible = "ethernet-phy-ieee802.3-c22";
265 device_type = "ethernet-phy";
266 reg = <0x3>;
267 };
268 };
269 };
270
Sumit Garg9c96a0c2022-08-04 19:57:19 +0530271 spmi@200f000 {
272 compatible = "qcom,spmi-pmic-arb";
273 reg = <0x200f000 0x1000
274 0x2400000 0x400000
275 0x2c00000 0x400000>;
276 #address-cells = <0x1>;
277 #size-cells = <0x1>;
278
279 pms405_0: pms405@0 {
280 compatible = "qcom,spmi-pmic";
281 reg = <0x0 0x1>;
282 #address-cells = <0x1>;
283 #size-cells = <0x1>;
284
285 pms405_gpios: pms405_gpios@c000 {
286 compatible = "qcom,pms405-gpio";
287 reg = <0xc000 0x400>;
288 gpio-controller;
289 gpio-count = <12>;
290 #gpio-cells = <2>;
291 gpio-bank-name="pmic";
292 };
293 };
294 };
Sumit Gargbf95d172022-07-12 12:42:12 +0530295 };
296};
297
298#include "qcs404-evb-uboot.dtsi"