ipq40xx: add support for Plasma Cloud PA2200
[openwrt/staging/hauke.git] / target / linux / ipq40xx / files / arch / arm / boot / dts / qcom-ipq4019-pa2200.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /* Copyright (c) 2017-2020, Sven Eckelmann <sven@narfation.org>
3 * Copyright (c) 2018, Marek Lindner <marek.lindner@kaiwoo.ai>
4 */
5
6 #include "qcom-ipq4019.dtsi"
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/soc/qcom,tcsr.h>
10
11 / {
12 model = "Plasma Cloud PA2200";
13 compatible = "plasmacloud,pa2200";
14
15 soc {
16 rng@22000 {
17 status = "okay";
18 };
19
20 mdio@90000 {
21 status = "okay";
22 };
23
24 ess-psgmii@98000 {
25 status = "okay";
26 };
27
28 tcsr@1949000 {
29 compatible = "qcom,tcsr";
30 reg = <0x1949000 0x100>;
31 qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
32 };
33
34 ess_tcsr@1953000 {
35 compatible = "qcom,tcsr";
36 reg = <0x1953000 0x1000>;
37 qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
38 };
39
40 tcsr@1957000 {
41 compatible = "qcom,tcsr";
42 reg = <0x1957000 0x100>;
43 qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
44 };
45
46 crypto@8e3a000 {
47 status = "okay";
48 };
49
50 watchdog@b017000 {
51 status = "okay";
52 };
53
54 ess-switch@c000000 {
55 switch_lan_bmp = <0x10>;
56 switch_wan_bmp = <0x20>;
57
58 status = "okay";
59 };
60
61 edma@c080000 {
62 status = "okay";
63 };
64 };
65
66 keys {
67 compatible = "gpio-keys";
68
69 reset {
70 label = "reset";
71 gpios = <&tlmm 18 GPIO_ACTIVE_LOW>;
72 linux,code = <KEY_RESTART >;
73 };
74 };
75
76 aliases {
77 led-boot = &led_power_orange;
78 led-failsafe = &led_status_blue;
79 led-running = &led_power_orange;
80 led-upgrade = &led_status_blue;
81 };
82
83 leds {
84 compatible = "gpio-leds";
85
86 led_power_orange: power_orange {
87 label = "orange:power";
88 gpios = <&tlmm 43 GPIO_ACTIVE_LOW>;
89 };
90
91 2g_blue {
92 label = "blue:2g";
93 gpios = <&tlmm 46 GPIO_ACTIVE_LOW>;
94 linux,default-trigger = "phy1tpt";
95 };
96
97 2g_green {
98 label = "green:5g1";
99 gpios = <&tlmm 47 GPIO_ACTIVE_LOW>;
100 linux,default-trigger = "phy0tpt";
101 };
102
103 5g2_green {
104 label = "green:5g2";
105 gpios = <&tlmm 48 GPIO_ACTIVE_LOW>;
106 linux,default-trigger = "phy2tpt";
107 };
108
109 led_status_blue: status_blue {
110 label = "blue:status";
111 gpios = <&tlmm 50 GPIO_ACTIVE_LOW>;
112 };
113 };
114 };
115
116 &tlmm {
117 serial_pins: serial_pinmux {
118 mux {
119 pins = "gpio16", "gpio17";
120 function = "blsp_uart0";
121 bias-disable;
122 };
123 };
124
125 spi_0_pins: spi_0_pinmux {
126 pin {
127 function = "blsp_spi0";
128 pins = "gpio13", "gpio14", "gpio15";
129 drive-strength = <12>;
130 bias-disable;
131 };
132 pin_cs {
133 function = "gpio";
134 pins = "gpio12";
135 drive-strength = <2>;
136 bias-disable;
137 output-high;
138 };
139 };
140 };
141
142 &blsp_dma {
143 status = "okay";
144 };
145
146 &blsp1_spi1 {
147 pinctrl-0 = <&spi_0_pins>;
148 pinctrl-names = "default";
149 status = "okay";
150 cs-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
151
152 flash@0 {
153 #address-cells = <1>;
154 #size-cells = <1>;
155 compatible = "jedec,spi-nor";
156 reg = <0>;
157 spi-max-frequency = <24000000>;
158 /* partitions are passed via bootloader */
159 };
160 };
161
162 &blsp1_uart1 {
163 pinctrl-0 = <&serial_pins>;
164 pinctrl-names = "default";
165 status = "okay";
166 };
167
168 &cryptobam {
169 status = "okay";
170 };
171
172 &gmac0 {
173 qcom,phy_mdio_addr = <3>;
174 qcom,poll_required = <1>;
175 qcom,forced_speed = <1000>;
176 qcom,forced_duplex = <1>;
177 vlan_tag = <1 0x10>;
178 };
179
180 &pcie0 {
181 status = "okay";
182 perst-gpio = <&tlmm 38 GPIO_ACTIVE_LOW>;
183 wake-gpio = <&tlmm 50 GPIO_ACTIVE_LOW>;
184
185 bridge@0,0 {
186 reg = <0x00000000 0 0 0 0>;
187 #address-cells = <3>;
188 #size-cells = <2>;
189 ranges;
190
191 wifi2: wifi@1,0 {
192 compatible = "qcom,ath10k";
193 status = "okay";
194 reg = <0x00010000 0 0 0 0>;
195 qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
196 ieee80211-freq-limit = <5170000 5350000>;
197 };
198 };
199 };
200
201 &wifi0 {
202 status = "okay";
203 qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
204 };
205
206 &wifi1 {
207 status = "okay";
208 qcom,ath10k-calibration-variant = "PlasmaCloud-PA2200";
209 ieee80211-freq-limit = <5470000 5875000>;
210 };