1 From eaa6e5f8a581aa8c71c245ecfc882819c7090a06 Mon Sep 17 00:00:00 2001
2 From: Phil Elwell <phil@raspberrypi.org>
3 Date: Wed, 11 May 2016 15:38:04 +0100
4 Subject: [PATCH 345/381] BCM270X_DT: Add umbrella I2C Mux overlay i2c-mux
6 This overlay supports a range of I2C multiplexers - PCA9542 (2 ports),
7 PCA9545 (4 ports) and PCA9548 (8 ports).
9 Also remove the dedicated i2c-mux-9548a overlays since it is no longer
12 Signed-off-by: Phil Elwell <phil@raspberrypi.org>
14 arch/arm/boot/dts/overlays/Makefile | 2 +-
15 arch/arm/boot/dts/overlays/README | 17 ++-
16 arch/arm/boot/dts/overlays/i2c-mux-overlay.dts | 138 +++++++++++++++++++++
17 .../boot/dts/overlays/i2c-mux-pca9548a-overlay.dts | 67 ----------
18 4 files changed, 152 insertions(+), 72 deletions(-)
19 create mode 100644 arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
20 delete mode 100644 arch/arm/boot/dts/overlays/i2c-mux-pca9548a-overlay.dts
22 --- a/arch/arm/boot/dts/overlays/Makefile
23 +++ b/arch/arm/boot/dts/overlays/Makefile
24 @@ -34,7 +34,7 @@ dtbo-$(RPI_DT_OVERLAYS) += hy28a.dtbo
25 dtbo-$(RPI_DT_OVERLAYS) += hy28b.dtbo
26 dtbo-$(RPI_DT_OVERLAYS) += i2c-rtc.dtbo
27 dtbo-$(RPI_DT_OVERLAYS) += i2c-gpio.dtbo
28 -dtbo-$(RPI_DT_OVERLAYS) += i2c-mux-pca9548a.dtbo
29 +dtbo-$(RPI_DT_OVERLAYS) += i2c-mux.dtbo
30 dtbo-$(RPI_DT_OVERLAYS) += i2c-pwm-pca9685a.dtbo
31 dtbo-$(RPI_DT_OVERLAYS) += i2c0-bcm2708.dtbo
32 dtbo-$(RPI_DT_OVERLAYS) += i2c1-bcm2708.dtbo
33 --- a/arch/arm/boot/dts/overlays/README
34 +++ b/arch/arm/boot/dts/overlays/README
35 @@ -421,10 +421,19 @@ Params: i2c_gpio_sda GPIO use
36 (default "2" = ~100kHz)
39 -Name: i2c-mux-pca9548a
40 -Info: Adds support for an NXP PCA9548A I2C multiplexer on i2c_arm
41 -Load: dtoverlay=i2c-mux-pca9548a,<param>=<val>
42 -Params: addr I2C address of PCA9548A (default 0x70)
44 +Info: Adds support for a number of I2C bus multiplexers on i2c_arm
45 +Load: dtoverlay=i2c-mux,<param>=<val>
46 +Params: pca9542 Select the NXP PCA9542 device
48 + pca9545 Select the NXP PCA9545 device
50 + pca9548 Select the NXP PCA9548 device
52 + addr Change I2C address of the device (default 0x70)
55 +[ The i2c-mux-pca9548a overlay has been deleted. See i2c-mux. ]
58 Name: i2c-pwm-pca9685a
60 +++ b/arch/arm/boot/dts/overlays/i2c-mux-overlay.dts
62 +// Umbrella I2C Mux overlay
68 + compatible = "brcm,bcm2708";
71 + target = <&i2c_arm>;
73 + #address-cells = <1>;
78 + compatible = "nxp,pca9542";
80 + #address-cells = <1>;
84 + #address-cells = <1>;
89 + #address-cells = <1>;
98 + target = <&i2c_arm>;
100 + #address-cells = <1>;
105 + compatible = "nxp,pca9545";
107 + #address-cells = <1>;
111 + #address-cells = <1>;
116 + #address-cells = <1>;
121 + #address-cells = <1>;
126 + #address-cells = <1>;
135 + target = <&i2c_arm>;
137 + #address-cells = <1>;
142 + compatible = "nxp,pca9548";
144 + #address-cells = <1>;
148 + #address-cells = <1>;
153 + #address-cells = <1>;
158 + #address-cells = <1>;
163 + #address-cells = <1>;
168 + #address-cells = <1>;
173 + #address-cells = <1>;
178 + #address-cells = <1>;
183 + #address-cells = <1>;
192 + pca9542 = <0>, "+0";
193 + pca9545 = <0>, "+1";
194 + pca9548 = <0>, "+2";
196 + addr = <&pca9545>,"reg:0",
197 + <&pca9548>,"reg:0";
200 --- a/arch/arm/boot/dts/overlays/i2c-mux-pca9548a-overlay.dts
203 -// Definitions for NXP PCA9548A I2C mux on ARM I2C bus.
208 - compatible = "brcm,bcm2708";
211 - target = <&i2c_arm>;
213 - #address-cells = <1>;
218 - compatible = "nxp,pca9548";
220 - #address-cells = <1>;
224 - #address-cells = <1>;
229 - #address-cells = <1>;
234 - #address-cells = <1>;
239 - #address-cells = <1>;
244 - #address-cells = <1>;
249 - #address-cells = <1>;
254 - #address-cells = <1>;
259 - #address-cells = <1>;
267 - addr = <&i2cmux>,"reg:0";