mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 10:08:59 +00:00
239 lines
5.7 KiB
Diff
239 lines
5.7 KiB
Diff
|
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";
|
||
|
+ };
|
||
|
+};
|