7a1f05afccaca70aa45c90679a09767bffb68c03
[openwrt/staging/hauke.git] / target / linux / ath79 / dts / ar9344_teltonika_rut955.dts
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2
3 #include "ar9344_teltonika_rut9xx.dtsi"
4
5 / {
6 model = "Teltonika RUT955";
7 compatible = "teltonika,rut955", "teltonika,rut9xx", "qca,ar9344";
8
9 aliases {
10 led-boot = &led_system_green;
11 led-failsafe = &led_system_red;
12 led-running = &led_system_green;
13 led-upgrade = &led_system_red;
14 };
15
16 leds {
17 compatible = "gpio-leds";
18
19 signal0 {
20 label = "green:signal0";
21 gpios = <&gpio_ext 0 GPIO_ACTIVE_HIGH>;
22 };
23
24 signal1 {
25 label = "green:signal1";
26 gpios = <&gpio_ext 1 GPIO_ACTIVE_HIGH>;
27 };
28
29 signal2 {
30 label = "green:signal2";
31 gpios = <&gpio_ext 2 GPIO_ACTIVE_HIGH>;
32 };
33
34 signal3 {
35 label = "green:signal3";
36 gpios = <&gpio_ext 3 GPIO_ACTIVE_HIGH>;
37 };
38
39 signal4 {
40 label = "green:signal4";
41 gpios = <&gpio_ext 4 GPIO_ACTIVE_HIGH>;
42 };
43
44 led_system_red: system_red {
45 label = "red:system";
46 gpios = <&gpio_ext 5 GPIO_ACTIVE_HIGH>;
47 };
48
49 led_system_green: system_green {
50 label = "green:system";
51 gpios = <&gpio_ext 6 GPIO_ACTIVE_HIGH>;
52 default-state = "on";
53 };
54 };
55 };
56
57 &gpio {
58 pinctrl-names = "default";
59 pinctrl-0 = <&jtag_disable_pins>;
60
61 gpio-line-names = "RS485_D", "led_wan", "DIN3", "mmc_cs",
62 "ext_sck", "", "", "",
63 "", "", "", "",
64 "ext_mosi", "led_lan2", "led_lan1", "",
65 "i2c_scl", "i2c_sda", "", "DIN2",
66 "ext_cs", "DIN1", "led_lan3", "",
67 "", "", "", "",
68 "", "", "", "";
69
70 ext_sck {
71 gpio-hog;
72 gpios = <4 GPIO_ACTIVE_HIGH>;
73 output-high;
74 line-name = "rut955:ext:sck";
75 };
76
77 ext_mosi {
78 gpio-hog;
79 gpios = <12 GPIO_ACTIVE_HIGH>;
80 output-high;
81 line-name = "rut955:ext:mosi";
82 };
83
84 ext_cs {
85 gpio-hog;
86 gpios = <20 GPIO_ACTIVE_HIGH>;
87 output-low;
88 line-name = "rut955:ext:cs";
89 };
90
91 mmc_cs {
92 gpio-hog;
93 gpios = <3 GPIO_ACTIVE_HIGH>;
94 output-high;
95 line-name = "rut955:mmc:cs";
96 };
97
98 uart1_td {
99 gpio-hog;
100 gpios = <18 GPIO_ACTIVE_HIGH>;
101 output-high;
102 line-name = "rut955:uart1:td";
103 };
104
105 uart1_rd {
106 gpio-hog;
107 gpios = <11 GPIO_ACTIVE_LOW>;
108 input;
109 line-name = "rut955:uart1:rd";
110 };
111
112 led_wan {
113 gpio-hog;
114 gpios = <1 GPIO_ACTIVE_HIGH>;
115 output-high;
116 line-name = "rut955:led:wan";
117 };
118
119 led_lan2 {
120 gpio-hog;
121 gpios = <13 GPIO_ACTIVE_HIGH>;
122 output-high;
123 line-name = "rut955:led:lan2";
124 };
125
126 led_lan1 {
127 gpio-hog;
128 gpios = <14 GPIO_ACTIVE_HIGH>;
129 output-high;
130 line-name = "rut955:led:lan1";
131 };
132
133 led_lan3 {
134 gpio-hog;
135 gpios = <22 GPIO_ACTIVE_HIGH>;
136 output-high;
137 line-name = "rut955:led:lan3";
138 };
139 };
140
141 &spi {
142 status = "okay";
143
144 pinctrl-names = "default";
145 pinctrl-0 = <&pmx_spi>, <&pmx_spi_ext>;
146
147 gpio_ext: gpio_ext@2 {
148 compatible = "fairchild,74hc595";
149 reg = <2>;
150 gpio-controller;
151 #gpio-cells = <2>;
152 registers-number = <2>;
153 spi-max-frequency = <10000000>;
154 gpio-line-names = "signal_bar0", "signal_bar1", "signal_bar2", "signal_bar3",
155 "signal_bar4", "status_red", "status_green", "sim_sel",
156 "DOUT1", "DOUT2", "modem_vbus", "modem_rst",
157 "DOUT3", "RS485_R", "SDCS", "HWRST";
158 };
159 };
160
161 &eth0 {
162 status = "okay";
163
164 phy-handle = <&swphy4>;
165
166 nvmem-cells = <&macaddr_config_0>;
167 nvmem-cell-names = "mac-address";
168 mac-address-increment = <1>;
169 };
170
171 &eth1 {
172 status = "okay";
173
174 nvmem-cells = <&macaddr_config_0>;
175 nvmem-cell-names = "mac-address";
176 };
177
178 &builtin_switch {
179 pinctrl-names = "default";
180 pinctrl-0 = <&pmx_leds_switch>;
181 };
182
183 &pinmux {
184 pmx_spi_ext: spi_ext {
185 // 2nd SCK on GPIO 4, 2nd MOSI on GPIO 12, SPI_CS2 on GPIO 20
186 pinctrl-single,bits = <0x4 0x0a 0xff>,
187 <0xc 0x0b 0xff>,
188 <0x14 0x08 0xff>;
189 };
190 };