Part Number: AM2434
Hello,
we are using the OSPI-Boot mode and our own written Ospi- and ospi norflash-driver. The Ospi-driver encapsulated the ospi-functions of the sdk-driver and uses the 1s1s1s-init as well.
to reduce startup-times, we use the OSPI-boot-mode but we noticed the OSPI-module doesn't seem to be configured correctly for OSPI.
Our driver checks three registers, if one of them is not set correctly, it will assume the OSPI is configured to 1s-1s-1s and start an ospi-configuration afterwards. If all are set it will configure the software-driver to octal spi, without reconfiguring the ospi-module on the am243x.
Reconfiguring to ospi from 1s-1s-1s takes a long time, about ~500 ms. We need to erase this time. I guess that's because the init has a 500 ms wait inside.
The registers we check are:
- OSPI_FLASH_CFG_CONFIG_REG_ENABLE_DTR_PROTOCOL_FLD (check for "1")
- OSPI_FLASH_CFG_CONFIG_REG_DUAL_BYTE_OPCODE_EN_FLD (check for "1")
- OSPI_FLASH_CFG_DEV_SIZE_CONFIG_REG_NUM_ADDR_BYTES_FLD (must be "3" - 4 Byte address)
This works fine, when our application is booted from SBL, so it won't initialize the ospi again and continues to work.
We are still investigating what the RBL really does with the OSPI-module, but unfortunately not much is written in the TRM on how the RBL behaves here. But at least it's written that it works in 1s-1s-8s and 3-byte-addressing-mode.
Is there a documentation on what the RBL does in case of ospi-boot-mode? So how the registers will be set of the OSPI-module?
Our next try would be to simply keep initializing everything straight forward to 8d-8d-8d, without reconfiguring anything to 1s-1s-1s.
Best regards
Felix