lantiq: fix broadcasts and vlans in two iface mode
[oweals/openwrt.git] / target / linux / brcm2708 / patches-4.9 / 0199-BCM270X_DT-Add-bcm2708-rpi-0-w.dts.patch
1 From 41620ad7f4b059be162f615a7be423df78406d29 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Tue, 24 May 2016 16:30:05 +0100
4 Subject: [PATCH] BCM270X_DT: Add bcm2708-rpi-0-w.dts
5
6 Add DT support for the Pi Zero W. N.B. It will not be loaded
7 automatically without a corresponding change to the firmware.
8
9 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
10 ---
11  arch/arm/boot/dts/Makefile            |   1 +
12  arch/arm/boot/dts/bcm2708-rpi-0-w.dts | 197 ++++++++++++++++++++++++++++++++++
13  2 files changed, 198 insertions(+)
14  create mode 100644 arch/arm/boot/dts/bcm2708-rpi-0-w.dts
15
16 --- a/arch/arm/boot/dts/Makefile
17 +++ b/arch/arm/boot/dts/Makefile
18 @@ -4,6 +4,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
19         bcm2708-rpi-b.dtb \
20         bcm2708-rpi-b-plus.dtb \
21         bcm2708-rpi-cm.dtb \
22 +       bcm2708-rpi-0-w.dtb \
23         bcm2709-rpi-2-b.dtb \
24         bcm2710-rpi-3-b.dtb \
25         bcm2710-rpi-cm3.dtb
26 --- /dev/null
27 +++ b/arch/arm/boot/dts/bcm2708-rpi-0-w.dts
28 @@ -0,0 +1,197 @@
29 +/dts-v1/;
30 +
31 +#include "bcm2708.dtsi"
32 +
33 +/ {
34 +       model = "Raspberry Pi Zero W";
35 +};
36 +
37 +&gpio {
38 +       sdhost_pins: sdhost_pins {
39 +               brcm,pins = <48 49 50 51 52 53>;
40 +               brcm,function = <4>; /* alt0 */
41 +       };
42 +
43 +       spi0_pins: spi0_pins {
44 +               brcm,pins = <9 10 11>;
45 +               brcm,function = <4>; /* alt0 */
46 +       };
47 +
48 +       spi0_cs_pins: spi0_cs_pins {
49 +               brcm,pins = <8 7>;
50 +               brcm,function = <1>; /* output */
51 +       };
52 +
53 +       i2c0_pins: i2c0 {
54 +               brcm,pins = <0 1>;
55 +               brcm,function = <4>;
56 +       };
57 +
58 +       i2c1_pins: i2c1 {
59 +               brcm,pins = <2 3>;
60 +               brcm,function = <4>;
61 +       };
62 +
63 +       i2s_pins: i2s {
64 +               brcm,pins = <18 19 20 21>;
65 +               brcm,function = <4>; /* alt0 */
66 +       };
67 +
68 +       sdio_pins: sdio_pins {
69 +               brcm,pins = <34 35 36 37 38 39>;
70 +               brcm,function = <7>; /* ALT3 = SD1 */
71 +               brcm,pull = <0 2 2 2 2 2>;
72 +       };
73 +
74 +       bt_pins: bt_pins {
75 +               brcm,pins = <43>;
76 +               brcm,function = <4>; /* alt0:GPCLK2 */
77 +               brcm,pull = <0>; /* none */
78 +       };
79 +
80 +       uart0_pins: uart0_pins {
81 +               brcm,pins = <30 31 32 33>;
82 +               brcm,function = <7>; /* alt3=UART0 */
83 +               brcm,pull = <2 0 0 2>; /* up none none up */
84 +       };
85 +
86 +       uart1_pins: uart1_pins {
87 +               brcm,pins;
88 +               brcm,function;
89 +               brcm,pull;
90 +       };
91 +
92 +       audio_pins: audio_pins {
93 +               brcm,pins = <>;
94 +               brcm,function = <>;
95 +       };
96 +};
97 +
98 +&sdhost {
99 +       pinctrl-names = "default";
100 +       pinctrl-0 = <&sdhost_pins>;
101 +       bus-width = <4>;
102 +       status = "okay";
103 +};
104 +
105 +&mmc {
106 +       pinctrl-names = "default";
107 +       pinctrl-0 = <&sdio_pins>;
108 +       non-removable;
109 +       bus-width = <4>;
110 +       status = "okay";
111 +};
112 +
113 +&fb {
114 +       status = "okay";
115 +};
116 +
117 +&uart0 {
118 +       pinctrl-names = "default";
119 +       pinctrl-0 = <&uart0_pins &bt_pins>;
120 +       status = "okay";
121 +};
122 +
123 +&uart1 {
124 +       pinctrl-names = "default";
125 +       pinctrl-0 = <&uart1_pins>;
126 +       status = "okay";
127 +};
128 +
129 +&spi0 {
130 +       pinctrl-names = "default";
131 +       pinctrl-0 = <&spi0_pins &spi0_cs_pins>;
132 +       cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
133 +
134 +       spidev0: spidev@0{
135 +               compatible = "spidev";
136 +               reg = <0>;      /* CE0 */
137 +               #address-cells = <1>;
138 +               #size-cells = <0>;
139 +               spi-max-frequency = <500000>;
140 +       };
141 +
142 +       spidev1: spidev@1{
143 +               compatible = "spidev";
144 +               reg = <1>;      /* CE1 */
145 +               #address-cells = <1>;
146 +               #size-cells = <0>;
147 +               spi-max-frequency = <500000>;
148 +       };
149 +};
150 +
151 +&i2c0 {
152 +       pinctrl-names = "default";
153 +       pinctrl-0 = <&i2c0_pins>;
154 +       clock-frequency = <100000>;
155 +};
156 +
157 +&i2c1 {
158 +       pinctrl-names = "default";
159 +       pinctrl-0 = <&i2c1_pins>;
160 +       clock-frequency = <100000>;
161 +};
162 +
163 +&i2c2 {
164 +       clock-frequency = <100000>;
165 +};
166 +
167 +&i2s {
168 +       #sound-dai-cells = <0>;
169 +       pinctrl-names = "default";
170 +       pinctrl-0 = <&i2s_pins>;
171 +};
172 +
173 +&random {
174 +       status = "okay";
175 +};
176 +
177 +&leds {
178 +       act_led: act {
179 +               label = "led0";
180 +               linux,default-trigger = "mmc0";
181 +               gpios = <&gpio 47 0>;
182 +       };
183 +};
184 +
185 +&hdmi {
186 +       hpd-gpios = <&gpio 46 GPIO_ACTIVE_LOW>;
187 +};
188 +
189 +&audio {
190 +       pinctrl-names = "default";
191 +       pinctrl-0 = <&audio_pins>;
192 +};
193 +
194 +/ {
195 +       chosen {
196 +               bootargs = "8250.nr_uarts=1";
197 +       };
198 +};
199 +
200 +/ {
201 +       __overrides__ {
202 +               uart0 = <&uart0>,"status";
203 +               uart1 = <&uart1>,"status";
204 +               i2s = <&i2s>,"status";
205 +               spi = <&spi0>,"status";
206 +               i2c0 = <&i2c0>,"status";
207 +               i2c1 = <&i2c1>,"status";
208 +               i2c2_iknowwhatimdoing = <&i2c2>,"status";
209 +               i2c0_baudrate = <&i2c0>,"clock-frequency:0";
210 +               i2c1_baudrate = <&i2c1>,"clock-frequency:0";
211 +               i2c2_baudrate = <&i2c2>,"clock-frequency:0";
212 +
213 +               act_led_gpio = <&act_led>,"gpios:4";
214 +               act_led_activelow = <&act_led>,"gpios:8";
215 +               act_led_trigger = <&act_led>,"linux,default-trigger";
216 +
217 +               audio = <&audio>,"status";
218 +               watchdog = <&watchdog>,"status";
219 +               random = <&random>,"status";
220 +               sd_overclock = <&sdhost>,"brcm,overclock-50:0";
221 +               sd_force_pio = <&sdhost>,"brcm,force-pio?";
222 +               sd_pio_limit = <&sdhost>,"brcm,pio-limit:0";
223 +               sd_debug     = <&sdhost>,"brcm,debug";
224 +       };
225 +};