ipq40xx: Add support for Unielec U4019
[oweals/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 };