kmp204x: support for QRIO1 bootcounter
Make use of the QRIO1 32bit register at 0x20 as bootcounter register Check for BOOTCOUNT_MAGIC pattern when before bootcounter value is read Signed-off-by: Rainer Boschung <rainer.boschung@keymile.com> Signed-off-by: Valentin Longchamp <valentin.longchamp@keymile.com> [York Sun: Minor change to commit message] Signed-off-by: York Sun <yorksun@freescale.com>
This commit is contained in:
parent
714fd406da
commit
dd21f09669
@ -133,26 +133,6 @@ void qrio_prstcfg(u8 bit, u8 mode)
|
|||||||
out_be32(qrio_base + PRSTCFG_OFF, prstcfg);
|
out_be32(qrio_base + PRSTCFG_OFF, prstcfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#define BOOTCOUNT_OFF 0x12
|
|
||||||
|
|
||||||
void bootcount_store(ulong counter)
|
|
||||||
{
|
|
||||||
u8 val;
|
|
||||||
void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
|
|
||||||
|
|
||||||
val = (counter <= 255) ? (u8)counter : 255;
|
|
||||||
out_8(qrio_base + BOOTCOUNT_OFF, val);
|
|
||||||
}
|
|
||||||
|
|
||||||
ulong bootcount_load(void)
|
|
||||||
{
|
|
||||||
u8 val;
|
|
||||||
void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
|
|
||||||
val = in_8(qrio_base + BOOTCOUNT_OFF);
|
|
||||||
return val;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define NUM_SRDS_BANKS 2
|
#define NUM_SRDS_BANKS 2
|
||||||
#define PHY_RST 15
|
#define PHY_RST 15
|
||||||
|
|
||||||
|
@ -148,8 +148,6 @@ unsigned long get_board_sys_clk(unsigned long dummy);
|
|||||||
#define CONFIG_KM_KERNEL_ADDR 0x1000000 /* max kernel size 15.5Mbytes */
|
#define CONFIG_KM_KERNEL_ADDR 0x1000000 /* max kernel size 15.5Mbytes */
|
||||||
#define CONFIG_KM_FDT_ADDR 0x1F80000 /* max dtb size 0.5Mbytes */
|
#define CONFIG_KM_FDT_ADDR 0x1F80000 /* max dtb size 0.5Mbytes */
|
||||||
|
|
||||||
#define CONFIG_BOOTCOUNT_LIMIT
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Local Bus Definitions
|
* Local Bus Definitions
|
||||||
*/
|
*/
|
||||||
@ -206,6 +204,10 @@ unsigned long get_board_sys_clk(unsigned long dummy);
|
|||||||
#define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_QRIO_BR_PRELIM /* QRIO Base Address */
|
#define CONFIG_SYS_BR1_PRELIM CONFIG_SYS_QRIO_BR_PRELIM /* QRIO Base Address */
|
||||||
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_QRIO_OR_PRELIM /* QRIO Options */
|
#define CONFIG_SYS_OR1_PRELIM CONFIG_SYS_QRIO_OR_PRELIM /* QRIO Options */
|
||||||
|
|
||||||
|
/* bootcounter in QRIO */
|
||||||
|
#define CONFIG_BOOTCOUNT_LIMIT
|
||||||
|
#define CONFIG_SYS_BOOTCOUNT_ADDR (CONFIG_SYS_QRIO_BASE + 0x20)
|
||||||
|
|
||||||
#define CONFIG_BOARD_EARLY_INIT_F
|
#define CONFIG_BOARD_EARLY_INIT_F
|
||||||
#define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */
|
#define CONFIG_BOARD_EARLY_INIT_R /* call board_early_init_r function */
|
||||||
#define CONFIG_MISC_INIT_R
|
#define CONFIG_MISC_INIT_R
|
||||||
|
Loading…
Reference in New Issue
Block a user