[PATCH V3] powerpc: Add I2C bus multiplexer node for B4 and T4240QDS

Jia Hongtao hongtao.jia at freescale.com
Mon Sep 9 11:41:31 EST 2013


In both B4 and T4240QDS platform PCA9547 I2C bus multiplexer is used.
The sub-nodes are also reorganized according to right I2C topology.

Signed-off-by: Jia Hongtao <hongtao.jia at freescale.com>
---
V3 change log:
* change "channel" to "i2c" based on i2c-mux binding.

V2 change log:
* Reorganized the sub-nodes under I2C multiplexer to represent right topology.

 arch/powerpc/boot/dts/b4qds.dtsi   | 51 +++++++++++++++++-----------
 arch/powerpc/boot/dts/t4240qds.dts | 69 ++++++++++++++++++++++----------------
 2 files changed, 73 insertions(+), 47 deletions(-)

diff --git a/arch/powerpc/boot/dts/b4qds.dtsi b/arch/powerpc/boot/dts/b4qds.dtsi
index e6d2f8f..e2ab6cb 100644
--- a/arch/powerpc/boot/dts/b4qds.dtsi
+++ b/arch/powerpc/boot/dts/b4qds.dtsi
@@ -120,25 +120,38 @@
 		};
 
 		i2c at 118000 {
-			eeprom at 50 {
-				compatible = "at24,24c64";
-				reg = <0x50>;
-			};
-			eeprom at 51 {
-				compatible = "at24,24c256";
-				reg = <0x51>;
-			};
-			eeprom at 53 {
-				compatible = "at24,24c256";
-				reg = <0x53>;
-			};
-			eeprom at 57 {
-				compatible = "at24,24c256";
-				reg = <0x57>;
-			};
-			rtc at 68 {
-				compatible = "dallas,ds3232";
-				reg = <0x68>;
+			mux at 77 {
+				compatible = "philips,pca9547";
+				reg = <0x77>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				i2c at 0 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <0>;
+
+					eeprom at 50 {
+						compatible = "at24,24c64";
+						reg = <0x50>;
+					};
+					eeprom at 51 {
+						compatible = "at24,24c256";
+						reg = <0x51>;
+					};
+					eeprom at 53 {
+						compatible = "at24,24c256";
+						reg = <0x53>;
+					};
+					eeprom at 57 {
+						compatible = "at24,24c256";
+						reg = <0x57>;
+					};
+					rtc at 68 {
+						compatible = "dallas,ds3232";
+						reg = <0x68>;
+					};
+				};
 			};
 		};
 
diff --git a/arch/powerpc/boot/dts/t4240qds.dts b/arch/powerpc/boot/dts/t4240qds.dts
index 0555976..b354af5 100644
--- a/arch/powerpc/boot/dts/t4240qds.dts
+++ b/arch/powerpc/boot/dts/t4240qds.dts
@@ -118,34 +118,47 @@
 		};
 
 		i2c at 118000 {
-			eeprom at 51 {
-				compatible = "at24,24c256";
-				reg = <0x51>;
-			};
-			eeprom at 52 {
-				compatible = "at24,24c256";
-				reg = <0x52>;
-			};
-			eeprom at 53 {
-				compatible = "at24,24c256";
-				reg = <0x53>;
-			};
-			eeprom at 54 {
-				compatible = "at24,24c256";
-				reg = <0x54>;
-			};
-			eeprom at 55 {
-				compatible = "at24,24c256";
-				reg = <0x55>;
-			};
-			eeprom at 56 {
-				compatible = "at24,24c256";
-				reg = <0x56>;
-			};
-			rtc at 68 {
-				compatible = "dallas,ds3232";
-				reg = <0x68>;
-				interrupts = <0x1 0x1 0 0>;
+			mux at 77 {
+				compatible = "philips,pca9547";
+				reg = <0x77>;
+				#address-cells = <1>;
+				#size-cells = <0>;
+
+				i2c at 0 {
+					#address-cells = <1>;
+					#size-cells = <0>;
+					reg = <0>;
+
+					eeprom at 51 {
+						compatible = "at24,24c256";
+						reg = <0x51>;
+					};
+					eeprom at 52 {
+						compatible = "at24,24c256";
+						reg = <0x52>;
+					};
+					eeprom at 53 {
+						compatible = "at24,24c256";
+						reg = <0x53>;
+					};
+					eeprom at 54 {
+						compatible = "at24,24c256";
+						reg = <0x54>;
+					};
+					eeprom at 55 {
+						compatible = "at24,24c256";
+						reg = <0x55>;
+					};
+					eeprom at 56 {
+						compatible = "at24,24c256";
+						reg = <0x56>;
+					};
+					rtc at 68 {
+						compatible = "dallas,ds3232";
+						reg = <0x68>;
+						interrupts = <0x1 0x1 0 0>;
+					};
+				};
 			};
 		};
 	};
-- 
1.8.0




More information about the Linuxppc-dev mailing list