Skip to contentSkip to conversation

ARM: dts: exynos5422-odroidxu3: add on-board INA231 sensors

PATCH Superseded Kevin Hilman 3 participants 4 messages Jan 15, 2015 – Jan 22, 2015

Subsystems (2)

v2 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 ARM: dts: exynos5422-odroidxu3: add on-board INA231 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]>

---
v2: use "ti,ina231" as compatible string.

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..50353d023225 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 */
+		ina231 at 40 {
+			compatible = "ti,ina231";
+			reg = <0x40>;
+			shunt-resistor = <10000>;
+		};
+
+		/* memory: VDD_MEM */
+		ina231 at 41 {
+			compatible = "ti,ina231";
+			reg = <0x41>;
+			shunt-resistor = <10000>;
+		};
+
+		/* GPU: VDD_G3D */
+		ina231 at 44 {
+			compatible = "ti,ina231";
+			reg = <0x44>;
+			shunt-resistor = <10000>;
+		};
+
+		/* A7 cluster: VDD_KFC */
+		ina231 at 45 {
+			compatible = "ti,ina231";
+			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
Reviewed-by on v2 1/1
#1 lore raw
Quoted 7 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:

Quoted 7 lines

- 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.

I haven't tested whether the sensor values are correct, but based on the schematics & the hardkernel dts this describes the hardware correctly.

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

---
v2: use "ti,ina231" as compatible string.

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..50353d023225 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 */
+		ina231 at 40 {
+			compatible = "ti,ina231";
+			reg = <0x40>;
+			shunt-resistor = <10000>;
+		};
+
+		/* memory: VDD_MEM */
+		ina231 at 41 {
+			compatible = "ti,ina231";
+			reg = <0x41>;
+			shunt-resistor = <10000>;
+		};
+
+		/* GPU: VDD_G3D */
+		ina231 at 44 {
+			compatible = "ti,ina231";
+			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
+		ina231 at 45 {
+			compatible = "ti,ina231";
+			reg = <0x45>;
+			shunt-resistor = <10000>;
+		};
+	};
+
 	i2c_2: i2c at 12C80000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;

-------------- 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/20150120/dad4ac02/attachment-0001.bin>

#2 lore raw
In reply to Kevin Hilman

Hi Kevin,

Quoted 45 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]>

---
v2: use "ti,ina231" as compatible string.

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 +7 -0
index c29123c0734d..50353d023225 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>;

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

Quoted 4 lines
arch/arm/boot/dts/exynos5422-odroidxu3.dts +1 -0
@@ -257,6 +264,38 @@
 		};
 	};
 
+	i2c_0: i2c@12C60000 {

It's ok but IMHO it can split using label reference, e.g.

&i2c_0 {
	...
};

Thanks.

Quoted 35 lines
arch/arm/boot/dts/exynos5422-odroidxu3.dts +31 -0
+		status = "okay";
+
+		/* A15 cluster: VDD_ARM */
+		ina231@40 {
+			compatible = "ti,ina231";
+			reg = <0x40>;
+			shunt-resistor = <10000>;
+		};
+
+		/* memory: VDD_MEM */
+		ina231@41 {
+			compatible = "ti,ina231";
+			reg = <0x41>;
+			shunt-resistor = <10000>;
+		};
+
+		/* GPU: VDD_G3D */
+		ina231@44 {
+			compatible = "ti,ina231";
+			reg = <0x44>;
+			shunt-resistor = <10000>;
+		};
+
+		/* A7 cluster: VDD_KFC */
+		ina231@45 {
+			compatible = "ti,ina231";
+			reg = <0x45>;
+			shunt-resistor = <10000>;
+		};
+	};
+
 	i2c_2: i2c@12C80000 {
 		samsung,i2c-sda-delay = <100>;
 		samsung,i2c-max-bus-freq = <66000>;
#3 lore raw
Quoted 51 lines · Joonyoung Shim

Hi Kevin,

Quoted 48 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]>

---
v2: use "ti,ina231" as compatible string.

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 +7 -0
index c29123c0734d..50353d023225 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 @@
 		};
 	};
 
Quoted 7 lines

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

Quoted 1 line
arch/arm/boot/dts/exynos5422-odroidxu3.dts +1 -0
+	i2c_0: i2c at 12C60000 {

It's ok but IMHO it can split using label reference, e.g.

&i2c_0 {
	...
};

Yes, you're right. I'll spin a v3.

Kevin