mpc85xx/t102xqds: convert deep sleep to generic board interface
PATCH 1/1 mpc85xx/t102xqds: convert deep sleep to generic board interface
A new deep sleep interface is introduced to support generic board structure. Converts it to use new interface.
--- board/freescale/t102xqds/ddr.c | 19 +++++++++++++++++++ board/freescale/t102xqds/t102xqds.c | 23 +++++++++++------------ include/configs/T102xQDS.h | 3 +++ 3 files changed, 33 insertions(+), 12 deletions(-)
board/freescale/t102xqds/ddr.c +19 -0
@@ -11,6 +11,7 @@#include <fsl_ddr_sdram.h> #include <fsl_ddr_dimm_params.h> #include <asm/fsl_law.h> +#include <asm/mpc85xx_gpio.h> DECLARE_GLOBAL_DATA_PTR ;
@@ -152,6 +153,19 @@ found:#endif } +#if defined(CONFIG_DEEP_SLEEP ) +void board_mem_sleep_setup (void ) +{ +void __iomem *qixis_base = (void *)QIXIS_BASE ; + +/* does not provide HW signals for power management */ +clrbits_8 (qixis_base +0x21 ,0x2 ); +/* Disable MCKE isolation */ +gpio_set_value (2 ,0 ); +udelay (1 ); +} +#endif +phys_size_t initdram (int board_type) {phys_size_t dram_size;
@@ -166,5 +180,10 @@ phys_size_t initdram(int board_type)/* DDR has been initialised by first stage boot loader */ dram_size =fsl_ddr_sdram_size ();#endif + +#if defined(CONFIG_DEEP_SLEEP ) && !defined(CONFIG_SPL_BUILD ) +fsl_dp_resume (); +#endif +return dram_size; }
board/freescale/t102xqds/t102xqds.c +11 -12
@@ -19,10 +19,10 @@#include <asm/fsl_liodn.h> #include <fm_eth.h> #include <hwconfig.h> -#include <asm/mpc85xx_gpio.h> #include "../common/qixis.h" #include "t102xqds.h" #include "t102xqds_qixis.h" +#include "../common/sleep.h" DECLARE_GLOBAL_DATA_PTR ;
@@ -242,6 +242,16 @@ void board_retimer_ds125df111_init(void)i2c_write (I2C_RETIMER_ADDR ,0x64 ,1 , ®,1 ); } +int board_early_init_f (void ) +{ +#if defined(CONFIG_DEEP_SLEEP ) +if (is_warm_boot ()) +fsl_dp_disable_console (); +#endif + +return 0 ; +} +int board_early_init_r (void ) {#ifdef CONFIG_SYS_FLASH_BASE
@@ -395,14 +405,3 @@ void qixis_dump_switch(void)printf ("SW%d = (0x%02x)\n" , i,QIXIS_READ (cms[1 ])); } } - -#ifdef CONFIG_DEEP_SLEEP -void board_mem_sleep_setup (void ) -{ -/* does not provide HW signals for power management */ -QIXIS_WRITE (pwr_ctl[1 ], (QIXIS_READ (pwr_ctl[1 ]) & ~0x2 )); -/* Disable MCKE isolation */ -gpio_set_value (2 ,0 ); -udelay (1 ); -} -#endif
include/configs/T102xQDS.h +3 -0
@@ -35,7 +35,10 @@#define CONFIG_ENV_OVERWRITE #define CONFIG_DEEP_SLEEP +#if defined(CONFIG_DEEP_SLEEP )#define CONFIG_SILENT_CONSOLE +#define CONFIG_BOARD_EARLY_INIT_F +#endif #ifdef CONFIG_RAMBOOT_PBL #define CONFIG_SYS_FSL_PBL_PBI board/freescale/t102xqds/t1024_pbi.cfg
Signature · 1 line
2.1.0.27.g96db324
PATCH 1/1 mpc85xx/t102xqds: convert deep sleep to generic board interface
Yuantian,
Quoted 9 lines · Tang Yuantian
A new deep sleep interface is introduced to support generic board structure. Converts it to use new interface.
Signed-off-by Tang Yuantian <[email protected]>--- board/freescale/t102xqds/ddr.c | 19 +++++++++++++++++++ board/freescale/t102xqds/t102xqds.c | 23 +++++++++++------------ include/configs/T102xQDS.h | 3 +++ 3 files changed, 33 insertions(+), 12 deletions(-)
You disable console in spl.c for RDB, but not for QDS. Is that what you want?
York
PATCH 1/1 mpc85xx/t102xqds: convert deep sleep to generic board interface
Hi York,
Yes, I did it on purpose. T102XQDS is not supported in SDK1.7 anymore. So I don't want to put more efforts to add SPI/NAND/SD boot deep sleep support. That means t102xqds only supports nor-boot deep sleep and need not to update spl.c.
It is the same case for T1040QDS.
Thanks,
Yuantian
Quoted 24 lines
-----Original Message-----
From: Sun York-R58495
Sent: Friday, January 16, 2015 2:02 AM
To: Tang Yuantian-B29983
Cc: u-boot at lists.denx.de
Subject: Re: [PATCH] mpc85xx/t102xqds: convert deep sleep to generic board interfaceYuantian,
Quoted 9 lines · Tang Yuantian
A new deep sleep interface is introduced to support generic board structure. Converts it to use new interface.
Signed-off-by Tang Yuantian <[email protected]>--- board/freescale/t102xqds/ddr.c | 19 +++++++++++++++++++ board/freescale/t102xqds/t102xqds.c | 23 +++++++++++------------ include/configs/T102xQDS.h | 3 +++ 3 files changed, 33 insertions(+), 12 deletions(-)You disable console in
spl.cfor RDB, but not for QDS. Is that what you want?York
PATCH 1/1 mpc85xx/t102xqds: convert deep sleep to generic board interface
Yuantian,
Quoted 4 lines · On 01/15/2015 06:23 PM, Tang Yuantian-B29983 wrote:
Hi York,
Yes, I did it on purpose. T102XQDS is not supported in SDK1.7 anymore. So I don't want to put more efforts to add SPI/NAND/SD boot deep sleep support.
That's not a good reason. Regardless if Freescale SDK supports a board, as far as it benefits the community, we keep the support.
Quoted 3 lines
That means t102xqds only supports nor-boot deep sleep and need not to update
spl.c.It is the same case for T1040QDS.
A note in readme would be nice. I am not going to push for a fix. Not having the console silenced is no big deal in case someone uses SPL with deep sleep.
York
PATCH 1/1 mpc85xx/t102xqds: convert deep sleep to generic board interface
Hi York,
Quoted 20 lines
-----Original Message-----
From: Sun York-R58495
Sent: Saturday, January 17, 2015 1:23 AM
To: Tang Yuantian-B29983
Cc: u-boot at lists.denx.de
Subject: Re: [PATCH] mpc85xx/t102xqds: convert deep sleep to generic board interfaceYuantian,
Quoted 4 lines · On 01/15/2015 06:23 PM, Tang Yuantian-B29983 wrote:
Hi York,
Yes, I did it on purpose. T102XQDS is not supported in SDK1.7 anymore. So I don't want to put more efforts to add SPI/NAND/SD boot deep sleep
support.
That's not a good reason. Regardless if Freescale SDK supports a board, as far as it benefits the community, we keep the support.
Quoted 7 lines
Quoted 1 line
That means t102xqds only supports nor-boot deep sleep and need not to
update
spl.c.Quoted 2 lines
It is the same case for T1040QDS.
A note in readme would be nice. I am not going to push for a fix. Not having the console silenced is no big deal in case someone uses SPL with deep sleep.
I am not sure I understand you right, but Non-nor deep sleep support is more than just disabling console. We need to update board head file, like t102xqds.h, as well.
I think you are right. We should add non-nor boot support.
Please apply these patches. I will send another two patch to support QDS non-nor boot deep sleep on qds.
Regards,
Yuantian
Quoted 2 lines
York
PATCH 1/1 mpc85xx/t102xqds: convert deep sleep to generic board interface
In reply to Tang YuantianQuoted 5 lines · Tang Yuantian
A new deep sleep interface is introduced to support generic board structure. Converts it to use new interface.
Signed-off-by Tang Yuantian <[email protected]>---
Applied to u-boot-mpc85xx master branch, awaiting upstream.
York