ls1028a Fails to boot from FSPI when using 800 MHz settings

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

ls1028a Fails to boot from FSPI when using 800 MHz settings

Jump to solution
714 Views
mikelooijmans
Contributor IV

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>

 

 

Tags (3)
0 Kudos
Reply
1 Solution
628 Views
yipingwang
NXP TechSupport
NXP TechSupport

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.

View solution in original post

0 Kudos
Reply
4 Replies
664 Views
mikelooijmans
Contributor IV

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...

 

0 Kudos
Reply
629 Views
yipingwang
NXP TechSupport
NXP TechSupport

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.

0 Kudos
Reply
688 Views
yipingwang
NXP TechSupport
NXP TechSupport

Please configure RCW as the following.

HWA_CGA_M1_CLK_SEL=7
HWA_CGA_M2_CLK_SEL=1

0 Kudos
Reply
665 Views
mikelooijmans
Contributor IV

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.)

0 Kudos
Reply