diff mbox

[U-Boot] powerpc/t4240qds: add support of reading Core voltage

Message ID 1440491401-1400-1-git-send-email-shh.xie@gmail.com
State Deferred
Delegated to: York Sun
Headers show

Commit Message

shaohui xie Aug. 25, 2015, 8:30 a.m. UTC
From: Shaohui Xie <Shaohui.Xie@freescale.com>

A U-boot CMD vdd_read is implemented to read Core voltage.

Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
---
 board/freescale/t4qds/t4240qds.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

Comments

York Sun Oct. 14, 2015, 8:29 p.m. UTC | #1
On 08/25/2015 01:30 AM, shh.xie@gmail.com wrote:
> From: Shaohui Xie <Shaohui.Xie@freescale.com>
> 
> A U-boot CMD vdd_read is implemented to read Core voltage.
> 
> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com>
> ---
>  board/freescale/t4qds/t4240qds.c | 30 ++++++++++++++++++++++++++++++
>  1 file changed, 30 insertions(+)
> 
> diff --git a/board/freescale/t4qds/t4240qds.c b/board/freescale/t4qds/t4240qds.c
> index 4f2cccd..56273e4 100644
> --- a/board/freescale/t4qds/t4240qds.c
> +++ b/board/freescale/t4qds/t4240qds.c
> @@ -887,8 +887,38 @@ static int do_vdd_adjust(cmd_tbl_t *cmdtp,
>  	return 0;
>  }
>  
> +static int do_vdd_read(cmd_tbl_t *cmdtp,
> +		       int flag, int argc,
> +		       char * const argv[])
> +{
> +	int vdd, ret;
> +
> +	if (argc < 1)
> +		return CMD_RET_USAGE;
> +
> +	ret = select_i2c_ch_pca9547(I2C_MUX_CH_VOL_MONITOR);
> +	if (ret) {
> +		printf("VID: I2c failed to switch channel\n");
> +		return 0;
> +	}
> +
> +	vdd = read_voltage();
> +	if (vdd < 0)
> +		printf("VID: Could not read voltage\n");
> +	else
> +		printf("VID: Core voltage is at %d mV\n", vdd);
> +
> +	return 0;
> +}
> +
>  U_BOOT_CMD(
>  	vdd_override, 2, 0, do_vdd_adjust,
>  	"Override VDD",
>  	"- override with the voltage specified in mV, eg. 1050"
>  );
> +
> +U_BOOT_CMD(
> +	vdd_read, 1, 0, do_vdd_read,
> +	"read VDD",
> +	" - Read the voltage specified in mV"
> +)
> 

Can you explain why you need this command? You already get the voltage if you
run bdinfo. If you override vdd, you also get a print.

York
shaohui xie Oct. 15, 2015, 2:20 a.m. UTC | #2
> On 08/25/2015 01:30 AM, shh.xie@gmail.com wrote:
> > From: Shaohui Xie <Shaohui.Xie@freescale.com>
> >
> > A U-boot CMD vdd_read is implemented to read Core voltage.
> 
> Can you explain why you need this command? You already get the voltage if
> you run bdinfo. If you override vdd, you also get a print.
> 
[S.H] there was a request that the commands override_vdd and vdd_read should be
Supported pair wise on T4240QDS, like what T2080RDB does... 

So if the request is not really necessary, we can drop it.

Thanks!
Shaohui
diff mbox

Patch

diff --git a/board/freescale/t4qds/t4240qds.c b/board/freescale/t4qds/t4240qds.c
index 4f2cccd..56273e4 100644
--- a/board/freescale/t4qds/t4240qds.c
+++ b/board/freescale/t4qds/t4240qds.c
@@ -887,8 +887,38 @@  static int do_vdd_adjust(cmd_tbl_t *cmdtp,
 	return 0;
 }
 
+static int do_vdd_read(cmd_tbl_t *cmdtp,
+		       int flag, int argc,
+		       char * const argv[])
+{
+	int vdd, ret;
+
+	if (argc < 1)
+		return CMD_RET_USAGE;
+
+	ret = select_i2c_ch_pca9547(I2C_MUX_CH_VOL_MONITOR);
+	if (ret) {
+		printf("VID: I2c failed to switch channel\n");
+		return 0;
+	}
+
+	vdd = read_voltage();
+	if (vdd < 0)
+		printf("VID: Could not read voltage\n");
+	else
+		printf("VID: Core voltage is at %d mV\n", vdd);
+
+	return 0;
+}
+
 U_BOOT_CMD(
 	vdd_override, 2, 0, do_vdd_adjust,
 	"Override VDD",
 	"- override with the voltage specified in mV, eg. 1050"
 );
+
+U_BOOT_CMD(
+	vdd_read, 1, 0, do_vdd_read,
+	"read VDD",
+	" - Read the voltage specified in mV"
+)