From 526c68ec3d5955b90f85fce4ef6ac684d437c1d2 Mon Sep 17 00:00:00 2001 From: Micke Prag Date: Thu, 13 Feb 2025 22:08:43 +0100 Subject: [PATCH] overlays: Add OpenHydroponics RootMaster overlay Signed-off-by: Micke Prag --- arch/arm/boot/dts/overlays/Makefile | 1 + arch/arm/boot/dts/overlays/README | 7 ++ .../boot/dts/overlays/rootmaster-overlay.dts | 77 +++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 arch/arm/boot/dts/overlays/rootmaster-overlay.dts --- a/arch/arm/boot/dts/overlays/Makefile +++ b/arch/arm/boot/dts/overlays/Makefile @@ -230,6 +230,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ qca7000-uart0.dtbo \ ramoops.dtbo \ ramoops-pi4.dtbo \ + rootmaster.dtbo \ rotary-encoder.dtbo \ rpi-backlight.dtbo \ rpi-codeczero.dtbo \ --- a/arch/arm/boot/dts/overlays/README +++ b/arch/arm/boot/dts/overlays/README @@ -4124,6 +4124,13 @@ Params: base-addr Where to console-size Size of non-panic dmesg captures (default 0) +Name: rootmaster +Info: Overlay for OpenHydroponics RootMaster board. + https://openhydroponics.com/hw/rootmaster +Load: dtoverlay=rootmaster +Params: + + Name: rotary-encoder Info: Overlay for GPIO connected rotary encoder. Load: dtoverlay=rotary-encoder,= --- /dev/null +++ b/arch/arm/boot/dts/overlays/rootmaster-overlay.dts @@ -0,0 +1,77 @@ +// redo: ovmerge -c mcp251xfd-overlay.dts,spi0-0,interrupt=25 w1-gpio-overlay.dts,gpiopin=4 + +/dts-v1/; +/plugin/; + +#include +#include +#include + +/ { + compatible = "brcm,bcm2835"; + fragment@0 { + target = <&spidev0>; + __overlay__ { + status = "disabled"; + }; + }; + fragment@1 { + target = <&gpio>; + __overlay__ { + mcp251xfd_pins: mcp251xfd_spi0_0_pins { + brcm,pins = <25>; + brcm,function = ; + }; + }; + }; + fragment@2 { + target-path = "/clocks"; + __overlay__ { + clk_mcp251xfd_osc: mcp251xfd-spi0-0-osc { + #clock-cells = <0>; + compatible = "fixed-clock"; + clock-frequency = <40000000>; + }; + }; + }; + fragment@3 { + target = <&spi0>; + __overlay__ { + status = "okay"; + #address-cells = <1>; + #size-cells = <0>; + mcp251xfd@0 { + compatible = "microchip,mcp251xfd"; + reg = <0>; + pinctrl-names = "default"; + pinctrl-0 = <&mcp251xfd_pins>; + spi-max-frequency = <20000000>; + interrupt-parent = <&gpio>; + interrupts = <25 IRQ_TYPE_LEVEL_LOW>; + clocks = <&clk_mcp251xfd_osc>; + }; + }; + }; + fragment@4 { + target-path = "/"; + __overlay__ { + onewire@4 { + compatible = "w1-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&w1_pins>; + gpios = <&gpio 4 0>; + status = "okay"; + }; + }; + }; + fragment@5 { + target = <&gpio>; + __overlay__ { + w1_pins: w1_pins@4 { + brcm,pins = <4>; + brcm,function = <0>; + brcm,pull = <0>; + }; + }; + }; +};