From 623f4a862134202e9f0705812cabe2abef6c2f9b Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Mon, 31 Jan 2022 21:01:25 +0000 Subject: [PATCH] overlays: Add spi0-0cs overlay An overlay to enable SPI0 without claiming any chip select GPIOs. Signed-off-by: Phil Elwell --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 8 ++++ .../boot/dts/overlays/spi0-0cs-overlay.dts | 39 +++++++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/spi0-0cs-overlay.dts --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -195,6 +195,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ spi-gpio35-39.dtbo \ spi-gpio40-45.dtbo \ spi-rtc.dtbo \ + spi0-0cs.dtbo \ spi0-1cs.dtbo \ spi0-2cs.dtbo \ spi1-1cs.dtbo \ --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -3115,6 +3115,14 @@ Params: ds3232 Select t cs_high This device requires an active-high CS +Name: spi0-0cs +Info: Don't claim any CS pins for SPI0. Requires a device with its chip + select permanently enabled, but frees a GPIO for e.g. a DPI display. +Load: dtoverlay=spi0-0cs,= +Params: no_miso Don't claim and use the MISO pin (9), freeing + it for other uses. + + Name: spi0-1cs Info: Only use one CS pin for SPI0 Load: dtoverlay=spi0-1cs,= --- /dev/null +++ b/arch/arm/boot/dts/overlays/spi0-0cs-overlay.dts @@ -0,0 +1,39 @@ +/dts-v1/; +/plugin/; + +/ { + compatible = "brcm,bcm2835"; + + fragment@0 { + target = <&spi0_cs_pins>; + frag0: __overlay__ { + brcm,pins; + }; + }; + + fragment@1 { + target = <&spi0>; + __overlay__ { + cs-gpios; + status = "okay"; + }; + }; + + fragment@2 { + target = <&spidev1>; + __overlay__ { + status = "disabled"; + }; + }; + + fragment@3 { + target = <&spi0_pins>; + __dormant__ { + brcm,pins = <10 11>; + }; + }; + + __overrides__ { + no_miso = <0>,"=3"; + }; +};