u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
* [U-Boot] [PATCH] board: dra71: Fix selection of OPPs
@ 2017-04-16  4:43 Lokesh Vutla
  2017-04-17 16:15 ` Tom Rini
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Lokesh Vutla @ 2017-04-16  4:43 UTC (permalink / raw)
  To: u-boot

As per the DM[1] Dated June 2016–Revised February 2017, Table 5-3,
DRA71 supports the following OPPs for various voltage domains:

VDD_MPU:	OPP_NOM
VDD_CORE:	OPP_NOM
VDD_GPU:	OPP_NOM
VDD_DSPEVE:	OPP_NOM, OPP_HIGH
VDD_IVA:	OPP_NOM, OPP_HIGH

This patch add support for selection of the above OPPs instead of
using OPP_NOM for all voltage domains.

[1] http://www.ti.com/lit/ds/symlink/dra718.pdf

Reported-by: Vishal Mahaveer <vishalm@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
 board/ti/dra7xx/evm.c | 29 +++++++++++++++++++++++------
 1 file changed, 23 insertions(+), 6 deletions(-)

diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
index ae2d59da43..0984475d3b 100644
--- a/board/ti/dra7xx/evm.c
+++ b/board/ti/dra7xx/evm.c
@@ -456,27 +456,44 @@ int get_voltrail_opp(int rail_offset)
 {
 	int opp;
 
-	/*
-	 * DRA71x supports only OPP_NOM.
-	 */
-	if (board_is_dra71x_evm())
-		return OPP_NOM;
-
 	switch (rail_offset) {
 	case VOLT_MPU:
 		opp = DRA7_MPU_OPP;
+		/* DRA71x supports only OPP_NOM for MPU */
+		if (board_is_dra71x_evm())
+			opp = OPP_NOM;
 		break;
 	case VOLT_CORE:
 		opp = DRA7_CORE_OPP;
+		/* DRA71x supports only OPP_NOM for CORE */
+		if (board_is_dra71x_evm())
+			opp = OPP_NOM;
 		break;
 	case VOLT_GPU:
 		opp = DRA7_GPU_OPP;
+		/* DRA71x supports only OPP_NOM for GPU */
+		if (board_is_dra71x_evm())
+			opp = OPP_NOM;
 		break;
 	case VOLT_EVE:
 		opp = DRA7_DSPEVE_OPP;
+		/*
+		 * DRA71x does not support OPP_OD for EVE.
+		 * If OPP_OD is selected by menuconfig, fallback
+		 * to OPP_NOM.
+		 */
+		if (board_is_dra71x_evm() && opp == OPP_OD)
+			opp = OPP_NOM;
 		break;
 	case VOLT_IVA:
 		opp = DRA7_IVA_OPP;
+		/*
+		 * DRA71x does not support OPP_OD for IVA.
+		 * If OPP_OD is selected by menuconfig, fallback
+		 * to OPP_NOM.
+		 */
+		if (board_is_dra71x_evm() && opp == OPP_OD)
+			opp = OPP_NOM;
 		break;
 	default:
 		opp = OPP_NOM;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] board: dra71: Fix selection of OPPs
  2017-04-16  4:43 [U-Boot] [PATCH] board: dra71: Fix selection of OPPs Lokesh Vutla
@ 2017-04-17 16:15 ` Tom Rini
  2017-04-20  8:37 ` [U-Boot] [PATCH v2] " Lokesh Vutla
  2017-04-20  8:39 ` [U-Boot] [PATCH] " Lokesh Vutla
  2 siblings, 0 replies; 5+ messages in thread
From: Tom Rini @ 2017-04-17 16:15 UTC (permalink / raw)
  To: u-boot

On Sun, Apr 16, 2017 at 10:13:55AM +0530, Lokesh Vutla wrote:

> As per the DM[1] Dated June 2016–Revised February 2017, Table 5-3,
> DRA71 supports the following OPPs for various voltage domains:
> 
> VDD_MPU:	OPP_NOM
> VDD_CORE:	OPP_NOM
> VDD_GPU:	OPP_NOM
> VDD_DSPEVE:	OPP_NOM, OPP_HIGH
> VDD_IVA:	OPP_NOM, OPP_HIGH
> 
> This patch add support for selection of the above OPPs instead of
> using OPP_NOM for all voltage domains.
> 
> [1] http://www.ti.com/lit/ds/symlink/dra718.pdf
> 
> Reported-by: Vishal Mahaveer <vishalm@ti.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Reviewed-by: Tom Rini <trini@konsulko.com>

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170417/b3eef93f/attachment.sig>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH v2] board: dra71: Fix selection of OPPs
  2017-04-16  4:43 [U-Boot] [PATCH] board: dra71: Fix selection of OPPs Lokesh Vutla
  2017-04-17 16:15 ` Tom Rini
@ 2017-04-20  8:37 ` Lokesh Vutla
  2017-04-28 13:08   ` [U-Boot] [U-Boot,v2] " Tom Rini
  2017-04-20  8:39 ` [U-Boot] [PATCH] " Lokesh Vutla
  2 siblings, 1 reply; 5+ messages in thread
