diff options
Diffstat (limited to 'target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch')
-rw-r--r-- | target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch | 148 |
1 files changed, 148 insertions, 0 deletions
diff --git a/target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch b/target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch new file mode 100644 index 0000000000..d104c65cc3 --- /dev/null +++ b/target/linux/brcm2708/patches-4.19/950-0270-overlays-Add-mcp342x-overlay.patch @@ -0,0 +1,148 @@ +From b71f1fd962c66ba3fa46483f193cc2263146c5bf Mon Sep 17 00:00:00 2001 +From: Phil Elwell <phil@raspberrypi.org> +Date: Mon, 21 Jan 2019 12:23:55 +0000 +Subject: [PATCH] overlays: Add mcp342x overlay + +Support the MCP342x family of ADCs from Microchip. + +See: https://github.com/raspberrypi/linux/issues/2819 + +Signed-off-by: Phil Elwell <phil@raspberrypi.org> +--- + arch/arm/boot/dts/overlays/Makefile | 1 + + arch/arm/boot/dts/overlays/README | 16 ++++ + .../arm/boot/dts/overlays/mcp342x-overlay.dts | 93 +++++++++++++++++++ + 3 files changed, 110 insertions(+) + create mode 100644 arch/arm/boot/dts/overlays/mcp342x-overlay.dts + +--- a/arch/arm/boot/dts/overlays/Makefile ++++ b/arch/arm/boot/dts/overlays/Makefile +@@ -79,6 +79,7 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \ + mcp2515-can1.dtbo \ + mcp3008.dtbo \ + mcp3202.dtbo \ ++ mcp342x.dtbo \ + media-center.dtbo \ + midi-uart0.dtbo \ + midi-uart1.dtbo \ +--- a/arch/arm/boot/dts/overlays/README ++++ b/arch/arm/boot/dts/overlays/README +@@ -1277,6 +1277,22 @@ Params: spi<n>-<m>-present boolean, + spi<n>-<m>-speed integer, set the spi bus speed for this device + + ++Name: mcp342x ++Info: Overlay for activation of Microchip MCP3421-3428 ADCs over I2C ++Load: dtoverlay=mcp342x,<param>=<val> ++Params: addr I2C bus address of device, for devices with ++ addresses that are configurable, e.g. by ++ hardware links (default=0x68) ++ mcp3421 The device is an MCP3421 ++ mcp3422 The device is an MCP3422 ++ mcp3423 The device is an MCP3423 ++ mcp3424 The device is an MCP3424 ++ mcp3425 The device is an MCP3425 ++ mcp3426 The device is an MCP3426 ++ mcp3427 The device is an MCP3427 ++ mcp3428 The device is an MCP3428 ++ ++ + Name: media-center + Info: Media Center HAT - 2.83" Touch Display + extras by Pi Supply + Load: dtoverlay=media-center,<param>=<val> +--- /dev/null ++++ b/arch/arm/boot/dts/overlays/mcp342x-overlay.dts +@@ -0,0 +1,93 @@ ++// Overlay for MCP3421-8 ADCs from Microchip Semiconductor ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "brcm,bcm2835", "brcm,bcm2708", "brcm,bcm2709"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ status = "okay"; ++ ++ mcp342x: mcp@68 { ++ reg = <0x68>; ++ ++ status = "okay"; ++ }; ++ }; ++ }; ++ ++ fragment@1 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3421"; ++ }; ++ }; ++ ++ fragment@2 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3422"; ++ }; ++ }; ++ ++ fragment@3 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3423"; ++ }; ++ }; ++ ++ fragment@4 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3424"; ++ }; ++ }; ++ ++ fragment@5 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3425"; ++ }; ++ }; ++ ++ fragment@6 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3426"; ++ }; ++ }; ++ ++ fragment@7 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3427"; ++ }; ++ }; ++ ++ fragment@8 { ++ target = <&mcp342x>; ++ __dormant__ { ++ compatible = "microchip,mcp3428"; ++ }; ++ }; ++ ++ __overrides__ { ++ addr = <&mcp342x>,"reg:0"; ++ mcp3421 = <0>,"=1"; ++ mcp3422 = <0>,"=2"; ++ mcp3423 = <0>,"=3"; ++ mcp3424 = <0>,"=4"; ++ mcp3425 = <0>,"=5"; ++ mcp3426 = <0>,"=6"; ++ mcp3427 = <0>,"=7"; ++ mcp3428 = <0>,"=8"; ++ }; ++}; ++ |