aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm27xx/patches-5.10/950-0698-overlays-Add-overlay-for-Si446x-Transceiver-SPI.patch
diff options
context:
space:
mode:
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.patch100
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";
++ };
++};