News:

Attention: For security reasons,please choose a user name *different* from your login name.
Also make sure to choose a secure password and change it regularly.

Main Menu

TEBF0808 boot from SPI Flash if no SD is detected

Started by wendylin, January 17, 2020, 12:07:14 AM

Previous topic - Next topic

wendylin

I see in TEBF0808 TRM if the DIP switch S5-1 and 2 are set to ON, the system can boot from SPI Flash if no SD is detected.

I have a TEBF0808 starter kit and have not changed anything on it yet. I removed the SD card purposely to make it boot from SPI flash, but I don't see anything showing to the debug port. Does the start kit come with this feature?

Do I need to reconfigure anything to make it boot from flash?

Thanks.

JH

Hi,
do you have a valid design in the QSPI flash?

Boot Mode is shown on LED D7, when the board is powered on (press power button):
https://wiki.trenz-electronic.de/display/PD/TEBF0808+Getting+Started#TEBF0808GettingStarted-LEDs
br
John

wendylin

Thanks, John. I found out that the flash is not programmed by default. After I wrote image to the flash, it was able to boot from flash on the starter kit.

The problem is now when I move the same SoM to our own custom board, it cannot boot. Nothing happens. The ERR_OUT pin out is high. We dumped the register values as shown below. it looks the boot mode setting and power were good, but failed to read from flash. I don't know what else I could be missing. I have attached my schematic here. Thanks in advance.


==  Registers Dump
    BOOT_MODE_USER                  = FF5E0200:   00000002
    BOOT_MODE_POR                   = FF5E0204:   00000222
    RESET_REASON                    = FF5E0220:   00000021
    PMU_GLOBAL.PWR_STATE            = FFD80100:   00FFFCBF
    PWR_SUPPLY_STATUS               = FFD8010C:   00000007
    CSU_BR_ERROR                    = FFD80528:   80002400
    ERROR_STATUS_1                  = FFD80530:   00000000
    ERROR_STATUS_2                  = FFD80540:   04000000
    csu_status                      = FFCA0000:   00000000
    csu_ft_status                   = FFCA0018:   00000000
    CSU_ISR                         = FFCA0020:   00008024
    pcap_status                     = FFCA3010:   00000A02
    tamper_status                   = FFCA5000:   00000000
    jtag_chain_status               = FFCA0034:   00000003
    jtag_sec                        = FFCA0038:   000001FF
  1  PS TAP
     2  PMU
       13* MicroBlaze PMU (Running)
     3  PL
  4  PSU
     5  RPU (Reset)
        6  Cortex-R5 #0 (RPU Reset)
        7  Cortex-R5 #1 (RPU Reset)
     8  APU (L2 Cache Reset)
        9  Cortex-A53 #0 (APU Reset)
       10  Cortex-A53 #1 (APU Reset)
       11  Cortex-A53 #2 (APU Reset)
       12  Cortex-A53 #3 (APU Reset)
CONFIG STATUS: 0
                               CRC ERROR (Bits
  • ): 0
                            DECRYPTOR ENABLE (Bits [1]): 0
                             PLL LOCK STATUS (Bits [2]): 0
                            DCI MATCH STATUS (Bits [3]): 0
                 END OF STARTUP (EOS) STATUS (Bits [4]): 0
                            GTS_CFG_B STATUS (Bits [5]): 0
                                  GWE STATUS (Bits [6]): 0
                                GHIGH STATUS (Bits [7]): 0
                               MODE PIN M[0] (Bits [8]): 0
                               MODE PIN M[1] (Bits [9]): 0
                              MODE PIN M[2] (Bits [10]): 0
              INIT_B INTERNAL SIGNAL STATUS (Bits [11]): 0
                                 INIT_B PIN (Bits [12]): 0
                DONE INTERNAL SIGNAL STATUS (Bits [13]): 0
                                   DONE PIN (Bits [14]): 0
                               IDCODE ERROR (Bits [15]): 0
                             SECURITY ERROR (Bits [16]): 0
      SYSTEM MONITOR OVER-TEMP ALARM STATUS (Bits [17]): 0
         CFG STARTUP STATE MACHINE PHASE (Bits [20:18]): 0
                         SECURITY_STATUS (Bits [23:21]): 0
                                   RESERVED (Bits [24]): 0
                 CFG BUS WIDTH DETECTION (Bits [26:25]): 0
                        SECURITY AUTH ERROR (Bits [27]): 0
                                 PUDC_B PIN (Bits [28]): 0
                           BAD PACKET ERROR (Bits [29]): 0
                                 CFGBVS PIN (Bits [30]): 0
                                   RESERVED (Bits [31]): 0

JH

Hi,
you try to start startkit design on your carrier? This can't work, because you has other MIO configuration.

I quickly checked your schematics:
1:You use normal levelshifter (TXS0108ERGYR) for SD but you need SD levelshifter. I think this never works...it should be some which supports SD.

2:Starterkit design use I2C interface to configure SI5345 on the module (over tebf0808 levelshifter), I saw I2C feedback is not connected on your carrier, so our Starterkit FSBL stops when he try to program SI5345.


So you must start with test_board design (set uart MIO like you has used on your carrier) and try qspi boot. --> in this case at first only qspi, DDR4 and uart is initialised on PS. If this works, add your other periphery to the PS and test it.

br
John

wendylin

Hi John,

I tried the test board design and it works now. Thanks very much for your help and suggestions.

Regards,
Wendy