brcm2708: add linux 4.19 support
[oweals/openwrt.git] / target / linux / brcm2708 / patches-4.19 / 950-0642-overlays-Add-the-spi-gpio40-45-overlay.patch
1 From 14cd6256f49abbf230edc0c7a963f5e780255e98 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 642/703] 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 +};