Skip to contentSkip to conversation

am33xx: Add a function to query MPU voltage in uV

PATCH In review Felix Brack 3 participants 3 messages Oct 11, 2017 – Nov 17, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 am33xx: Add a function to query MPU voltage in uV

For the DM TPS65910 driver I'm working on, querying the MPU voltage should return a value in uV. This value can then be used by the regulator's standard function set_value to set the MPU voltage.

---

 arch/arm/include/asm/arch-am33xx/sys_proto.h |  1 +
 arch/arm/mach-omap2/am33xx/sys_info.c        | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)
arch/arm/include/asm/arch-am33xx/sys_proto.h +1 -0
index 4e78aaf..57fbfa4 100644
@@ -40,6 +40,7 @@ void enable_norboot_pin_mux(void);
 #endif
 void am33xx_spl_board_init(void);
 int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev);
+int am335x_get_mpu_vdd(int sil_rev, int frequency);
 int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency);
 #endif
 
arch/arm/mach-omap2/am33xx/sys_info.c +16 -0
index ea434aa..0181a8c 100644
@@ -175,6 +175,22 @@ int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev)
 	return MPUPLL_M_720;
 }
 
+int am335x_get_mpu_vdd(int sil_rev, int frequency)
+{
+	int sel_mask = am335x_get_tps65910_mpu_vdd(sil_rev, frequency);
+
+	switch (sel_mask) {
+	case TPS65910_OP_REG_SEL_1_3_2_5:
+		return 1325000;
+	case TPS65910_OP_REG_SEL_1_2_0:
+		return 1200000;
+	case TPS65910_OP_REG_SEL_1_1_0:
+		return 1100000;
+	default:
+		return 1262500;
+	}
+}
+
 int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency)
 {
 	/* For PG2.0 and later, we have one set of values. */
Signature · 1 line
2.7.4
#1 lore raw

PATCH 1/1 am33xx: Add a function to query MPU voltage in uV

Quoted 5 lines · Felix Brack

For the DM TPS65910 driver I'm working on, querying the MPU voltage should return a value in uV. This value can then be used by the regulator's standard function set_value to set the MPU voltage.

Thanks and regards,
Lokesh

Quoted 46 lines

---

 arch/arm/include/asm/arch-am33xx/sys_proto.h |  1 +
 arch/arm/mach-omap2/am33xx/sys_info.c        | 16 ++++++++++++++++
 2 files changed, 17 insertions(+)
arch/arm/include/asm/arch-am33xx/sys_proto.h +1 -0
index 4e78aaf..57fbfa4 100644
@@ -40,6 +40,7 @@ void enable_norboot_pin_mux(void);
 #endif
 void am33xx_spl_board_init(void);
 int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev);
+int am335x_get_mpu_vdd(int sil_rev, int frequency);
 int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency);
 #endif
 
arch/arm/mach-omap2/am33xx/sys_info.c +16 -0
index ea434aa..0181a8c 100644
@@ -175,6 +175,22 @@ int am335x_get_efuse_mpu_max_freq(struct ctrl_dev *cdev)
 	return MPUPLL_M_720;
 }
 
+int am335x_get_mpu_vdd(int sil_rev, int frequency)
+{
+	int sel_mask = am335x_get_tps65910_mpu_vdd(sil_rev, frequency);
+
+	switch (sel_mask) {
+	case TPS65910_OP_REG_SEL_1_3_2_5:
+		return 1325000;
+	case TPS65910_OP_REG_SEL_1_2_0:
+		return 1200000;
+	case TPS65910_OP_REG_SEL_1_1_0:
+		return 1100000;
+	default:
+		return 1262500;
+	}
+}
+
 int am335x_get_tps65910_mpu_vdd(int sil_rev, int frequency)
 {
 	/* For PG2.0 and later, we have one set of values. */
#2 lore raw
In reply to Felix Brack
Quoted 6 lines · Felix Brack

For the DM TPS65910 driver I'm working on, querying the MPU voltage should return a value in uV. This value can then be used by the regulator's standard function set_value to set the MPU voltage.

Applied to u-boot/master, thanks!

Signature · 8 lines
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20171117/858cd968/attachment.sig>