blob: f9489e42ea2c014915c4809043ee83b66dd423df [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
Sumit Gargb7572e52022-07-27 13:52:04 +053069 soc_gpios: pinctrl@1000000 {
70 compatible = "qcom,ipq4019-pinctrl";
Robert Markoe7a34f12020-07-06 10:37:54 +020071 reg = <0x1000000 0x300000>;
Sumit Gargb7572e52022-07-27 13:52:04 +053072 gpio-controller;
73 gpio-count = <100>;
74 gpio-bank-name="soc";
75 #gpio-cells = <2>;
Simon Glassd3a98cb2023-02-13 08:56:33 -070076 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +020077 };
78
79 blsp1_uart1: serial@78af000 {
80 compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
81 reg = <0x78af000 0x200>;
Robert Marko06d29002020-09-10 16:00:00 +020082 clock = <&gcc GCC_BLSP1_UART1_APPS_CLK>;
Robert Markoe7a34f12020-07-06 10:37:54 +020083 bit-rate = <0xFF>;
84 status = "disabled";
Simon Glassd3a98cb2023-02-13 08:56:33 -070085 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +020086 };
87
Robert Markoda344232020-10-08 22:05:10 +020088 blsp1_spi1: spi@78b5000 {
89 compatible = "qcom,spi-qup-v2.2.1";
90 reg = <0x78b5000 0x600>;
91 clocks = <&gcc GCC_BLSP1_QUP1_SPI_APPS_CLK>;
92 #address-cells = <1>;
93 #size-cells = <0>;
94 status = "disabled";
Simon Glassd3a98cb2023-02-13 08:56:33 -070095 bootph-all;
Robert Markoe7a34f12020-07-06 10:37:54 +020096 };
Robert Marko12a9ce92020-09-10 16:00:06 +020097
Robert Marko6649aa82020-10-08 22:05:12 +020098 mdio: mdio@90000 {
99 #address-cells = <1>;
100 #size-cells = <0>;
101 compatible = "qcom,ipq4019-mdio";
102 reg = <0x90000 0x64>;
103 status = "disabled";
104
105 ethphy0: ethernet-phy@0 {
106 reg = <0>;
107 };
108
109 ethphy1: ethernet-phy@1 {
110 reg = <1>;
111 };
112
113 ethphy2: ethernet-phy@2 {
114 reg = <2>;
115 };
116
117 ethphy3: ethernet-phy@3 {
118 reg = <3>;
119 };
120
121 ethphy4: ethernet-phy@4 {
122 reg = <4>;
123 };
124 };
125
Robert Marko12a9ce92020-09-10 16:00:06 +0200126 usb3_ss_phy: ssphy@9a000 {
127 compatible = "qcom,usb-ss-ipq4019-phy";
128 #phy-cells = <0>;
129 reg = <0x9a000 0x800>;
130 reg-names = "phy_base";
Konrad Dybcio6c0b8442023-11-07 12:41:01 +0000131 resets = <&gcc USB3_UNIPHY_PHY_ARES>;
Robert Marko12a9ce92020-09-10 16:00:06 +0200132 reset-names = "por_rst";
133 status = "disabled";
134 };
135
136 usb3_hs_phy: hsphy@a6000 {
137 compatible = "qcom,usb-hs-ipq4019-phy";
138 #phy-cells = <0>;
139 reg = <0xa6000 0x40>;
140 reg-names = "phy_base";
Konrad Dybcio6c0b8442023-11-07 12:41:01 +0000141 resets = <&gcc USB3_HSPHY_POR_ARES>, <&gcc USB3_HSPHY_S_ARES>;
Robert Marko12a9ce92020-09-10 16:00:06 +0200142 reset-names = "por_rst", "srif_rst";
143 status = "disabled";
144 };
145
146 usb3: usb3@8af8800 {
147 compatible = "qcom,dwc3";
148 reg = <0x8af8800 0x100>;
149 #address-cells = <1>;
150 #size-cells = <1>;
151 clocks = <&gcc GCC_USB3_MASTER_CLK>,
152 <&gcc GCC_USB3_SLEEP_CLK>,
153 <&gcc GCC_USB3_MOCK_UTMI_CLK>;
154 clock-names = "master", "sleep", "mock_utmi";
155 ranges;
156 status = "disabled";
157
158 dwc3@8a00000 {
159 compatible = "snps,dwc3";
160 reg = <0x8a00000 0xf8000>;
161 phys = <&usb3_hs_phy>, <&usb3_ss_phy>;
162 phy-names = "usb2-phy", "usb3-phy";
163 dr_mode = "host";
164 maximum-speed = "super-speed";
165 snps,dis_u2_susphy_quirk;
166 };
167 };
168
169 usb2_hs_phy: hsphy@a8000 {
170 compatible = "qcom,usb-hs-ipq4019-phy";
171 #phy-cells = <0>;
172 reg = <0xa8000 0x40>;
173 reg-names = "phy_base";
Konrad Dybcio6c0b8442023-11-07 12:41:01 +0000174 resets = <&gcc USB2_HSPHY_POR_ARES>, <&gcc USB2_HSPHY_S_ARES>;
Robert Marko12a9ce92020-09-10 16:00:06 +0200175 reset-names = "por_rst", "srif_rst";
176 status = "disabled";
177 };
178
179 usb2: usb2@60f8800 {
180 compatible = "qcom,dwc3";
181 reg = <0x60f8800 0x100>;
182 #address-cells = <1>;
183 #size-cells = <1>;
184 clocks = <&gcc GCC_USB2_MASTER_CLK>,
185 <&gcc GCC_USB2_SLEEP_CLK>,
186 <&gcc GCC_USB2_MOCK_UTMI_CLK>;
187 clock-names = "master", "sleep", "mock_utmi";
188 ranges;
189 status = "disabled";
190
191 dwc3@6000000 {
192 compatible = "snps,dwc3";
193 reg = <0x6000000 0xf8000>;
194 phys = <&usb2_hs_phy>;
195 phy-names = "usb2-phy";
196 dr_mode = "host";
197 maximum-speed = "high-speed";
198 snps,dis_u2_susphy_quirk;
199 };
200 };
Robert Markoe7a34f12020-07-06 10:37:54 +0200201 };
202};