public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL
@ 2012-08-06 21:34 Marek Vasut
  2012-08-06 21:34 ` [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code Marek Vasut
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Marek Vasut @ 2012-08-06 21:34 UTC (permalink / raw)
  To: u-boot

The SPL doesn't need the CP15 reconfiguration, as that's what the
BootROM does for us already. Moreover, when the CP15 is reconfigured
and the code returns control to BootROM, the USB boot works no more.

Remove the code and allow [1] to work properly as well.

[1] http://git.bfuser.eu/?p=marex/mxsldr.git;a=summary

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
---
 arch/arm/cpu/arm926ejs/mx28/start.S |   42 -----------------------------------
 1 file changed, 42 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/mx28/start.S b/arch/arm/cpu/arm926ejs/mx28/start.S
index e572b78..7ccd337 100644
--- a/arch/arm/cpu/arm926ejs/mx28/start.S
+++ b/arch/arm/cpu/arm926ejs/mx28/start.S
@@ -180,14 +180,6 @@ _reset:
 	orr	r0,r0,#0xd3
 	msr	cpsr,r0
 
-	/*
-	 * we do sys-critical inits only at reboot,
-	 * not when booting from ram!
-	 */
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
-	bl	cpu_init_crit
-#endif
-
 	bl	board_init_ll
 
 	/*
@@ -207,40 +199,6 @@ _reset:
 	pop	{r0-r12,r14}
 	bx	lr
 
-/*
- *************************************************************************
- *
- * CPU_init_critical registers
- *
- * setup important registers
- * setup memory timing
- *
- *************************************************************************
- */
-#ifndef CONFIG_SKIP_LOWLEVEL_INIT
-cpu_init_crit:
-	/*
-	 * flush v4 I/D caches
-	 */
-	mov	r0, #0
-	mcr	p15, 0, r0, c7, c7, 0	/* flush v3/v4 cache */
-	mcr	p15, 0, r0, c8, c7, 0	/* flush v4 TLB */
-
-	/*
-	 * disable MMU stuff and caches
-	 */
-	mrc	p15, 0, r0, c1, c0, 0
-	bic	r0, r0, #0x00002300	/* clear bits 13, 9:8 (--V- --RS) */
-	bic	r0, r0, #0x00000087	/* clear bits 7, 2:0 (B--- -CAM) */
-	orr	r0, r0, #0x00000002	/* set bit 2 (A) Align */
-	orr	r0, r0, #0x00001000	/* set bit 12 (I) I-Cache */
-	mcr	p15, 0, r0, c1, c0, 0
-
-	mov	pc, lr		/* back to my caller */
-
-	.align	5
-#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
-
 _hang:
 	ldr	sp, _TEXT_BASE			/* switch to abort stack */
 1:
-- 
1.7.10.4

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

* [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code
  2012-08-06 21:34 [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Marek Vasut
@ 2012-08-06 21:34 ` Marek Vasut
  2012-08-17 11:05   ` Stefano Babic
  2012-08-20  7:52   ` Stefano Babic
  2012-08-17 11:04 ` [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Stefano Babic
  2012-08-20  7:52 ` Stefano Babic
  2 siblings, 2 replies; 6+ messages in thread
From: Marek Vasut @ 2012-08-06 21:34 UTC (permalink / raw)
  To: u-boot

Move some function calls to a more appropriate place, so they're
called only when needed.

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Fabio Estevam <fabio.estevam@freescale.com>
---
 arch/arm/cpu/arm926ejs/mx28/spl_power_init.c |    9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
index 4b09b0c..e06e6d6 100644
--- a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
+++ b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
@@ -657,17 +657,14 @@ void mx28_power_configure_power_source(void)
 
 	mx28_src_power_init();
 
