Skip to contentSkip to conversation

ARM: dts: exynos5422-odroidxu3: add INA2xx sensors

PATCH Superseded Kevin Hilman 4 participants 5 messages Jan 14, 2015

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM: dts: exynos5422-odroidxu3: add INA2xx sensors

From: Kevin Hilman <[email protected]>

The odroid-xu3 has 4 INA231 current sensors on board which can be accessed from the Linux via the hwmon interface.

There is one sensor for each of these power rails:

- A15 cluster: VDD_ARM
- A7 cluster: VDD_KFC
- GPU: VDD_G3D
- memory: VDD_MEM

In addition to adding the sensors, LDO26 from the PMIC needs to be enabled because it's powering these sensor.

Cc Javier Martinez Canillas <[email protected]>
Cc Sjoerd Simons <[email protected]>

---
Applies on top of "ARM: dts: Add dts file for odroid XU3 board" from Sjoerd Simons.

 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 39 ++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/exynos5422-odroidxu3.dts +39 -0
index c29123c0734d..7874da20939f 100644
@@ -174,6 +174,13 @@
 					regulator-always-on;
 				};
 
+				ldo26_reg: LDO26 {
+					regulator-name = "vdd_ldo26";
+					regulator-min-microvolt = <3000000>;
+					regulator-max-microvolt = <3000000>;
+					regulator-always-on;
+				};
+
 				buck1_reg: BUCK1 {
 					regulator-name = "vdd_mif";
 					regulator-min-microvolt = <800000>;
@@ -257,6 +264,38 @@
 		};
 	};
 
+	i2c_0: i2c at 12C60000 {
+		status = "okay";
+
+		/* A15 cluster: VDD_ARM */
+		ina220 at 40 {
+			compatible = "ti,ina230";
+			reg = <0x40>;
+			shunt-resistor = <10000>;
+		};
+
+		/* memory: VDD_MEM */
+		ina220 at 41 {
+			compatible = "ti,ina230";
+			reg = <0x41>;
+			shunt-resistor = <10000>;
+		};
+
+		/* GPU: VDD_G3D */
+		ina220 at 44 {
+			compatible = "ti,ina230";
+			reg = <0x44>;
+			shunt-resistor = <10000>;
+		};
+
+		/* A7 cluster: VDD_KFC */
+		ina220 at 45 {
+			compatible = "ti,ina230";
+			reg = <0x45>;
+			shunt-resistor = <10000>;
+		};
+	};
+
 	i2c_2: i2c at 12C80000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
Signature · 1 line
2.1.3
#1 lore raw

PATCH 1/1 ARM: dts: exynos5422-odroidxu3: add INA2xx sensors

Quoted 71 lines · Kevin Hilman

From: Kevin Hilman <[email protected]>

The odroid-xu3 has 4 INA231 current sensors on board which can be accessed from the Linux via the hwmon interface.

There is one sensor for each of these power rails:

- A15 cluster: VDD_ARM
- A7 cluster: VDD_KFC
- GPU: VDD_G3D
- memory: VDD_MEM

In addition to adding the sensors, LDO26 from the PMIC needs to be enabled because it's powering these sensor.

Cc Javier Martinez Canillas <[email protected]>
Cc Sjoerd Simons <[email protected]>

---
Applies on top of "ARM: dts: Add dts file for odroid XU3 board" from Sjoerd Simons.

 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 39 ++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/exynos5422-odroidxu3.dts +32 -0
index c29123c0734d..7874da20939f 100644
@@ -174,6 +174,13 @@
 					regulator-always-on;
 				};
 
+				ldo26_reg: LDO26 {
+					regulator-name = "vdd_ldo26";
+					regulator-min-microvolt = <3000000>;
+					regulator-max-microvolt = <3000000>;
+					regulator-always-on;
+				};
+
 				buck1_reg: BUCK1 {
 					regulator-name = "vdd_mif";
 					regulator-min-microvolt = <800000>;
@@ -257,6 +264,38 @@
 		};
 	};
 
