To reduce the power, we want to run the LS1027A at the 800 MHz settings (in particular, with a 300 MHz platform clock as that delivers the most power saving). If we use these settings for the RCW, the board boots fine from SD card, but won't boot from FSPI at all. There's no output on serial.
The LS1028LSARB (mis)behaves in exactly the same way. Boots fine from FSPI with the 1500 MHz settings, but when I use the 800 MHz RCW, the board remains dead (RESET LED is on, SYSTEM READY blinks). Also boots fine from SD card using the 800MHz settings.
I change the following to select the 800 MHz RCW file:
RCWXSPI ?= "R_SQPP_0x85bb/rcw_800"
I previously tried using rcw_800_sdboot.rcw, which works on SD card.
rcw_800.rcw is a copy of rcw_800_sdboot.rcw, I only changed "BOOT_LOC=21" into "BOOT_LOC=26" which is what the other FSPI bootable rcw files seem to use.
The contents of the rcw_800.rcw file:
/*
* SerDes Protocol - 0x85bb
*
* Frequencies:
* Core -- 800 MHz
* Platform -- 300 MHz
* DDR -- 1300 MHz
* DDR Data Rate -- 1.600 GT/s
*/
#include <../ls1028asi/ls1028a.rcwi>
SYS_PLL_RAT=3
MEM_PLL_RAT=13
CGA_PLL1_RAT=8
CGA_PLL2_RAT=8
HWA_CGA_M1_CLK_SEL=1
HWA_CGA_M2_CLK_SEL=7
HWA_CGA_M3_CLK_SEL=2
HWA_CGA_M4_CLK_SEL=3
DDR_REFCLK_SEL=2
DRAM_LAT=1
BOOT_LOC=26
FLASH_CFG1=3
SYSCLK_FREQ=600
IIC2_PMUX=6
IIC3_PMUX=2
IIC4_PMUX=2
IIC5_PMUX=1
IIC6_PMUX=3
CLK_OUT_PMUX=2
EC1_SAI4_5_PMUX=5
EC1_SAI3_6_PMUX=5
USB3_CLK_FSEL=39
ENETC_RCW=3
GTX_CLK125_PMUX=2
SRDS_PRTCL_S1_L0=8
SRDS_PRTCL_S1_L1=5
SRDS_PRTCL_S1_L2=11
SRDS_PRTCL_S1_L3=11
/* Errata for PCIe controller */
#include <../ls1028asi/a008851.rcw>
#include <../ls1028asi/a010477.rcw>
#include <../ls1028asi/a009531.rcw>
/* Increase FSPI clock frequency */
#include <../ls1028asi/fspi_speed.rcw>
Solved! Go to Solution.
Due to Errata A-050568, you need to change platform frequency to 400Mhz for flex-nor boot.
For non-nor boot cases, like SD and EMMC, rcw_800 can be used, yo could change the platform frequency to 300Mhz accordingly.
I've tried quite a few ways of clocking things, making for interesting alternatives.
The one setting that makes FSPI unable to boot appears to be setting SYSCLK to 300MHz (instead of 400):
SYS_PLL_RAT=3
This is also the one setting that actually has effect on idle power consumption...
Due to Errata A-050568, you need to change platform frequency to 400Mhz for flex-nor boot.
For non-nor boot cases, like SD and EMMC, rcw_800 can be used, yo could change the platform frequency to 300Mhz accordingly.
Please configure RCW as the following.
HWA_CGA_M1_CLK_SEL=7
HWA_CGA_M2_CLK_SEL=1
Tried, doesn't make a difference. These settings boot fine from SD card, but when written to FSPI it doesn't work.
BTW, Once booted from SD card, the FSPI works fine, using either setting.
(both PLLs run at 800 with these settings, hence there's no difference in the clock frequencies between the settings as in the repo compared to the changes you suggested.)