blob: 0850ae56e9a87a21927e5fcdefe5db067e6aa0d7 [file] [log] [blame]
Robert Markoe7a34f12020-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>
Robert Marko06d29002020-09-10 16:00:00 +020012#include <dt-bindings/clock/qcom,ipq4019-gcc.h>
Robert Marko42c5ee82020-09-10 16:00:03 +020013#include <dt-bindings/reset/qcom,ipq4019-reset.h>
Robert Markoe7a34f12020-07-06 10:37:54 +020014
15/ {
16 #address-cells = <1>;
17 #size-cells = <1>;
18
19 model = "Qualcomm Technologies, Inc. IPQ4019";
20 compatible = "qcom,ipq4019";
21
22 aliases {
23 serial0 = &blsp1_uart1;
Robert Markoda344232020-10-08 22:05:10 +020024 spi0 = &blsp1_spi1;
Robert Markoe7a34f12020-07-06 10:37:54 +020025 };
26
27 reserved-memory {
28 #address-cells = <0x1>;
29 #size-cells = <0x1>;
30 ranges;
31
32 smem_mem: smem_region: smem@87e00000 {
33 reg = <0x87e00000 0x080000>;
34 no-map;
35 };
36
37 tz@87e80000 {
38 reg = <0x87e80000 0x180000>;
39 no-map;
40 };
41 };
42
Robert Marko0b7d9502020-09-10 16:00:01 +020043 smem {
44 compatible = "qcom,smem";
45 memory-region = <&smem_mem>;
46 };
47
Robert Markoe7a34f12020-07-06 10:37:54 +020048 soc: soc {
49 #address-cells = <1>;
50 #size-cells = <1>;
51 ranges;
52 compatible = "simple-bus";
53
54 gcc: clock-controller@1800000 {
55 compatible = "qcom,gcc-ipq4019";
56 reg = <0x1800000 0x60000>;
57 #clock-cells = <1>;
58 #reset-cells = <1>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070059 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +020060 };
61
Robert Marko16b5a962020-10-08 22:05:14 +020062 rng: rng@22000 {
63 compatible = "qcom,prng";
64 reg = <0x22000 0x140>;
65 clocks = <&gcc GCC_PRNG_AHB_CLK>;
66 status = "disabled";
67 };
68
Robert Marko42c5ee82020-09-10 16:00:03 +020069 reset: gcc-reset@1800000 {
70 compatible = "qcom,gcc-reset-ipq4019";
71 reg = <0x1800000 0x60000>;
72 #clock-cells = <1>;
73 #reset-cells = <1>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070074 bootph-all;
Robert Marko42c5ee82020-09-10 16:00:03 +020075 };
76
Sumit Gargb7572e52022-07-27 13:52:04 +053077 soc_gpios: pinctrl@1000000 {
78 compatible = "qcom,ipq4019-pinctrl";
Robert Markoe7a34f12020-07-06 10:37:54 +020079 reg = <0x1000000 0x300000>;
Sumit Gargb7572e52022-07-27 13:52:04 +053080 gpio-controller;
81 gpio-count = <100>;
82 gpio-bank-name="soc";
83 #gpio-cells = <2>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070084 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +020085 };
86
87 blsp1_uart1: serial@78af000 {
88 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
89 reg = <0x78af000 0x200>;
Robert Marko06d29002020-09-10 16:00:00 +020090 clock = <&gcc GCC_BLSP1_UART1_APPS_CLK>;
Robert Markoe7a34f12020-07-06 10:37:54 +020091 bit-rate = <0xFF>;
92 status = "disabled";
Simon Glassd3a98cb2023-02-13 08:56:33 -070093 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +020094 };
95
Robert Markoda344232020-10-08 22:05:10 +020096 blsp1_spi1: spi@78b5000 {
97 compatible = "qcom,spi-qup-v2.2.1";
98 reg = <0x78b5000 0x600>;
99 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
100 #address-cells = <1>;
101 #size-cells = <0>;
102 status = "disabled";
Simon Glassd3a98cb2023-02-13 08:56:33 -0700103 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +0200104 };
Robert Marko12a9ce92020-09-10 16:00:06 +0200105
Robert Marko6649aa82020-10-08 22:05:12 +0200106 mdio: mdio@90000 {
107 #address-cells = <1>;
108 #size-cells = <0>;
109 compatible = "qcom,ipq4019-mdio";
110 reg = <0x90000 0x64>;
111 status = "disabled";
112
113 ethphy0: ethernet-phy@0 {
114 reg = <0>;
115 };
116
117 ethphy1: ethernet-phy@1 {
118 reg = <1>;
119 };
120
121 ethphy2: ethernet-phy@2 {
122 reg = <2>;
123 };
124
125 ethphy3: ethernet-phy@3 {
126 reg = <3>;
127 };
128
129 ethphy4: ethernet-phy@4 {
130 reg = <4>;
131 };
132 };
133
Robert Marko12a9ce92020-09-10 16:00:06 +0200134 usb3_ss_phy: ssphy@9a000 {
135 compatible = "qcom,usb-ss-ipq4019-phy";
136 #phy-cells = <0>;
137 reg = <0x9a000 0x800>;
138 reg-names = "phy_base";
139 resets = <&reset USB3_UNIPHY_PHY_ARES>;
140 reset-names = "por_rst";
141 status = "disabled";
142 };
143
144 usb3_hs_phy: hsphy@a6000 {
145 compatible = "qcom,usb-hs-ipq4019-phy";
146 #phy-cells = <0>;
147 reg = <0xa6000 0x40>;
148 reg-names = "phy_base";
149 resets = <&reset USB3_HSPHY_POR_ARES>, <&reset USB3_HSPHY_S_ARES>;
150 reset-names = "por_rst", "srif_rst";
151 status = "disabled";
152 };
153
154 usb3: usb3@8af8800 {
155 compatible = "qcom,dwc3";
156 reg = <0x8af8800 0x100>;
157 #address-cells = <1>;
158 #size-cells = <1>;
159 clocks = <&gcc GCC_USB3_MASTER_CLK>,
160 <&gcc GCC_USB3_SLEEP_CLK>,
161 <&gcc GCC_USB3_MOCK_UTMI_CLK>;
162 clock-names = "master", "sleep", "mock_utmi";
163 ranges;
164 status = "disabled";
165
166 dwc3@8a00000 {
167 compatible = "snps,dwc3";
168 reg = <0x8a00000 0xf8000>;
169 phys = <&usb3_hs_phy>, <&usb3_ss_phy>;
170 phy-names = "usb2-phy", "usb3-phy";
171 dr_mode = "host";
172 maximum-speed = "super-speed";
173 snps,dis_u2_susphy_quirk;
174 };
175 };
176
177 usb2_hs_phy: hsphy@a8000 {
178 compatible = "qcom,usb-hs-ipq4019-phy";
179 #phy-cells = <0>;
180 reg = <0xa8000 0x40>;
181 reg-names = "phy_base";
182 resets = <&reset USB2_HSPHY_POR_ARES>, <&reset USB2_HSPHY_S_ARES>;
183 reset-names = "por_rst", "srif_rst";
184 status = "disabled";
185 };
186
187 usb2: usb2@60f8800 {
188 compatible = "qcom,dwc3";
189 reg = <0x60f8800 0x100>;
190 #address-cells = <1>;
191 #size-cells = <1>;
192 clocks = <&gcc GCC_USB2_MASTER_CLK>,
193 <&gcc GCC_USB2_SLEEP_CLK>,
194 <&gcc GCC_USB2_MOCK_UTMI_CLK>;
195 clock-names = "master", "sleep", "mock_utmi";
196 ranges;
197 status = "disabled";
198
199 dwc3@6000000 {
200 compatible = "snps,dwc3";
201 reg = <0x6000000 0xf8000>;
202 phys = <&usb2_hs_phy>;
203 phy-names = "usb2-phy";
204 dr_mode = "host";
205 maximum-speed = "high-speed";
206 snps,dis_u2_susphy_quirk;
207 };
208 };
Robert Markoe7a34f12020-07-06 10:37:54 +0200209 };
210};