GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / bcm4708-buffalo-wzr-1166dhp-common.dtsi
1 // SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2 /*
3  * Broadcom BCM470X / BCM5301X ARM platform code.
4  * DTS for Buffalo WZR-1166DHP and WZR-1166DHP2
5  *
6  * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com>
7  * Copyright (C) 2022 SHIMAMOTO Takayoshi <takayoshi.shimamoto.360@gmail.com>
8  */
9
10
11 #include "bcm4708.dtsi"
12 #include "bcm5301x-nand-cs0-bch8.dtsi"
13 #include <dt-bindings/leds/common.h>
14
15 / {
16         spi {
17                 compatible = "spi-gpio";
18                 num-chipselects = <1>;
19                 gpio-sck = <&chipcommon 7 0>;
20                 gpio-mosi = <&chipcommon 4 0>;
21                 cs-gpios = <&chipcommon 6 0>;
22                 #address-cells = <1>;
23                 #size-cells = <0>;
24
25                 hc595: gpio_spi@0 {
26                         compatible = "fairchild,74hc595";
27                         reg = <0>;
28                         registers-number = <1>;
29                         spi-max-frequency = <100000>;
30
31                         gpio-controller;
32                         #gpio-cells = <2>;
33
34                 };
35         };
36
37         leds {
38                 compatible = "gpio-leds";
39
40                 usb {
41                         /* label = "bcm53xx:blue:usb"; */
42                         function = LED_FUNCTION_USB;
43                         color = <LED_COLOR_ID_BLUE>;
44                         gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
45                         trigger-sources = <&ohci_port1>, <&ehci_port1>,
46                                           <&xhci_port1>, <&ohci_port2>,
47                                           <&ehci_port2>;
48                         linux,default-trigger = "usbport";
49                 };
50
51                 power0 {
52                         /* label = "bcm53xx:red:power"; */
53                         function = LED_FUNCTION_FAULT;
54                         color = <LED_COLOR_ID_RED>;
55                         gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
56                 };
57
58                 power1 {
59                         /* label = "bcm53xx:white:power"; */
60                         function = LED_FUNCTION_POWER;
61                         color = <LED_COLOR_ID_WHITE>;
62                         gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
63                         linux,default-trigger = "default-on";
64                 };
65
66                 router0 {
67                         /*  label = "bcm53xx:blue:router"; */
68                         function = LED_FUNCTION_STATUS;
69                         color = <LED_COLOR_ID_BLUE>;
70                         gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
71                         linux,default-trigger = "default-on";
72                 };
73
74                 router1 {
75                         /* label = "bcm53xx:amber:router"; */
76                         function = LED_FUNCTION_STATUS;
77                         color = <LED_COLOR_ID_AMBER>;
78                         gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
79                 };
80
81                 wan {
82                         /* label = "bcm53xx:blue:wan"; */
83                         function = LED_FUNCTION_WAN;
84                         color = <LED_COLOR_ID_BLUE>;
85                         gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
86                         linux,default-trigger = "default-on";
87                 };
88
89                 wireless0 {
90                         /* label = "bcm53xx:blue:wireless"; */
91                         function = LED_FUNCTION_WLAN;
92                         color = <LED_COLOR_ID_BLUE>;
93                         gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
94                 };
95
96                 wireless1 {
97                         /* label = "bcm53xx:amber:wireless"; */
98                         function = LED_FUNCTION_WLAN;
99                         color = <LED_COLOR_ID_AMBER>;
100                         gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
101                 };
102         };
103
104         gpio-keys {
105                 compatible = "gpio-keys";
106
107                 button-restart {
108                         label = "Reset";
109                         linux,code = <KEY_RESTART>;
110                         gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
111                 };
112
113                 button-aoss {
114                         label = "AOSS";
115                         linux,code = <KEY_WPS_BUTTON>;
116                         gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
117                 };
118
119                 /* Commit mode set by switch? */
120                 button-mode {
121                         label = "Mode";
122                         linux,code = <KEY_SETUP>;
123                         gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
124                 };
125
126                 /* Switch: AP mode */
127                 button-sw-ap {
128                         label = "AP";
129                         linux,code = <BTN_0>;
130                         gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
131                 };
132
133                 button-eject {
134                         label = "USB eject";
135                         linux,code = <KEY_EJECTCD>;
136                         gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
137                 };
138         };
139 };
140
141 &usb2 {
142         vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
143 };
144
145 &usb3 {
146         vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_LOW>;
147 };
148
149 &spi_nor {
150         status = "okay";
151 };
152
153 &usb3_phy {
154         status = "okay";
155 };
156
157 &srab {
158         status = "okay";
159
160         ports {
161                 port@0 {
162                         reg = <0>;
163                         label = "lan1";
164                 };
165
166                 port@1 {
167                         reg = <1>;
168                         label = "lan2";
169                 };
170
171                 port@2 {
172                         reg = <2>;
173                         label = "lan3";
174                 };
175
176                 port@3 {
177                         reg = <3>;
178                         label = "lan4";
179                 };
180
181                 port@4 {
182                         reg = <4>;
183                         label = "wan";
184                 };
185
186                 port@5 {
187                         reg = <5>;
188                         label = "cpu";
189                         ethernet = <&gmac0>;
190                 };
191         };
192 };