1、硬件切换启动方式

修改硬件管脚为BSBC启动
注:正常启动方式为001 spi flash启动,只需要修改BOOT_MD0 即可。
2、将以下代码放在hboot1a中c代码最开始的位置,让BISO强制从25M启动。
#define SFC_CLK_SEL_25M 0x2
#define SFC_CLK_SEL_50M 0x0
#define BIT0 0x1
#define BIT1 0x2
#define BIT2 0x4
#define HISS_SUBCTRL_BASE_ADDR 0x10100000
#define HSC_SFC_ICG_EN (HISS_SUBCTRL_BASE_ADDR + 0x358)
#define HSC_SFC_ICG_DIS (HISS_SUBCTRL_BASE_ADDR + 0x35C)
#define HSC_SFC_CLK_SEL (HISS_SUBCTRL_BASE_ADDR + 0x104)
void adjust_sfc_frequency_to_25M(void)
{
uint32_t val;
uint32_t clk_sel = SFC_CLK_SEL_25M;
val = read32(HSC_SFC_ICG_DIS);
val |= (BIT0 | BIT1 | BIT2);
write32(val, HSC_SFC_ICG_DIS);
udelay(1);
write32(clk_sel, HSC_SFC_CLK_SEL);
udelay(1);
val = read32(HSC_SFC_ICG_EN);
val |= (BIT0 | BIT1 | BIT2);
write32(val, HSC_SFC_ICG_EN);
}
3、测试SPI_CLK频率到25M

1、硬件切换启动方式
修改硬件管脚为BSBC启动
注:正常启动方式为001 spi flash启动,只需要修改BOOT_MD0 即可。
2、将以下代码放在hboot1a中c代码最开始的位置,让BISO强制从25M启动。
#define SFC_CLK_SEL_25M 0x2
#define SFC_CLK_SEL_50M 0x0
#define BIT0 0x1
#define BIT1 0x2
#define BIT2 0x4
#define HISS_SUBCTRL_BASE_ADDR 0x10100000
#define HSC_SFC_ICG_EN (HISS_SUBCTRL_BASE_ADDR + 0x358)
#define HSC_SFC_ICG_DIS (HISS_SUBCTRL_BASE_ADDR + 0x35C)
#define HSC_SFC_CLK_SEL (HISS_SUBCTRL_BASE_ADDR + 0x104)
void adjust_sfc_frequency_to_25M(void)
{
uint32_t val;
uint32_t clk_sel = SFC_CLK_SEL_25M;
val = read32(HSC_SFC_ICG_DIS);
val |= (BIT0 | BIT1 | BIT2);
write32(val, HSC_SFC_ICG_DIS);
udelay(1);
write32(clk_sel, HSC_SFC_CLK_SEL);
udelay(1);
val = read32(HSC_SFC_ICG_EN);
val |= (BIT0 | BIT1 | BIT2);
write32(val, HSC_SFC_ICG_EN);
}
3、测试SPI_CLK频率到25M