brcm2708-gpu-fw: update to latest firmware
[openwrt/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0562-overlays-Add-the-spi-gpio40-45-overlay.patch
1 From 726da40b8c272d181a41686195f91b914363167b Mon Sep 17 00:00:00 2001
2 From: Tim Gover <tim.gover@raspberrypi.org>
3 Date: Tue, 22 Jan 2019 10:49:41 +0000
4 Subject: [PATCH] overlays: Add the spi-gpio40-45 overlay
5
6 The 2711 B0 boot EEPROM is programmed via SPI0 on GPIO
7 pins 40-43 CS0. Add a device tree overlay to optionally
8 change the SPI0 pinmux from the external GPIO pins to
9 the boot EEPROM pins.
10 ---
11 arch/arm/boot/dts/overlays/Makefile | 1 +
12 arch/arm/boot/dts/overlays/README | 6 ++++
13 .../dts/overlays/spi-gpio40-45-overlay.dts | 36 +++++++++++++++++++
14 3 files changed, 43 insertions(+)
15 create mode 100644 arch/arm/boot/dts/overlays/spi-gpio40-45-overlay.dts
16
17 --- a/arch/arm/boot/dts/overlays/Makefile
18 +++ b/arch/arm/boot/dts/overlays/Makefile
19 @@ -135,6 +135,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
20 smi-dev.dtbo \
21 smi-nand.dtbo \
22 spi-gpio35-39.dtbo \
23 + spi-gpio40-45.dtbo \
24 spi-rtc.dtbo \
25 spi0-cs.dtbo \
26 spi0-hw-cs.dtbo \
27 --- a/arch/arm/boot/dts/overlays/README
28 +++ b/arch/arm/boot/dts/overlays/README
29 @@ -1967,6 +1967,12 @@ Load: dtoverlay=spi-gpio35-39
30 Params: <None>
31
32
33 +Name: spi-gpio40-45
34 +Info: Move SPI function block to GPIOs 40 to 45
35 +Load: dtoverlay=spi-gpio40-45
36 +Params: <None>
37 +
38 +
39 Name: spi-rtc
40 Info: Adds support for a number of SPI Real Time Clock devices
41 Load: dtoverlay=spi-rtc,<param>=<val>
42 --- /dev/null
43 +++ b/arch/arm/boot/dts/overlays/spi-gpio40-45-overlay.dts
44 @@ -0,0 +1,36 @@
45 +/*
46 + * Boot EEPROM overlay
47 + */
48 +
49 +/dts-v1/;
50 +/plugin/;
51 +
52 +/ {
53 + compatible = "brcm,bcm2835";
54 +
55 + fragment@0 {
56 + target = <&spi0>;
57 + __overlay__ {
58 + cs-gpios = <&gpio 43 1>, <&gpio 44 1>, <&gpio 45 1>;
59 + status = "okay";
60 + };
61 + };
62 +
63 + fragment@1 {
64 + target = <&spi0_cs_pins>;
65 + __overlay__ {
66 + brcm,pins = <45 44 43>;
67 + brcm,function = <1>; /* output */
68 + status = "okay";
69 + };
70 + };
71 +
72 + fragment@2 {
73 + target = <&spi0_pins>;
74 + __overlay__ {
75 + brcm,pins = <40 41 42>;
76 + brcm,function = <3>; /* alt4 */
77 + status = "okay";
78 + };
79 + };
80 +};