bcm27xx: add support for linux v5.15
[openwrt/staging/chunkeey.git] / target / linux / bcm27xx / patches-5.15 / 950-0679-overlays-Add-spi0-0cs-overlay.patch
1 From 623f4a862134202e9f0705812cabe2abef6c2f9b Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Mon, 31 Jan 2022 21:01:25 +0000
4 Subject: [PATCH] overlays: Add spi0-0cs overlay
5
6 An overlay to enable SPI0 without claiming any chip select GPIOs.
7
8 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
9 ---
10 arch/arm/boot/dts/overlays/Makefile | 1 +
11 arch/arm/boot/dts/overlays/README | 8 ++++
12 .../boot/dts/overlays/spi0-0cs-overlay.dts | 39 +++++++++++++++++++
13 3 files changed, 48 insertions(+)
14 create mode 100644 arch/arm/boot/dts/overlays/spi0-0cs-overlay.dts
15
16 --- a/arch/arm/boot/dts/overlays/Makefile
17 +++ b/arch/arm/boot/dts/overlays/Makefile
18 @@ -195,6 +195,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
19 spi-gpio35-39.dtbo \
20 spi-gpio40-45.dtbo \
21 spi-rtc.dtbo \
22 + spi0-0cs.dtbo \
23 spi0-1cs.dtbo \
24 spi0-2cs.dtbo \
25 spi1-1cs.dtbo \
26 --- a/arch/arm/boot/dts/overlays/README
27 +++ b/arch/arm/boot/dts/overlays/README
28 @@ -3115,6 +3115,14 @@ Params: ds3232 Select t
29 cs_high This device requires an active-high CS
30
31
32 +Name: spi0-0cs
33 +Info: Don't claim any CS pins for SPI0. Requires a device with its chip
34 + select permanently enabled, but frees a GPIO for e.g. a DPI display.
35 +Load: dtoverlay=spi0-0cs,<param>=<val>
36 +Params: no_miso Don't claim and use the MISO pin (9), freeing
37 + it for other uses.
38 +
39 +
40 Name: spi0-1cs
41 Info: Only use one CS pin for SPI0
42 Load: dtoverlay=spi0-1cs,<param>=<val>
43 --- /dev/null
44 +++ b/arch/arm/boot/dts/overlays/spi0-0cs-overlay.dts
45 @@ -0,0 +1,39 @@
46 +/dts-v1/;
47 +/plugin/;
48 +
49 +/ {
50 + compatible = "brcm,bcm2835";
51 +
52 + fragment@0 {
53 + target = <&spi0_cs_pins>;
54 + frag0: __overlay__ {
55 + brcm,pins;
56 + };
57 + };
58 +
59 + fragment@1 {
60 + target = <&spi0>;
61 + __overlay__ {
62 + cs-gpios;
63 + status = "okay";
64 + };
65 + };
66 +
67 + fragment@2 {
68 + target = <&spidev1>;
69 + __overlay__ {
70 + status = "disabled";
71 + };
72 + };
73 +
74 + fragment@3 {
75 + target = <&spi0_pins>;
76 + __dormant__ {
77 + brcm,pins = <10 11>;
78 + };
79 + };
80 +
81 + __overrides__ {
82 + no_miso = <0>,"=3";
83 + };
84 +};