1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
2724ba675SRob Herring/*
3724ba675SRob Herring * Broadcom BCM470X / BCM5301X ARM platform code.
4724ba675SRob Herring * DTS for Buffalo WZR-1166DHP and WZR-1166DHP2
5724ba675SRob Herring *
6724ba675SRob Herring * Copyright (C) 2014 Rafał Miłecki <zajec5@gmail.com>
7724ba675SRob Herring * Copyright (C) 2022 SHIMAMOTO Takayoshi <takayoshi.shimamoto.360@gmail.com>
8724ba675SRob Herring */
9724ba675SRob Herring
10724ba675SRob Herring
11724ba675SRob Herring#include "bcm4708.dtsi"
12724ba675SRob Herring#include "bcm5301x-nand-cs0-bch8.dtsi"
13724ba675SRob Herring#include <dt-bindings/leds/common.h>
14724ba675SRob Herring
15724ba675SRob Herring/ {
16724ba675SRob Herring	spi {
17724ba675SRob Herring		compatible = "spi-gpio";
18724ba675SRob Herring		num-chipselects = <1>;
19724ba675SRob Herring		sck-gpios = <&chipcommon 7 0>;
20724ba675SRob Herring		mosi-gpios = <&chipcommon 4 0>;
21724ba675SRob Herring		cs-gpios = <&chipcommon 6 0>;
22724ba675SRob Herring		#address-cells = <1>;
23724ba675SRob Herring		#size-cells = <0>;
24724ba675SRob Herring
25724ba675SRob Herring		hc595: gpio_spi@0 {
26724ba675SRob Herring			compatible = "fairchild,74hc595";
27724ba675SRob Herring			reg = <0>;
28724ba675SRob Herring			registers-number = <1>;
29724ba675SRob Herring			spi-max-frequency = <100000>;
30724ba675SRob Herring
31724ba675SRob Herring			gpio-controller;
32724ba675SRob Herring			#gpio-cells = <2>;
33724ba675SRob Herring
34724ba675SRob Herring		};
35724ba675SRob Herring	};
36724ba675SRob Herring
37724ba675SRob Herring	leds {
38724ba675SRob Herring		compatible = "gpio-leds";
39724ba675SRob Herring
40724ba675SRob Herring		led-usb {
41724ba675SRob Herring			/* label = "bcm53xx:blue:usb"; */
42724ba675SRob Herring			function = LED_FUNCTION_USB;
43724ba675SRob Herring			color = <LED_COLOR_ID_BLUE>;
44724ba675SRob Herring			gpios = <&hc595 0 GPIO_ACTIVE_HIGH>;
45724ba675SRob Herring			trigger-sources = <&ohci_port1>, <&ehci_port1>,
46724ba675SRob Herring					  <&xhci_port1>, <&ohci_port2>,
47724ba675SRob Herring					  <&ehci_port2>;
48724ba675SRob Herring			linux,default-trigger = "usbport";
49724ba675SRob Herring		};
50724ba675SRob Herring
51724ba675SRob Herring		led-power0 {
52724ba675SRob Herring			/* label = "bcm53xx:red:power"; */
53724ba675SRob Herring			function = LED_FUNCTION_FAULT;
54724ba675SRob Herring			color = <LED_COLOR_ID_RED>;
55724ba675SRob Herring			gpios = <&hc595 1 GPIO_ACTIVE_HIGH>;
56724ba675SRob Herring		};
57724ba675SRob Herring
58724ba675SRob Herring		led-power1 {
59724ba675SRob Herring			/* label = "bcm53xx:white:power"; */
60724ba675SRob Herring			function = LED_FUNCTION_POWER;
61724ba675SRob Herring			color = <LED_COLOR_ID_WHITE>;
62724ba675SRob Herring			gpios = <&hc595 2 GPIO_ACTIVE_HIGH>;
63724ba675SRob Herring			linux,default-trigger = "default-on";
64724ba675SRob Herring		};
65724ba675SRob Herring
66724ba675SRob Herring		led-router0 {
67724ba675SRob Herring			/*  label = "bcm53xx:blue:router"; */
68724ba675SRob Herring			function = LED_FUNCTION_STATUS;
69724ba675SRob Herring			color = <LED_COLOR_ID_BLUE>;
70724ba675SRob Herring			gpios = <&hc595 3 GPIO_ACTIVE_HIGH>;
71724ba675SRob Herring			linux,default-trigger = "default-on";
72724ba675SRob Herring		};
73724ba675SRob Herring
74724ba675SRob Herring		led-router1 {
75724ba675SRob Herring			/* label = "bcm53xx:amber:router"; */
76724ba675SRob Herring			function = LED_FUNCTION_STATUS;
77724ba675SRob Herring			color = <LED_COLOR_ID_AMBER>;
78724ba675SRob Herring			gpios = <&hc595 4 GPIO_ACTIVE_HIGH>;
79724ba675SRob Herring		};
80724ba675SRob Herring
81724ba675SRob Herring		led-wan {
82724ba675SRob Herring			/* label = "bcm53xx:blue:wan"; */
83724ba675SRob Herring			function = LED_FUNCTION_WAN;
84724ba675SRob Herring			color = <LED_COLOR_ID_BLUE>;
85724ba675SRob Herring			gpios = <&hc595 5 GPIO_ACTIVE_HIGH>;
86724ba675SRob Herring			linux,default-trigger = "default-on";
87724ba675SRob Herring		};
88724ba675SRob Herring
89724ba675SRob Herring		led-wireless0 {
90724ba675SRob Herring			/* label = "bcm53xx:blue:wireless"; */
91724ba675SRob Herring			function = LED_FUNCTION_WLAN;
92724ba675SRob Herring			color = <LED_COLOR_ID_BLUE>;
93724ba675SRob Herring			gpios = <&hc595 6 GPIO_ACTIVE_HIGH>;
94724ba675SRob Herring		};
95724ba675SRob Herring
96724ba675SRob Herring		led-wireless1 {
97724ba675SRob Herring			/* label = "bcm53xx:amber:wireless"; */
98724ba675SRob Herring			function = LED_FUNCTION_WLAN;
99724ba675SRob Herring			color = <LED_COLOR_ID_AMBER>;
100724ba675SRob Herring			gpios = <&hc595 7 GPIO_ACTIVE_HIGH>;
101724ba675SRob Herring		};
102724ba675SRob Herring	};
103724ba675SRob Herring
104724ba675SRob Herring	gpio-keys {
105724ba675SRob Herring		compatible = "gpio-keys";
106724ba675SRob Herring
107724ba675SRob Herring		button-restart {
108724ba675SRob Herring			label = "Reset";
109724ba675SRob Herring			linux,code = <KEY_RESTART>;
110724ba675SRob Herring			gpios = <&chipcommon 11 GPIO_ACTIVE_LOW>;
111724ba675SRob Herring		};
112724ba675SRob Herring
113724ba675SRob Herring		button-aoss {
114724ba675SRob Herring			label = "AOSS";
115724ba675SRob Herring			linux,code = <KEY_WPS_BUTTON>;
116724ba675SRob Herring			gpios = <&chipcommon 12 GPIO_ACTIVE_LOW>;
117724ba675SRob Herring		};
118724ba675SRob Herring
119724ba675SRob Herring		/* Commit mode set by switch? */
120724ba675SRob Herring		button-mode {
121724ba675SRob Herring			label = "Mode";
122724ba675SRob Herring			linux,code = <KEY_SETUP>;
123724ba675SRob Herring			gpios = <&chipcommon 13 GPIO_ACTIVE_LOW>;
124724ba675SRob Herring		};
125724ba675SRob Herring
126724ba675SRob Herring		/* Switch: AP mode */
127724ba675SRob Herring		button-sw-ap {
128724ba675SRob Herring			label = "AP";
129724ba675SRob Herring			linux,code = <BTN_0>;
130724ba675SRob Herring			gpios = <&chipcommon 14 GPIO_ACTIVE_LOW>;
131724ba675SRob Herring		};
132724ba675SRob Herring
133724ba675SRob Herring		button-eject {
134724ba675SRob Herring			label = "USB eject";
135724ba675SRob Herring			linux,code = <KEY_EJECTCD>;
136724ba675SRob Herring			gpios = <&chipcommon 15 GPIO_ACTIVE_LOW>;
137724ba675SRob Herring		};
138724ba675SRob Herring	};
139724ba675SRob Herring};
140724ba675SRob Herring
141724ba675SRob Herring&usb2 {
142724ba675SRob Herring	vcc-gpio = <&chipcommon 9 GPIO_ACTIVE_HIGH>;
143724ba675SRob Herring};
144724ba675SRob Herring
145724ba675SRob Herring&usb3 {
146724ba675SRob Herring	vcc-gpio = <&chipcommon 10 GPIO_ACTIVE_LOW>;
147724ba675SRob Herring};
148724ba675SRob Herring
149724ba675SRob Herring&spi_nor {
150724ba675SRob Herring	status = "okay";
151724ba675SRob Herring};
152724ba675SRob Herring
153724ba675SRob Herring&usb3_phy {
154724ba675SRob Herring	status = "okay";
155724ba675SRob Herring};
156724ba675SRob Herring
157724ba675SRob Herring&srab {
158724ba675SRob Herring	status = "okay";
159724ba675SRob Herring
160724ba675SRob Herring	ports {
161724ba675SRob Herring		port@0 {
162724ba675SRob Herring			label = "lan1";
163724ba675SRob Herring		};
164724ba675SRob Herring
165724ba675SRob Herring		port@1 {
166724ba675SRob Herring			label = "lan2";
167724ba675SRob Herring		};
168724ba675SRob Herring
169724ba675SRob Herring		port@2 {
170724ba675SRob Herring			label = "lan3";
171724ba675SRob Herring		};
172724ba675SRob Herring
173724ba675SRob Herring		port@3 {
174724ba675SRob Herring			label = "lan4";
175724ba675SRob Herring		};
176724ba675SRob Herring
177724ba675SRob Herring		port@4 {
178724ba675SRob Herring			label = "wan";
179724ba675SRob Herring		};
180724ba675SRob Herring
181724ba675SRob Herring		port@5 {
182724ba675SRob Herring			label = "cpu";
183724ba675SRob Herring		};
184*fca21e13SRafał Miłecki
185*fca21e13SRafał Miłecki		port@7 {
186*fca21e13SRafał Miłecki			status = "disabled";
187*fca21e13SRafał Miłecki		};
188*fca21e13SRafał Miłecki
189*fca21e13SRafał Miłecki		port@8 {
190*fca21e13SRafał Miłecki			status = "disabled";
191*fca21e13SRafał Miłecki		};
192724ba675SRob Herring	};
193724ba675SRob Herring};
194