mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 09:12:08 +02:00
mpc85xx/t1040qds: 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. Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com> Reviewed-by: York Sun <yorksun@freescale.com>
This commit is contained in:
@@ -11,6 +11,7 @@
|
|||||||
#include <fsl_ddr_sdram.h>
|
#include <fsl_ddr_sdram.h>
|
||||||
#include <fsl_ddr_dimm_params.h>
|
#include <fsl_ddr_dimm_params.h>
|
||||||
#include <asm/fsl_law.h>
|
#include <asm/fsl_law.h>
|
||||||
|
#include <asm/mpc85xx_gpio.h>
|
||||||
#include "ddr.h"
|
#include "ddr.h"
|
||||||
|
|
||||||
DECLARE_GLOBAL_DATA_PTR;
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
@@ -100,6 +101,19 @@ found:
|
|||||||
#endif
|
#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 initdram(int board_type)
|
||||||
{
|
{
|
||||||
phys_size_t dram_size;
|
phys_size_t dram_size;
|
||||||
@@ -112,5 +126,10 @@ phys_size_t initdram(int board_type)
|
|||||||
dram_size *= 0x100000;
|
dram_size *= 0x100000;
|
||||||
|
|
||||||
puts(" DDR: ");
|
puts(" DDR: ");
|
||||||
|
|
||||||
|
#if defined(CONFIG_DEEP_SLEEP) && !defined(CONFIG_SPL_BUILD)
|
||||||
|
fsl_dp_resume();
|
||||||
|
#endif
|
||||||
|
|
||||||
return dram_size;
|
return dram_size;
|
||||||
}
|
}
|
||||||
|
@@ -19,8 +19,8 @@
|
|||||||
#include <asm/fsl_liodn.h>
|
#include <asm/fsl_liodn.h>
|
||||||
#include <fm_eth.h>
|
#include <fm_eth.h>
|
||||||
#include <hwconfig.h>
|
#include <hwconfig.h>
|
||||||
#include <asm/mpc85xx_gpio.h>
|
|
||||||
|
|
||||||
|
#include "../common/sleep.h"
|
||||||
#include "../common/qixis.h"
|
#include "../common/qixis.h"
|
||||||
#include "t1040qds.h"
|
#include "t1040qds.h"
|
||||||
#include "t1040qds_qixis.h"
|
#include "t1040qds_qixis.h"
|
||||||
@@ -115,6 +115,16 @@ static void qe_board_setup(void)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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)
|
int board_early_init_r(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_SYS_FLASH_BASE
|
#ifdef CONFIG_SYS_FLASH_BASE
|
||||||
@@ -281,14 +291,3 @@ int board_need_mem_reset(void)
|
|||||||
{
|
{
|
||||||
return 1;
|
return 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
|
|
||||||
|
@@ -47,7 +47,10 @@
|
|||||||
|
|
||||||
/* support deep sleep */
|
/* support deep sleep */
|
||||||
#define CONFIG_DEEP_SLEEP
|
#define CONFIG_DEEP_SLEEP
|
||||||
|
#if defined(CONFIG_DEEP_SLEEP)
|
||||||
#define CONFIG_SILENT_CONSOLE
|
#define CONFIG_SILENT_CONSOLE
|
||||||
|
#define CONFIG_BOARD_EARLY_INIT_F
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef CONFIG_SYS_TEXT_BASE
|
#ifndef CONFIG_SYS_TEXT_BASE
|
||||||
#define CONFIG_SYS_TEXT_BASE 0xeff40000
|
#define CONFIG_SYS_TEXT_BASE 0xeff40000
|
||||||
|
Reference in New Issue
Block a user