ipq40xx: Add support for Unielec U4019
[openwrt/openwrt.git] / target / linux / ipq40xx / files-4.19 / arch / arm / boot / dts / qcom-ipq4019-unielec-u4019.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "qcom-ipq4019.dtsi"
4 #include <dt-bindings/gpio/gpio.h>
5 #include <dt-bindings/input/input.h>
6 #include <dt-bindings/soc/qcom,tcsr.h>
7
8 / {
9 compatible = "unielec,u4019","qcom,ipq4019";
10
11 soc {
12 rng@22000 {
13 status = "okay";
14 };
15
16 mdio@90000 {
17 status = "okay";
18 pinctrl-0 = <&mdio_pins>;
19 pinctrl-names = "default";
20 phy-reset-gpio = <&tlmm 47 0>;
21 };
22
23 ess-psgmii@98000 {
24 status = "okay";
25 };
26
27 tcsr@1949000 {
28 compatible = "qcom,tcsr";
29 reg = <0x1949000 0x100>;
30 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
31 };
32
33 tcsr@194b000 {
34 compatible = "qcom,tcsr";
35 reg = <0x194b000 0x100>;
36 qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
37 status = "okay";
38 };
39
40 ess_tcsr@1953000 {
41 compatible = "qcom,tcsr";
42 reg = <0x1953000 0x1000>;
43 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
44 };
45
46 tcsr@1957000 {
47 compatible = "qcom,tcsr";
48 reg = <0x1957000 0x100>;
49 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
50 };
51
52 usb2@60f8800 {
53 status = "okay";
54
55 dwc3@6000000 {
56 #address-cells = <1>;
57 #size-cells = <0>;
58
59 port@1 {
60 reg = <1>;
61 #trigger-source-cells = <0>;
62 };
63 };
64 };
65
66 usb3@8af8800 {
67 status = "okay";
68
69 dwc3@8a00000 {
70 #address-cells = <1>;
71 #size-cells = <0>;
72
73 port@1 {
74 reg = <1>;
75 #trigger-source-cells = <0>;
76 };
77
78 port@2 {
79 reg = <2>;
80 #trigger-source-cells = <0>;
81 };
82 };
83 };
84
85 watchdog@b017000 {
86 status = "okay";
87 };
88
89 ess-switch@c000000 {
90 status = "okay";
91 };
92
93 edma@c080000 {
94 status = "okay";
95 };
96
97 aliases {
98 led-boot = &led_status;
99 led-failsafe = &led_status;
100 led-running = &led_status;
101 led-upgrade = &led_status;
102 serial0 = &blsp1_uart1;
103 serial1 = &blsp1_uart2;
104 };
105
106 leds {
107 compatible = "gpio-leds";
108 pinctrl-0 = <&led_pins>;
109 pinctrl-names = "default";
110
111 led_status: led2 {
112 label = "u4019:green:led2";
113 gpios = <&tlmm 68 GPIO_ACTIVE_LOW>;
114 };
115 };
116
117 keys {
118 compatible = "gpio-keys";
119
120 reset {
121 label = "reset";
122 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
123 linux,code = <KEY_RESTART>;
124 };
125 };
126 };
127 };
128
129 &blsp_dma {
130 status = "okay";
131 };
132
133 &blsp1_uart1 {
134 pinctrl-0 = <&serial_0_pins>;
135 pinctrl-names = "default";
136 status = "okay";
137 };
138
139 &blsp1_uart2 {
140 pinctrl-0 = <&serial_1_pins>;
141 pinctrl-names = "default";
142 status = "okay";
143 };
144
145 &qpic_bam {
146 status = "okay";
147 };
148
149 &tlmm {
150 mdio_pins: mdio_pinmux {
151 mux_1 {
152 pins = "gpio6";
153 function = "mdio";
154 bias-pull-up;
155 };
156 mux_2 {
157 pins = "gpio7";
158 function = "mdc";
159 bias-pull-up;
160 };
161 };
162
163 serial_0_pins: serial0-pinmux {
164 mux {
165 pins = "gpio16", "gpio17";
166 function = "blsp_uart0";
167 bias-disable;
168 };
169 };
170 serial_1_pins: serial1_pinmux {
171 mux {
172 pins = "gpio8", "gpio9";
173 function = "blsp_uart1";
174 bias-disable;
175 };
176 };
177
178 spi_0_pins: spi_0_pinmux {
179 pinmux {
180 function = "blsp_spi0";
181 pins = "gpio13", "gpio14", "gpio15";
182 drive-strength = <12>;
183 bias-disable;
184 };
185
186 pinmux_cs {
187 function = "gpio";
188 pins = "gpio12";
189 drive-strength = <2>;
190 bias-disable;
191 output-high;
192 };
193 };
194
195 led_pins: led_pinmux {
196 mux {
197 function = "gpio";
198 pins = "gpio68";
199 bias-disabled;
200 output-low;
201 };
202 };
203 };
204
205 &usb3_ss_phy {
206 status = "okay";
207 };
208
209 &usb3_hs_phy {
210 status = "okay";
211 };
212
213 &usb2_hs_phy {
214 status = "okay";
215 };
216
217 &wifi0 {
218 status = "okay";
219 };
220
221 &wifi1 {
222 status = "okay";
223 };