[PATCH 2/3] ARM: dts: Disable I2C controllers by default on Exynos5250

Mark Brown broonie at kernel.org
Tue Dec 10 06:07:28 EST 2013


From: Mark Brown <broonie at linaro.org>

Ensure that unused I2C controllers are not activated, causing problems due
to inappropriate pinmuxing or similar, by marking the controllers as
disabled by default and requiring boards to explicitly enable those that
are in use.

Signed-off-by: Mark Brown <broonie at linaro.org>
Acked-by: Tomasz Figa <t.figa at samsung.com>
Reviewed-by: Doug Anderson <dianders at chromium.org>
---
 arch/arm/boot/dts/cros5250-common.dtsi    | 12 ++++++++----
 arch/arm/boot/dts/exynos5250-arndale.dts  | 32 ++++++++-----------------------
 arch/arm/boot/dts/exynos5250-smdk5250.dts | 25 +++++-------------------
 arch/arm/boot/dts/exynos5250.dtsi         | 10 ++++++++++
 4 files changed, 31 insertions(+), 48 deletions(-)

diff --git a/arch/arm/boot/dts/cros5250-common.dtsi b/arch/arm/boot/dts/cros5250-common.dtsi
index d32ec0fb7f39..2fed9acd28da 100644
--- a/arch/arm/boot/dts/cros5250-common.dtsi
+++ b/arch/arm/boot/dts/cros5250-common.dtsi
@@ -37,6 +37,7 @@
 	};
 
 	i2c at 12C60000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <378000>;
 
@@ -185,6 +186,7 @@
 	};
 
 	i2c at 12C70000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <378000>;
 
@@ -198,6 +200,7 @@
 	};
 
 	i2c at 12C80000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 
@@ -208,30 +211,31 @@
 	};
 
 	i2c at 12C90000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 	};
 
 	i2c at 12CA0000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 	};
 
 	i2c at 12CB0000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 	};
 
-	i2c at 12CC0000 {
-		status = "disabled";
-	};
-
 	i2c at 12CD0000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 	};
 
 	i2c at 12CE0000 {
+		status = "okay";
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <378000>;
 
diff --git a/arch/arm/boot/dts/exynos5250-arndale.dts b/arch/arm/boot/dts/exynos5250-arndale.dts
index de9508b100d9..36f41ce49337 100644
--- a/arch/arm/boot/dts/exynos5250-arndale.dts
+++ b/arch/arm/boot/dts/exynos5250-arndale.dts
@@ -34,6 +34,7 @@
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <20000>;
 		samsung,i2c-slave-addr = <0x66>;
+		status = "okay";
 
 		s5m8767_pmic at 66 {
 			compatible = "samsung,s5m8767-pmic";
@@ -319,11 +320,9 @@
 		};
 	};
 
-	i2c at 12C70000 {
-		status = "disabled";
-	};
-
 	i2c at 12C80000 {
+		status = "okay";
+
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 		samsung,i2c-slave-addr = <0x50>;
@@ -335,7 +334,10 @@
 	};
 
 	i2c at 12C90000 {
+		status = "okay";
+
 		wm1811a at 1a {
+
 			compatible = "wlf,wm1811";
 			reg = <0x1a>;
 
@@ -353,23 +355,9 @@
 		};
 	};
 
-	i2c at 12CA0000 {
-		status = "disabled";
-	};
-
-	i2c at 12CB0000 {
-		status = "disabled";
-	};
-
-	i2c at 12CC0000 {
-		status = "disabled";
-	};
-
-	i2c at 12CD0000 {
-		status = "disabled";
-	};
-
 	i2c at 12CE0000 {
+		status = "okay";
+
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
 		samsung,i2c-slave-addr = <0x38>;
@@ -380,10 +368,6 @@
 		};
 	};
 