+	i2c_0: i2c at 12C60000 {
+		status = "okay";
+
+		/* A15 cluster: VDD_ARM */
+		ina220 at 40 {
+			compatible = "ti,ina230";
+			reg = <0x40>;
+			shunt-resistor = <10000>;
+		};
+
+		/* memory: VDD_MEM */
+		ina220 at 41 {
+			compatible = "ti,ina230";
+			reg = <0x41>;
+			shunt-resistor = <10000>;
+		};
+
+		/* GPU: VDD_G3D */
+		ina220 at 44 {
+			compatible = "ti,ina230";
+			reg = <0x44>;
+			shunt-resistor = <10000>;
+		};
+
+		/* A7 cluster: VDD_KFC */

arch/arm/boot/dts/exynos5422-odroidxu3.dts line 301

Quoted 10 lines
arch/arm/boot/dts/exynos5422-odroidxu3.dts +7 -0
+		ina220 at 45 {
+			compatible = "ti,ina230";
+			reg = <0x45>;
+			shunt-resistor = <10000>;
+		};
+	};
+
 	i2c_2: i2c at 12C80000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;

Looks good to me and applied. To be honest, I'm not sure about the values in the node of shunt-resistor though ;)

Thanks,
Kukjin

#2 lore raw

PATCH 1/1 ARM: dts: exynos5422-odroidxu3: add INA2xx sensors

Quoted 77 lines · Kukjin Kim
Quoted 76 lines · Kevin Hilman

From: Kevin Hilman <[email protected]>

The odroid-xu3 has 4 INA231 current sensors on board which can be accessed from the Linux via the hwmon interface.

There is one sensor for each of these power rails:

- A15 cluster: VDD_ARM
- A7 cluster: VDD_KFC
- GPU: VDD_G3D
- memory: VDD_MEM

In addition to adding the sensors, LDO26 from the PMIC needs to be enabled because it's powering these sensor.

Cc Javier Martinez Canillas <[email protected]>
Cc Sjoerd Simons <[email protected]>

---
Applies on top of "ARM: dts: Add dts file for odroid XU3 board" from Sjoerd Simons.

 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 39 ++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/exynos5422-odroidxu3.dts +37 -0
index c29123c0734d..7874da20939f 100644
@@ -174,6 +174,13 @@
 					regulator-always-on;
 				};
 
+				ldo26_reg: LDO26 {
+					regulator-name = "vdd_ldo26";
+					regulator-min-microvolt = <3000000>;
+					regulator-max-microvolt = <3000000>;
+					regulator-always-on;
+				};
+
 				buck1_reg: BUCK1 {
 					regulator-name = "vdd_mif";
 					regulator-min-microvolt = <800000>;
@@ -257,6 +264,38 @@
 		};
 	};
 
+	i2c_0: i2c at 12C60000 {
+		status = "okay";
+
+		/* A15 cluster: VDD_ARM */
+		ina220 at 40 {
+			compatible = "ti,ina230";
+			reg = <0x40>;
+			shunt-resistor = <10000>;
+		};
+
+		/* memory: VDD_MEM */
+		ina220 at 41 {
+			compatible = "ti,ina230";
+			reg = <0x41>;
+			shunt-resistor = <10000>;
+		};
+
+		/* GPU: VDD_G3D */
+		ina220 at 44 {
+			compatible = "ti,ina230";
+			reg = <0x44>;
+			shunt-resistor = <10000>;
+		};
+
+		/* A7 cluster: VDD_KFC */
+		ina220 at 45 {
+			compatible = "ti,ina230";
+			reg = <0x45>;
+			shunt-resistor = <10000>;
+		};
Quoted 8 lines

arch/arm/boot/dts/exynos5422-odroidxu3.dts line 301

Quoted 5 lines
arch/arm/boot/dts/exynos5422-odroidxu3.dts +2 -0
+	};
+
 	i2c_2: i2c at 12C80000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;

Looks good to me and applied. To be honest, I'm not sure about the values in the node of shunt-resistor though ;)

I didn't measure the values, but used the values from the DTS that's part of the hardkernel tree.

Kevin

#3 lore raw

