diff options
Diffstat (limited to 'target/linux/bcm27xx/patches-5.4/950-0931-overlays-Add-maxtherm-overlay-for-MAX6675-31855.patch')
-rw-r--r-- | target/linux/bcm27xx/patches-5.4/950-0931-overlays-Add-maxtherm-overlay-for-MAX6675-31855.patch | 238 |
1 files changed, 238 insertions, 0 deletions
diff --git a/target/linux/bcm27xx/patches-5.4/950-0931-overlays-Add-maxtherm-overlay-for-MAX6675-31855.patch b/target/linux/bcm27xx/patches-5.4/950-0931-overlays-Add-maxtherm-overlay-for-MAX6675-31855.patch new file mode 100644 index 0000000000..882cb8df5e --- /dev/null +++ b/target/linux/bcm27xx/patches-5.4/950-0931-overlays-Add-maxtherm-overlay-for-MAX6675-31855.patch @@ -0,0 +1,238 @@ +From 56e726d1631c9551530b8db4127352c64c3cb94d Mon Sep 17 00:00:00 2001 +From: Dougie Lawson <dl1ims@gmail.com> +Date: Mon, 27 Jul 2020 23:52:40 +0100 +Subject: [PATCH] overlays: Add maxtherm overlay for MAX6675/31855 + +Add an overlay - maxtherm - to support the MAX6675 and MAX31855 family +of thermocouples. + +Developed from an original set of overlays by Dougie Lawson. + +See: https://github.com/raspberrypi/linux/pull/3763 + +Signed-off-by: Phil Elwell <phil@raspberrypi.com> +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 30 ++++ + .../boot/dts/overlays/maxtherm-overlay.dts | 166 ++++++++++++++++++ + 3 files changed, 197 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/maxtherm-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -98,6 +98,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + justboom-digi.dtbo \ + ltc294x.dtbo \ + max98357a.dtbo \ ++ maxtherm.dtbo \ + mbed-dac.dtbo \ + mcp23017.dtbo \ + mcp23s17.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1622,6 +1622,36 @@ Params: no-sdmode Driver d + of the DAC (default GPIO4 if parameter omitted). + + ++Name: maxtherm ++Info: Configure a MAX6675 or MAX31855 thermocouple as an IIO device. ++ ++ For devices on spi1 or spi2, the interfaces should be enabled ++ with one of the spi1-1/2/3cs and/or spi2-1/2/3cs overlays. ++ The overlay expects to disable the relevant spidev node, so also using ++ e.g. cs0_spidev=off is unnecessary. ++ ++ Note: with the 5.7 kernel (and later) there will also be ++ overlays for MAX31855E, MAX31855J, MAX31855K, ++ MAX31885N, MAX31855R, MAX31855S and MAX31855T. ++ ++ Example: ++ MAX31855 on /dev/spidev0.0 ++ dtoverlay=maxtherm,spi0-0,max31855 ++ ++Load: dtoverlay=maxtherm,<param>=<val> ++Params: spi<n>-<m> Configure device at spi<n>, cs<m> ++ (boolean, required) ++ max6675 Enable support for the MAX6675 (default) ++ max31855 Enable support for the MAX31855 ++ max31855e Enable support for the MAX31855E ++ max31855j Enable support for the MAX31855J ++ max31855k Enable support for the MAX31855K ++ max31855n Enable support for the MAX31855N ++ max31855r Enable support for the MAX31855R ++ max31855s Enable support for the MAX31855S ++ max31855t Enable support for the MAX31855T ++ ++ + Name: mbed-dac + Info: Configures the mbed AudioCODEC (TLV320AIC23B) + Load: dtoverlay=mbed-dac +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/maxtherm-overlay.dts +@@ -0,0 +1,166 @@ ++/* ++ * Universal device tree overlay for SPI devices ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835"; ++ ++ fragment@0 { ++ target = <&spidev0>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&spidev1>; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@2 { ++ target-path = "spi1/spidev@0"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@3 { ++ target-path = "spi1/spidev@1"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@4 { ++ target-path = "spi1/spidev@2"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@5 { ++ target-path = "spi2/spidev@0"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@6 { ++ target-path = "spi2/spidev@1"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ fragment@7 { ++ target-path = "spi2/spidev@2"; ++ __dormant__ { ++ status = "disabled"; ++ }; ++ }; ++ ++ maxfrag: fragment@8 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ max: maxtherm@0 { ++ compatible = "maxim,max6675"; ++ reg = <0>; ++ spi-max-frequency = <500000>; ++ }; ++ }; ++ }; ++ ++ fragment@9 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855e", "maxim,max31855"; ++ }; ++ }; ++ ++ fragment@10 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855j", "maxim,max31855"; ++ }; ++ }; ++ ++ fragment@11 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855k", "maxim,max31855"; ++ }; ++ }; ++ ++ fragment@12 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855n", "maxim,max31855"; ++ }; ++ }; ++ ++ fragment@13 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855r", "maxim,max31855"; ++ }; ++ }; ++ ++ fragment@14 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855s", "maxim,max31855"; ++ }; ++ }; ++ ++ fragment@15 { ++ target = <&max>; ++ __dormant__ { ++ compatible = "maxim,max31855t", "maxim,max31855"; ++ }; ++ }; ++ ++ __overrides__ { ++ spi0-0 = <0>, "+0", ++ <&maxfrag>,"target:0=",<&spi0>, ++ <&max>,"reg:0=0"; ++ spi0-1 = <0>, "+1", ++ <&maxfrag>,"target:0=",<&spi0>, ++ <&max>,"reg:0=1"; ++ spi1-0 = <0>, "+2", ++ <&maxfrag>,"target:0=",<&spi1>, ++ <&max>,"reg:0=0"; ++ spi1-1 = <0>, "+3", ++ <&maxfrag>,"target:0=",<&spi1>, ++ <&max>,"reg:0=1"; ++ spi1-2 = <0>, "+4", ++ <&maxfrag>,"target:0=",<&spi1>, ++ <&max>,"reg:0=2"; ++ spi2-0 = <0>, "+5", ++ <&maxfrag>,"target:0=",<&spi2>, ++ <&max>,"reg:0=0"; ++ spi2-1 = <0>, "+6", ++ <&maxfrag>,"target:0=",<&spi2>, ++ <&max>,"reg:0=1"; ++ spi2-2 = <0>, "+7", ++ <&maxfrag>,"target:0=",<&spi2>, ++ <&max>,"reg:0=2"; ++ max6675 = <&max>,"compatible=maxim,max6675"; ++ max31855 = <&max>,"compatible=maxim,max31855"; ++ max31855e = <0>,"+9"; ++ max31855j = <0>,"+10"; ++ max31855k = <0>,"+11"; ++ max31855n = <0>,"+12"; ++ max31855r = <0>,"+13"; ++ max31855s = <0>,"+14"; ++ max31855t = <0>,"+15"; ++ }; ++}; |