1 From 692af7a59fd6d9d3b64edbf028cd75b0096ef8c7 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.com>
3 Date: Fri, 28 Aug 2020 12:55:41 +0100
4 Subject: [PATCH] overlays: Add spi0-1cs and spi0-2cs
6 The spi0-1cs overlay allows the SPI0 interface to be run with a single
7 CS line, which can be useful if GPIOs are in short supply. The no_miso
8 parameter is for write-only devices that don't need the return channel,
9 and again is there to free up a GPIO.
11 spi0-2cs is the new name for spi0-cs (now deprecated with a redirect
12 to spi0-2cs), but with the addedd no_miso parameter.
14 Signed-off-by: Phil Elwell <phil@raspberrypi.com>
16 arch/arm/boot/dts/overlays/Makefile | 3 +-
17 arch/arm/boot/dts/overlays/README | 22 ++++++++--
18 arch/arm/boot/dts/overlays/overlay_map.dts | 4 ++
19 .../boot/dts/overlays/spi0-1cs-overlay.dts | 42 +++++++++++++++++++
20 ...i0-cs-overlay.dts => spi0-2cs-overlay.dts} | 8 ++++
21 5 files changed, 75 insertions(+), 4 deletions(-)
22 create mode 100644 arch/arm/boot/dts/overlays/spi0-1cs-overlay.dts
23 rename arch/arm/boot/dts/overlays/{spi0-cs-overlay.dts => spi0-2cs-overlay.dts} (79%)
25 --- a/arch/arm/boot/dts/overlays/Makefile
26 +++ b/arch/arm/boot/dts/overlays/Makefile
27 @@ -161,7 +161,8 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
37 --- a/arch/arm/boot/dts/overlays/README
38 +++ b/arch/arm/boot/dts/overlays/README
39 @@ -2412,11 +2412,27 @@ Load: dtoverlay=spi-rtc,<param>=<val>
40 Params: pcf2123 Select the PCF2123 device
44 -Info: Allows the (software) CS pins for SPI0 to be changed
45 -Load: dtoverlay=spi0-cs,<param>=<val>
47 +Info: Only use one CS pin for SPI0
48 +Load: dtoverlay=spi0-1cs,<param>=<val>
49 +Params: cs0_pin GPIO pin for CS0 (default 8)
50 + no_miso Don't claim and use the MISO pin (9), freeing
55 +Info: Change the CS pins for SPI0
56 +Load: dtoverlay=spi0-2cs,<param>=<val>
57 Params: cs0_pin GPIO pin for CS0 (default 8)
58 cs1_pin GPIO pin for CS1 (default 7)
59 + no_miso Don't claim and use the MISO pin (9), freeing
64 +Info: This overlay has been renamed spi0-1cs, keeping spi0-cs as an
65 + alias for backwards compatibility.
70 --- a/arch/arm/boot/dts/overlays/overlay_map.dts
71 +++ b/arch/arm/boot/dts/overlays/overlay_map.dts
73 deprecated = "use sdio,bus_width=1,gpios_22_25";
77 + renamed = "spi0-2cs";
81 deprecated = "no longer necessary";
84 +++ b/arch/arm/boot/dts/overlays/spi0-1cs-overlay.dts
91 + compatible = "brcm,bcm2835";
94 + target = <&spi0_cs_pins>;
95 + frag0: __overlay__ {
102 + frag1: __overlay__ {
103 + cs-gpios = <&gpio 8 1>;
109 + target = <&spidev1>;
111 + status = "disabled";
116 + target = <&spi0_pins>;
118 + brcm,pins = <10 11>;
123 + cs0_pin = <&frag0>,"brcm,pins:0",
124 + <&frag1>,"cs-gpios:4";
125 + no_miso = <0>,"=3";
128 --- a/arch/arm/boot/dts/overlays/spi0-cs-overlay.dts
136 - compatible = "brcm,bcm2835";
139 - target = <&spi0_cs_pins>;
140 - frag0: __overlay__ {
147 - frag1: __overlay__ {
148 - cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
154 - cs0_pin = <&frag0>,"brcm,pins:0",
155 - <&frag1>,"cs-gpios:4";
156 - cs1_pin = <&frag0>,"brcm,pins:4",
157 - <&frag1>,"cs-gpios:16";
161 +++ b/arch/arm/boot/dts/overlays/spi0-2cs-overlay.dts
168 + compatible = "brcm,bcm2835";
171 + target = <&spi0_cs_pins>;
172 + frag0: __overlay__ {
179 + frag1: __overlay__ {
180 + cs-gpios = <&gpio 8 1>, <&gpio 7 1>;
186 + target = <&spi0_pins>;
188 + brcm,pins = <10 11>;
193 + cs0_pin = <&frag0>,"brcm,pins:0",
194 + <&frag1>,"cs-gpios:4";
195 + cs1_pin = <&frag0>,"brcm,pins:4",
196 + <&frag1>,"cs-gpios:16";
197 + no_miso = <0>,"=2";