-	batt_ready = mx28_is_batt_ready();
-
 	if (readl(&power_regs->hw_power_sts) & POWER_STS_VDD5V_GT_VDDIO) {
-		batt_good = mx28_is_batt_good();
+		batt_ready = mx28_is_batt_ready();
 		if (batt_ready) {
 			/* 5V source detected, good battery detected. */
 			mx28_batt_boot();
 		} else {
-			if (batt_good) {
-				/* 5V source detected, low battery detceted. */
-			} else {
+			batt_good = mx28_is_batt_good();
+			if (!batt_good) {
 				/* 5V source detected, bad battery detected. */
 				writel(LRADC_CONVERSION_AUTOMATIC,
 					&lradc_regs->hw_lradc_conversion_clr);
-- 
1.7.10.4

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

* [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL
  2012-08-06 21:34 [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Marek Vasut
  2012-08-06 21:34 ` [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code Marek Vasut
@ 2012-08-17 11:04 ` Stefano Babic
  2012-08-20  7:52 ` Stefano Babic
  2 siblings, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2012-08-17 11:04 UTC (permalink / raw)
  To: u-boot

On 06/08/2012 23:34, Marek Vasut wrote:
> The SPL doesn't need the CP15 reconfiguration, as that's what the
> BootROM does for us already. Moreover, when the CP15 is reconfigured
> and the code returns control to BootROM, the USB boot works no more.
> 
> Remove the code and allow [1] to work properly as well.
> 
> [1] http://git.bfuser.eu/?p=marex/mxsldr.git;a=summary
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  arch/arm/cpu/arm926ejs/mx28/start.S |   42 -----------------------------------
>  1 file changed, 42 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm926ejs/mx28/start.S b/arch/arm/cpu/arm926ejs/mx28/start.S
> index e572b78..7ccd337 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/start.S
> +++ b/arch/arm/cpu/arm926ejs/mx28/start.S
> @@ -180,14 +180,6 @@ _reset:
>  	orr	r0,r0,#0xd3
>  	msr	cpsr,r0
>  
> -	/*
> -	 * we do sys-critical inits only at reboot,
> -	 * not when booting from ram!
> -	 */
> -#ifndef CONFIG_SKIP_LOWLEVEL_INIT
> -	bl	cpu_init_crit
> -#endif
> -
>  	bl	board_init_ll
>  
>  	/*
> @@ -207,40 +199,6 @@ _reset:
>  	pop	{r0-r12,r14}
>  	bx	lr
>  
> -/*
> - *************************************************************************
> - *
> - * CPU_init_critical registers
> - *
> - * setup important registers
> - * setup memory timing
> - *
> - *************************************************************************
> - */
> -#ifndef CONFIG_SKIP_LOWLEVEL_INIT
> -cpu_init_crit:
> -	/*
> -	 * flush v4 I/D caches
> -	 */
> -	mov	r0, #0
> -	mcr	p15, 0, r0, c7, c7, 0	/* flush v3/v4 cache */
> -	mcr	p15, 0, r0, c8, c7, 0	/* flush v4 TLB */
> -
> -	/*
> -	 * disable MMU stuff and caches
> -	 */
> -	mrc	p15, 0, r0, c1, c0, 0
> -	bic	r0, r0, #0x00002300	/* clear bits 13, 9:8 (--V- --RS) */
> -	bic	r0, r0, #0x00000087	/* clear bits 7, 2:0 (B--- -CAM) */
> -	orr	r0, r0, #0x00000002	/* set bit 2 (A) Align */
> -	orr	r0, r0, #0x00001000	/* set bit 12 (I) I-Cache */
> -	mcr	p15, 0, r0, c1, c0, 0
> -
> -	mov	pc, lr		/* back to my caller */
> -
> -	.align	5
> -#endif /* CONFIG_SKIP_LOWLEVEL_INIT */
> -
>  _hang:
>  	ldr	sp, _TEXT_BASE			/* switch to abort stack */
>  1:
> 

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code
  2012-08-06 21:34 ` [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code Marek Vasut
@ 2012-08-17 11:05   ` Stefano Babic
  2012-08-20  7:52   ` Stefano Babic
  1 sibling, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2012-08-17 11:05 UTC (permalink / raw)
  To: u-boot

On 06/08/2012 23:34, Marek Vasut wrote:
> Move some function calls to a more appropriate place, so they're
> called only when needed.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  arch/arm/cpu/arm926ejs/mx28/spl_power_init.c |    9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> index 4b09b0c..e06e6d6 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> +++ b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> @@ -657,17 +657,14 @@ void mx28_power_configure_power_source(void)
>  
>  	mx28_src_power_init();
>  
> -	batt_ready = mx28_is_batt_ready();
> -
>  	if (readl(&power_regs->hw_power_sts) & POWER_STS_VDD5V_GT_VDDIO) {
> -		batt_good = mx28_is_batt_good();
> +		batt_ready = mx28_is_batt_ready();
>  		if (batt_ready) {
>  			/* 5V source detected, good battery detected. */
>  			mx28_batt_boot();
>  		} else {
> -			if (batt_good) {
> -				/* 5V source detected, low battery detceted. */
> -			} else {
> +			batt_good = mx28_is_batt_good();
> +			if (!batt_good) {
>  				/* 5V source detected, bad battery detected. */
>  				writel(LRADC_CONVERSION_AUTOMATIC,
>  					&lradc_regs->hw_lradc_conversion_clr);
> 

Acked-by: Stefano Babic <sbabic@denx.de>

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL
  2012-08-06 21:34 [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Marek Vasut
  2012-08-06 21:34 ` [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code Marek Vasut
  2012-08-17 11:04 ` [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Stefano Babic
@ 2012-08-20  7:52 ` Stefano Babic
  2 siblings, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2012-08-20  7:52 UTC (permalink / raw)
  To: u-boot

On 06/08/2012 23:34, Marek Vasut wrote:
> The SPL doesn't need the CP15 reconfiguration, as that's what the
> BootROM does for us already. Moreover, when the CP15 is reconfigured
> and the code returns control to BootROM, the USB boot works no more.
> 
> Remove the code and allow [1] to work properly as well.
> 
> [1] http://git.bfuser.eu/?p=marex/mxsldr.git;a=summary
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---

Applied to u-boot-imx, thanks.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

* [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code
  2012-08-06 21:34 ` [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code Marek Vasut
  2012-08-17 11:05   ` Stefano Babic
@ 2012-08-20  7:52   ` Stefano Babic
  1 sibling, 0 replies; 6+ messages in thread
From: Stefano Babic @ 2012-08-20  7:52 UTC (permalink / raw)
  To: u-boot

On 06/08/2012 23:34, Marek Vasut wrote:
> Move some function calls to a more appropriate place, so they're
> called only when needed.
> 
> Signed-off-by: Marek Vasut <marex@denx.de>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Fabio Estevam <fabio.estevam@freescale.com>
> ---
>  arch/arm/cpu/arm926ejs/mx28/spl_power_init.c |    9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> index 4b09b0c..e06e6d6 100644
> --- a/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> +++ b/arch/arm/cpu/arm926ejs/mx28/spl_power_init.c
> @@ -657,17 +657,14 @@ void mx28_power_configure_power_source(void)
>  
>  	mx28_src_power_init();
>  
> -	batt_ready = mx28_is_batt_ready();
> -
>  	if (readl(&power_regs->hw_power_sts) & POWER_STS_VDD5V_GT_VDDIO) {
> -		batt_good = mx28_is_batt_good();
> +		batt_ready = mx28_is_batt_ready();
>  		if (batt_ready) {
>  			/* 5V source detected, good battery detected. */
>  			mx28_batt_boot();
>  		} else {
> -			if (batt_good) {
> -				/* 5V source detected, low battery detceted. */
> -			} else {
> +			batt_good = mx28_is_batt_good();
> +			if (!batt_good) {
>  				/* 5V source detected, bad battery detected. */
>  				writel(LRADC_CONVERSION_AUTOMATIC,
>  					&lradc_regs->hw_lradc_conversion_clr);
> 

Applied to u-boot-imx, thanks.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

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

end of thread, other threads:[~2012-08-20  7:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-06 21:34 [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Marek Vasut
2012-08-06 21:34 ` [U-Boot] [PATCH 2/2] MX28: Shuffle around the power management code Marek Vasut
2012-08-17 11:05   ` Stefano Babic
2012-08-20  7:52   ` Stefano Babic
2012-08-17 11:04 ` [U-Boot] [PATCH 1/2] MX28: Drop the cp15 reconfiguration from SPL Stefano Babic
2012-08-20  7:52 ` Stefano Babic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox