diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch b/target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch new file mode 100644 index 0000000000..34effa3a32 --- /dev/null +++ b/target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch @@ -0,0 +1,100 @@ +From 7f747c53fc4afa9a25eeb3ca290b4fed4690ca3f Mon Sep 17 00:00:00 2001 +From: "Sunip K. Mukherjee" <sunipkmukherjee@gmail.com> +Date: Sun, 4 Jul 2021 16:03:07 -0400 +Subject: [PATCH] overlays: Add overlay for Si446x Transceiver SPI + +See: https://github.com/raspberrypi/linux/pull/4430 + +Signed-off-by: Sunip K. Mukherjee <sunipkmukherjee@gmail.com> +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 10 ++++ + .../boot/dts/overlays/si446x-spi0-overlay.dts | 53 +++++++++++++++++++ + 3 files changed, 64 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/si446x-spi0-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -176,6 +176,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + seeed-can-fd-hat-v1.dtbo \ + seeed-can-fd-hat-v2.dtbo \ + sh1106-spi.dtbo \ ++ si446x-spi0.dtbo \ + smi.dtbo \ + smi-dev.dtbo \ + smi-nand.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -2733,6 +2733,16 @@ Params: speed SPI bus + height Display height (32 or 64; default 64) + + ++Name: si446x-spi0 ++Info: Overlay for Si446x UHF Transceiver via SPI using si446x driver. ++ The driver is currently out-of-tree at ++ https://github.com/sunipkmukherjee/silabs.git ++Load: dtoverlay=si446x-spi0,<param>=<val> ++Params: speed SPI bus speed (default 4000000) ++ int_pin GPIO pin for interrupts (default 17) ++ reset_pin GPIO pin for RESET (default 27) ++ ++ + Name: smi + Info: Enables the Secondary Memory Interface peripheral. Uses GPIOs 2-25! + Load: dtoverlay=smi +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/si446x-spi0-overlay.dts +@@ -0,0 +1,53 @@ ++// Overlay for the SiLabs Si446X Controller - SPI0 ++// Default Interrupt Pin: 17 ++// Default SDN Pin: 27 ++/dts-v1/; ++/plugin/; ++ ++ / { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ // needed to avoid dtc warning ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ uhf0: si446x@0{ ++ compatible = "silabs,si446x"; ++ reg = <0>; // CE0 ++ pinctrl-names = "default"; ++ pinctrl-0 = <&uhf0_pins>; ++ interrupt-parent = <&gpio>; ++ interrupts = <17 0x2>; // falling edge ++ spi-max-frequency = <4000000>; ++ sdn_pin = <27>; ++ irq_pin = <17>; ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&gpio>; ++ __overlay__ { ++ uhf0_pins: uhf0_pins { ++ brcm,pins = <17 27>; ++ brcm,function = <0 1>; // in, out ++ brcm,pull = <2 0>; // high, none ++ }; ++ }; ++ }; ++ ++ __overrides__ { ++ int_pin = <&uhf0>, "interrupts:0", ++ <&uhf0>, "irq_pin:0", ++ <&uhf0_pins>, "brcm,pins:0"; ++ reset_pin = <&uhf0>, "sdn_pin:0", ++ <&uhf0_pins>, "brcm,pins:4"; ++ speed = <&uhf0>, "spi-max-frequency:0"; ++ }; ++}; |