1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
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 310/806] 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";
+ };
+};
+
|