PATCH 1/1 ARM: dts: exynos5422-odroidxu3: add INA2xx sensors

In reply to Kevin Hilman

Hey kevin,

Quoted 29 lines · Kevin Hilman

From: Kevin Hilman <[email protected]>

The odroid-xu3 has 4 INA231 current sensors on board which can be accessed from the Linux via the hwmon interface.

There is one sensor for each of these power rails:

- A15 cluster: VDD_ARM
- A7 cluster: VDD_KFC
- GPU: VDD_G3D
- memory: VDD_MEM

In addition to adding the sensors, LDO26 from the PMIC needs to be enabled because it's powering these sensor.

Cc Javier Martinez Canillas <[email protected]>
Cc Sjoerd Simons <[email protected]>

---
Applies on top of "ARM: dts: Add dts file for odroid XU3 board" from Sjoerd Simons.

 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 39 ++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/exynos5422-odroidxu3.dts +0 -0
index c29123c0734d..7874da20939f 100644

arch/arm/boot/dts/exynos5422-odroidxu3.dts line 271

Quoted 8 lines
arch/arm/boot/dts/exynos5422-odroidxu3.dts +5 -0
@@ -257,6 +264,38 @@
 		};
 	};
 
+	i2c_0: i2c at 12C60000 {
+		status = "okay";
+
+		/* A15 cluster: VDD_ARM */
+		ina220 at 40 {
                   ^ ina231 at 40 ?

arch/arm/boot/dts/exynos5422-odroidxu3.dts line 272

Quoted 1 line
arch/arm/boot/dts/exynos5422-odroidxu3.dts +1 -0
+			compatible = "ti,ina230";

This feels incredibly nitpicky, but would it not better to use ti,ina231 as it's an INA231 chip not a INA230? (And add the compatibility string to the driver)

Signature · 9 lines
Sjoerd Simons <[email protected]>
Collabora Ltd.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 6170 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20150114/6ab1059a/attachment.bin>
#4 lore raw

PATCH 1/1 ARM: dts: exynos5422-odroidxu3: add INA2xx sensors

Quoted 41 lines · Sjoerd Simons

Hey kevin,

Quoted 29 lines · Kevin Hilman

From: Kevin Hilman <[email protected]>

The odroid-xu3 has 4 INA231 current sensors on board which can be accessed from the Linux via the hwmon interface.

There is one sensor for each of these power rails:

- A15 cluster: VDD_ARM
- A7 cluster: VDD_KFC
- GPU: VDD_G3D
- memory: VDD_MEM

In addition to adding the sensors, LDO26 from the PMIC needs to be enabled because it's powering these sensor.

Cc Javier Martinez Canillas <[email protected]>
Cc Sjoerd Simons <[email protected]>

---
Applies on top of "ARM: dts: Add dts file for odroid XU3 board" from Sjoerd Simons.

 arch/arm/boot/dts/exynos5422-odroidxu3.dts | 39 ++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)
arch/arm/boot/dts/exynos5422-odroidxu3.dts +0 -0
index c29123c0734d..7874da20939f 100644

arch/arm/boot/dts/exynos5422-odroidxu3.dts line 271

Quoted 8 lines
arch/arm/boot/dts/exynos5422-odroidxu3.dts +5 -0
@@ -257,6 +264,38 @@
 		};
 	};
 
+	i2c_0: i2c at 12C60000 {
+		status = "okay";
+
+		/* A15 cluster: VDD_ARM */
+		ina220 at 40 {
                   ^ ina231 at 40 ?
Quoted 5 lines

arch/arm/boot/dts/exynos5422-odroidxu3.dts line 272

Quoted 1 line
arch/arm/boot/dts/exynos5422-odroidxu3.dts +1 -0
+			compatible = "ti,ina230";

This feels incredibly nitpicky, but would it not better to use ti,ina231 as it's an INA231 chip not a INA230? (And add the compatibility string to the driver)

Hmm, you're right. Until recently, I thought these were INA230s, but squinted enough at the schematic yesterday to notice they were marked as INA231, so updated the changelog, but not the DTS.

Will re-spin with a compatible string update to the driver.

Kevin