blob: 181732d262270b5290f287ad527cad462e37dc21 [file] [log] [blame]
Robert Markoe479a7d2020-07-06 10:37:54 +02001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * Copyright (c) 2019 Sartura Ltd.
4 *
5 * Author: Robert Marko <robert.marko@sartura.hr>
6 */
7
8 /dts-v1/;
9
10#include "skeleton.dtsi"
11#include <dt-bindings/gpio/gpio.h>
12#include <dt-bindings/pinctrl/pinctrl-snapdragon.h>
Robert Marko5ae15412020-09-10 16:00:00 +020013#include <dt-bindings/clock/qcom,ipq4019-gcc.h>
Robert Marko496a3aa2020-09-10 16:00:03 +020014#include <dt-bindings/reset/qcom,ipq4019-reset.h>
Robert Markoe479a7d2020-07-06 10:37:54 +020015
16/ {
17 #address-cells = <1>;
18 #size-cells = <1>;
19
20 model = "Qualcomm Technologies, Inc. IPQ4019";
21 compatible = "qcom,ipq4019";
22
23 aliases {
24 serial0 = &blsp1_uart1;
Robert Marko96d60362020-10-08 22:05:10 +020025 spi0 = &blsp1_spi1;
Robert Markoe479a7d2020-07-06 10:37:54 +020026 };
27
28 reserved-memory {
29 #address-cells = <0x1>;
30 #size-cells = <0x1>;
31 ranges;
32
33 smem_mem: smem_region: smem@87e00000 {
34 reg = <0x87e00000 0x080000>;
35 no-map;
36 };
37
38 tz@87e80000 {
39 reg = <0x87e80000 0x180000>;
40 no-map;
41 };
42 };
43
Robert Marko6ef099b2020-09-10 16:00:01 +020044 smem {
45 compatible = "qcom,smem";
46 memory-region = <&smem_mem>;
47 };
48
Robert Markoe479a7d2020-07-06 10:37:54 +020049 soc: soc {
50 #address-cells = <1>;
51 #size-cells = <1>;
52 ranges;
53 compatible = "simple-bus";
54
55 gcc: clock-controller@1800000 {
56 compatible = "qcom,gcc-ipq4019";
57 reg = <0x1800000 0x60000>;
58 #clock-cells = <1>;
59 #reset-cells = <1>;
60 u-boot,dm-pre-reloc;
61 };
62
Robert Markocfec8d32020-10-08 22:05:14 +020063 rng: rng@22000 {
64 compatible = "qcom,prng";
65 reg = <0x22000 0x140>;
66 clocks = <&gcc GCC_PRNG_AHB_CLK>;
67 status = "disabled";
68 };
69
Robert Marko496a3aa2020-09-10 16:00:03 +020070 reset: gcc-reset@1800000 {
71 compatible = "qcom,gcc-reset-ipq4019";
72 reg = <0x1800000 0x60000>;
73 #clock-cells = <1>;
74 #reset-cells = <1>;
75 u-boot,dm-pre-reloc;
76 };
77
Sumit Garg0ddabb62022-07-27 13:52:04 +053078 soc_gpios: pinctrl@1000000 {
79 compatible = "qcom,ipq4019-pinctrl";
Robert Markoe479a7d2020-07-06 10:37:54 +020080 reg = <0x1000000 0x300000>;
Sumit Garg0ddabb62022-07-27 13:52:04 +053081 gpio-controller;
82 gpio-count = <100>;
83 gpio-bank-name="soc";
84 #gpio-cells = <2>;
Robert Markoe479a7d2020-07-06 10:37:54 +020085 u-boot,dm-pre-reloc;
86 };
87
88 blsp1_uart1: serial@78af000 {
89 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
90 reg = <0x78af000 0x200>;
Robert Marko5ae15412020-09-10 16:00:00 +020091 clock = <&gcc GCC_BLSP1_UART1_APPS_CLK>;
Robert Markoe479a7d2020-07-06 10:37:54 +020092 bit-rate = <0xFF>;
93 status = "disabled";
94 u-boot,dm-pre-reloc;
95 };
96
Robert Marko96d60362020-10-08 22:05:10 +020097 blsp1_spi1: spi@78b5000 {
98 compatible = "qcom,spi-qup-v2.2.1";
99 reg = <0x78b5000 0x600>;
100 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
101 #address-cells = <1>;
102 #size-cells = <0>;
103 status = "disabled";
104 u-boot,dm-pre-reloc;
Robert Markoe479a7d2020-07-06 10:37:54 +0200105 };
Robert Marko430e1dc2020-09-10 16:00:06 +0200106
Robert Marko52973412020-10-08 22:05:12 +0200107 mdio: mdio@90000 {
108 #address-cells = <1>;
109 #size-cells = <0>;
110 compatible = "qcom,ipq4019-mdio";
111 reg = <0x90000 0x64>;
112 status = "disabled";
113
114 ethphy0: ethernet-phy@0 {
115 reg = <0>;
116 };
117
118 ethphy1: ethernet-phy@1 {
119 reg = <1>;
120 };
121
122 ethphy2: ethernet-phy@2 {
123 reg = <2>;
124 };
125
126 ethphy3: ethernet-phy@3 {
127 reg = <3>;
128 };
129
130 ethphy4: ethernet-phy@4 {
131 reg = <4>;
132 };
133 };
134
Robert Marko430e1dc2020-09-10 16:00:06 +0200135 usb3_ss_phy: ssphy@9a000 {
136 compatible = "qcom,usb-ss-ipq4019-phy";
137 #phy-cells = <0>;
138 reg = <0x9a000 0x800>;
139 reg-names = "phy_base";
140 resets = <&reset USB3_UNIPHY_PHY_ARES>;
141 reset-names = "por_rst";
142 status = "disabled";
143 };
144
145 usb3_hs_phy: hsphy@a6000 {
146 compatible = "qcom,usb-hs-ipq4019-phy";
147 #phy-cells = <0>;
148 reg = <0xa6000 0x40>;
149 reg-names = "phy_base";
150 resets = <&reset USB3_HSPHY_POR_ARES>, <&reset USB3_HSPHY_S_ARES>;
151 reset-names = "por_rst", "srif_rst";
152 status = "disabled";
153 };
154
155 usb3: usb3@8af8800 {
156 compatible = "qcom,dwc3";
157 reg = <0x8af8800 0x100>;
158 #address-cells = <1>;
159 #size-cells = <1>;
160 clocks = <&gcc GCC_USB3_MASTER_CLK>,
161 <&gcc GCC_USB3_SLEEP_CLK>,
162 <&gcc GCC_USB3_MOCK_UTMI_CLK>;
163 clock-names = "master", "sleep", "mock_utmi";
164 ranges;
165 status = "disabled";
166
167 dwc3@8a00000 {
168 compatible = "snps,dwc3";
169 reg = <0x8a00000 0xf8000>;
170 phys = <&usb3_hs_phy>, <&usb3_ss_phy>;
171 phy-names = "usb2-phy", "usb3-phy";
172 dr_mode = "host";
173 maximum-speed = "super-speed";
174 snps,dis_u2_susphy_quirk;
175 };
176 };
177
178 usb2_hs_phy: hsphy@a8000 {
179 compatible = "qcom,usb-hs-ipq4019-phy";
180 #phy-cells = <0>;
181 reg = <0xa8000 0x40>;
182 reg-names = "phy_base";
183 resets = <&reset USB2_HSPHY_POR_ARES>, <&reset USB2_HSPHY_S_ARES>;
184 reset-names = "por_rst", "srif_rst";
185 status = "disabled";
186 };
187
188 usb2: usb2@60f8800 {
189 compatible = "qcom,dwc3";
190 reg = <0x60f8800 0x100>;
191 #address-cells = <1>;
192 #size-cells = <1>;
193 clocks = <&gcc GCC_USB2_MASTER_CLK>,
194 <&gcc GCC_USB2_SLEEP_CLK>,
195 <&gcc GCC_USB2_MOCK_UTMI_CLK>;
196 clock-names = "master", "sleep", "mock_utmi";
197 ranges;
198 status = "disabled";
199
200 dwc3@6000000 {
201 compatible = "snps,dwc3";
202 reg = <0x6000000 0xf8000>;
203 phys = <&usb2_hs_phy>;
204 phy-names = "usb2-phy";
205 dr_mode = "host";
206 maximum-speed = "high-speed";
207 snps,dis_u2_susphy_quirk;
208 };
209 };
Robert Markoe479a7d2020-07-06 10:37:54 +0200210 };
211};