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>