From: Lokesh Vutla @ 2017-04-20  8:37 UTC (permalink / raw)
  To: u-boot

As per the DM[1] Dated June 2016–Revised February 2017, Table 5-3,
DRA71 supports the following OPPs for various voltage domains:

VDD_MPU:	OPP_NOM
VDD_CORE:	OPP_NOM
VDD_GPU:	OPP_NOM
VDD_DSPEVE:	OPP_NOM, OPP_HIGH
VDD_IVA:	OPP_NOM, OPP_HIGH

This patch add support for selection of the above OPPs instead of
using OPP_NOM for all voltage domains.

[1] http://www.ti.com/lit/ds/symlink/dra718.pdf

Reported-by: Vishal Mahaveer <vishalm@ti.com>
Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
---
Changes since v1:
- Updated efuse reg bits for OPP_HIGH as pointed out by Suman.

 board/ti/dra7xx/evm.c | 33 +++++++++++++++++++++++++++------
 1 file changed, 27 insertions(+), 6 deletions(-)

diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
index ae2d59da43..ed0bc181cf 100644
--- a/board/ti/dra7xx/evm.c
+++ b/board/ti/dra7xx/evm.c
@@ -438,14 +438,18 @@ struct vcores_data dra718_volts = {
 	 * and are powered by BUCK1 of LP873X PMIC
 	 */
 	.eve.value[OPP_NOM]	= VDD_EVE_DRA7_NOM,
+	.eve.value[OPP_HIGH]	= VDD_EVE_DRA7_HIGH,
 	.eve.efuse.reg[OPP_NOM]	= STD_FUSE_OPP_VMIN_DSPEVE_NOM,
+	.eve.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_DSPEVE_HIGH,
 	.eve.efuse.reg_bits = DRA752_EFUSE_REGBITS,
 	.eve.addr	= LP873X_REG_ADDR_BUCK1,
 	.eve.pmic	= &lp8733,
 	.eve.abb_tx_done_mask = OMAP_ABB_EVE_TXDONE_MASK,
 
 	.iva.value[OPP_NOM]	= VDD_IVA_DRA7_NOM,
+	.iva.value[OPP_HIGH]	= VDD_IVA_DRA7_HIGH,
 	.iva.efuse.reg[OPP_NOM]	= STD_FUSE_OPP_VMIN_IVA_NOM,
+	.iva.efuse.reg[OPP_HIGH] = STD_FUSE_OPP_VMIN_IVA_HIGH,
 	.iva.efuse.reg_bits = DRA752_EFUSE_REGBITS,
 	.iva.addr	= LP873X_REG_ADDR_BUCK1,
 	.iva.pmic	= &lp8733,
@@ -456,27 +460,44 @@ int get_voltrail_opp(int rail_offset)
 {
 	int opp;
 
-	/*
-	 * DRA71x supports only OPP_NOM.
-	 */
-	if (board_is_dra71x_evm())
-		return OPP_NOM;
-
 	switch (rail_offset) {
 	case VOLT_MPU:
 		opp = DRA7_MPU_OPP;
+		/* DRA71x supports only OPP_NOM for MPU */
+		if (board_is_dra71x_evm())
+			opp = OPP_NOM;
 		break;
 	case VOLT_CORE:
 		opp = DRA7_CORE_OPP;
+		/* DRA71x supports only OPP_NOM for CORE */
+		if (board_is_dra71x_evm())
+			opp = OPP_NOM;
 		break;
 	case VOLT_GPU:
 		opp = DRA7_GPU_OPP;
+		/* DRA71x supports only OPP_NOM for GPU */
+		if (board_is_dra71x_evm())
+			opp = OPP_NOM;
 		break;
 	case VOLT_EVE:
 		opp = DRA7_DSPEVE_OPP;
+		/*
+		 * DRA71x does not support OPP_OD for EVE.
+		 * If OPP_OD is selected by menuconfig, fallback
+		 * to OPP_NOM.
+		 */
+		if (board_is_dra71x_evm() && opp == OPP_OD)
+			opp = OPP_NOM;
 		break;
 	case VOLT_IVA:
 		opp = DRA7_IVA_OPP;
+		/*
+		 * DRA71x does not support OPP_OD for IVA.
+		 * If OPP_OD is selected by menuconfig, fallback
+		 * to OPP_NOM.
+		 */
+		if (board_is_dra71x_evm() && opp == OPP_OD)
+			opp = OPP_NOM;
 		break;
 	default:
 		opp = OPP_NOM;
-- 
2.11.0

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [U-Boot] [PATCH] board: dra71: Fix selection of OPPs
  2017-04-16  4:43 [U-Boot] [PATCH] board: dra71: Fix selection of OPPs Lokesh Vutla
  2017-04-17 16:15 ` Tom Rini
  2017-04-20  8:37 ` [U-Boot] [PATCH v2] " Lokesh Vutla
@ 2017-04-20  8:39 ` Lokesh Vutla
  2 siblings, 0 replies; 5+ messages in thread
From: Lokesh Vutla @ 2017-04-20  8:39 UTC (permalink / raw)
  To: u-boot



On Sunday 16 April 2017 10:13 AM, Lokesh Vutla wrote:
> As per the DM[1] Dated June 2016–Revised February 2017, Table 5-3,
> DRA71 supports the following OPPs for various voltage domains:
> 
> VDD_MPU:	OPP_NOM
> VDD_CORE:	OPP_NOM
> VDD_GPU:	OPP_NOM
> VDD_DSPEVE:	OPP_NOM, OPP_HIGH
> VDD_IVA:	OPP_NOM, OPP_HIGH
> 
> This patch add support for selection of the above OPPs instead of
> using OPP_NOM for all voltage domains.
> 
> [1] http://www.ti.com/lit/ds/symlink/dra718.pdf
> 
> Reported-by: Vishal Mahaveer <vishalm@ti.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Just posted v2 of this patch as fixing efuse reg bits for OPP_HIGH as
pointed out by Suman.

Thanks and regards,
Lokesh

> ---
>  board/ti/dra7xx/evm.c | 29 +++++++++++++++++++++++------
>  1 file changed, 23 insertions(+), 6 deletions(-)
> 
> diff --git a/board/ti/dra7xx/evm.c b/board/ti/dra7xx/evm.c
> index ae2d59da43..0984475d3b 100644
> --- a/board/ti/dra7xx/evm.c
> +++ b/board/ti/dra7xx/evm.c
> @@ -456,27 +456,44 @@ int get_voltrail_opp(int rail_offset)
>  {
>  	int opp;
>  
> -	/*
> -	 * DRA71x supports only OPP_NOM.
> -	 */
> -	if (board_is_dra71x_evm())
> -		return OPP_NOM;
> -
>  	switch (rail_offset) {
>  	case VOLT_MPU:
>  		opp = DRA7_MPU_OPP;
> +		/* DRA71x supports only OPP_NOM for MPU */
> +		if (board_is_dra71x_evm())
> +			opp = OPP_NOM;
>  		break;
>  	case VOLT_CORE:
>  		opp = DRA7_CORE_OPP;
> +		/* DRA71x supports only OPP_NOM for CORE */
> +		if (board_is_dra71x_evm())
> +			opp = OPP_NOM;
>  		break;
>  	case VOLT_GPU:
>  		opp = DRA7_GPU_OPP;
> +		/* DRA71x supports only OPP_NOM for GPU */
> +		if (board_is_dra71x_evm())
> +			opp = OPP_NOM;
>  		break;
>  	case VOLT_EVE:
>  		opp = DRA7_DSPEVE_OPP;
> +		/*
> +		 * DRA71x does not support OPP_OD for EVE.
> +		 * If OPP_OD is selected by menuconfig, fallback
> +		 * to OPP_NOM.
> +		 */
> +		if (board_is_dra71x_evm() && opp == OPP_OD)
> +			opp = OPP_NOM;
>  		break;
>  	case VOLT_IVA:
>  		opp = DRA7_IVA_OPP;
> +		/*
> +		 * DRA71x does not support OPP_OD for IVA.
> +		 * If OPP_OD is selected by menuconfig, fallback
> +		 * to OPP_NOM.
> +		 */
> +		if (board_is_dra71x_evm() && opp == OPP_OD)
> +			opp = OPP_NOM;
>  		break;
>  	default:
>  		opp = OPP_NOM;
> 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [U-Boot] [U-Boot,v2] board: dra71: Fix selection of OPPs
  2017-04-20  8:37 ` [U-Boot] [PATCH v2] " Lokesh Vutla
@ 2017-04-28 13:08   ` Tom Rini
  0 siblings, 0 replies; 5+ messages in thread
From: Tom Rini @ 2017-04-28 13:08 UTC (permalink / raw)
  To: u-boot

On Thu, Apr 20, 2017 at 02:07:52PM +0530, Lokesh Vutla wrote:

> As per the DM[1] Dated June 2016–Revised February 2017, Table 5-3,
> DRA71 supports the following OPPs for various voltage domains:
> 
> VDD_MPU:	OPP_NOM
> VDD_CORE:	OPP_NOM
> VDD_GPU:	OPP_NOM
> VDD_DSPEVE:	OPP_NOM, OPP_HIGH
> VDD_IVA:	OPP_NOM, OPP_HIGH
> 
> This patch add support for selection of the above OPPs instead of
> using OPP_NOM for all voltage domains.
> 
> [1] http://www.ti.com/lit/ds/symlink/dra718.pdf
> 
> Reported-by: Vishal Mahaveer <vishalm@ti.com>
> Signed-off-by: Suman Anna <s-anna@ti.com>
> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20170428/13aaf2d9/attachment.sig>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-04-28 13:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-04-16  4:43 [U-Boot] [PATCH] board: dra71: Fix selection of OPPs Lokesh Vutla
2017-04-17 16:15 ` Tom Rini
2017-04-20  8:37 ` [U-Boot] [PATCH v2] " Lokesh Vutla
2017-04-28 13:08   ` [U-Boot] [U-Boot,v2] " Tom Rini
2017-04-20  8:39 ` [U-Boot] [PATCH] " Lokesh Vutla

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).