-	i2c at 121D0000 {
-		status = "disabled";
-	};
-
 	mmc_0: mmc at 12200000 {
 		status = "okay";
 		num-slots = <1>;
diff --git a/arch/arm/boot/dts/exynos5250-smdk5250.dts b/arch/arm/boot/dts/exynos5250-smdk5250.dts
index 87b55f0edda4..aaacfc833ccc 100644
--- a/arch/arm/boot/dts/exynos5250-smdk5250.dts
+++ b/arch/arm/boot/dts/exynos5250-smdk5250.dts
@@ -30,6 +30,7 @@
 	i2c at 12C60000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <20000>;
+		status = "okay";
 
 		eeprom at 50 {
 			compatible = "samsung,s524ad0xd1";
@@ -64,6 +65,7 @@
 	i2c at 12C70000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <20000>;
+		status = "okay";
 
 		eeprom at 51 {
 			compatible = "samsung,s524ad0xd1";
@@ -89,6 +91,7 @@
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <40000>;
 		samsung,i2c-slave-addr = <0x38>;
+		status = "okay";
 
 		sata-phy {
 			compatible = "samsung,sata-phy";
@@ -103,6 +106,7 @@
 	i2c at 12C80000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
+		status = "okay";
 
 		hdmiddc at 50 {
 			compatible = "samsung,exynos4210-hdmiddc";
@@ -110,29 +114,10 @@
 		};
 	};
 
-	i2c at 12C90000 {
-		status = "disabled";
-	};
-
-	i2c at 12CA0000 {
-		status = "disabled";
-	};
-
-	i2c at 12CB0000 {
-		status = "disabled";
-	};
-
-	i2c at 12CC0000 {
-		status = "disabled";
-	};
-
-	i2c at 12CD0000 {
-		status = "disabled";
-	};
-
 	i2c at 12CE0000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
+		status = "okay";
 
 		hdmiphy at 38 {
 			compatible = "samsung,exynos4212-hdmiphy";
diff --git a/arch/arm/boot/dts/exynos5250.dtsi b/arch/arm/boot/dts/exynos5250.dtsi
index 9831b5650a05..3d036673b5b5 100644
--- a/arch/arm/boot/dts/exynos5250.dtsi
+++ b/arch/arm/boot/dts/exynos5250.dtsi
@@ -242,6 +242,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c0_bus>;
+		status = "disabled";
 	};
 
 	i2c_1: i2c at 12C70000 {
@@ -254,6 +255,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c1_bus>;
+		status = "disabled";
 	};
 
 	i2c_2: i2c at 12C80000 {
@@ -266,6 +268,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c2_bus>;
+		status = "disabled";
 	};
 
 	i2c_3: i2c at 12C90000 {
@@ -278,6 +281,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c3_bus>;
+		status = "disabled";
 	};
 
 	i2c_4: i2c at 12CA0000 {
@@ -290,6 +294,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c4_bus>;
+		status = "disabled";
 	};
 
 	i2c_5: i2c at 12CB0000 {
@@ -302,6 +307,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c5_bus>;
+		status = "disabled";
 	};
 
 	i2c_6: i2c at 12CC0000 {
@@ -314,6 +320,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c6_bus>;
+		status = "disabled";
 	};
 
 	i2c_7: i2c at 12CD0000 {
@@ -326,6 +333,7 @@
 		clock-names = "i2c";
 		pinctrl-names = "default";
 		pinctrl-0 = <&i2c7_bus>;
+		status = "disabled";
 	};
 
 	i2c_8: i2c at 12CE0000 {
@@ -336,6 +344,7 @@
 		#size-cells = <0>;
 		clocks = <&clock 302>;
 		clock-names = "i2c";
+		status = "disabled";
 	};
 
 	i2c at 121D0000 {
@@ -345,6 +354,7 @@
                 #size-cells = <0>;
 		clocks = <&clock 288>;
 		clock-names = "i2c";
+		status = "disabled";
 	};
 
 	spi_0: spi at 12d20000 {
-- 
1.8.5.1




More information about the linux-arm-kernel mailing list