2019-09-19 14:43:19 +00:00
|
|
|
From b71f1fd962c66ba3fa46483f193cc2263146c5bf Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Phil Elwell <phil@raspberrypi.org>
|
|
|
|
Date: Mon, 21 Jan 2019 12:23:55 +0000
|
2019-12-23 12:42:55 +00:00
|
|
|
Subject: [PATCH] overlays: Add mcp342x overlay
|
2019-07-09 18:32:28 +00:00
|
|
|
|
|
|
|
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";
|
|
|
|
+ };
|
|
|
|
+};
|
|
|
|
+
|