These APIs try to communicate with whichever flash is connected the OSPI peripheral in 1-1-1 mode. This can be used in bringing up new flashes and mostly used for debug and diagnostic purposes
Functions | |
| int32_t | OSPI_norFlashInit1s1s1s (OSPI_Handle handle) |
| This function initializes the NOR flash to work in 1-1-1 mode. More... | |
| void | OSPI_norFlashSetCmds (uint8_t rdCmd, uint8_t wrCmd, uint8_t eraseCmd) |
| This function sets up internal bookkeeping variables for read, write and erase commands. This API has to be called immediately before OSPI_norFlashInit1s1s1s. More... | |
| int32_t | OSPI_norFlashReadId (OSPI_Handle handle, uint32_t *manufacturerId, uint32_t *deviceId) |
| This function tries to read the JEDEC ID from the NOR flash connected to the OSPI peripheral. More... | |
| int32_t | OSPI_norFlashWrite (OSPI_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len) |
| This function writes data to the flash at a specified offset. More... | |
| int32_t | OSPI_norFlashRead (OSPI_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len) |
| This function reads data from the flash from a specified offset. More... | |
| int32_t | OSPI_norFlashReadSfdp (OSPI_Handle handle, uint32_t offset, uint8_t *buf, uint32_t len) |
| This function reads SFDP table from the flash from a specified offset. More... | |
| int32_t | OSPI_norFlashErase (OSPI_Handle handle, uint32_t address) |
| This function erases 1 block of data starting from a provided address. More... | |
| int32_t | OSPI_configResetPin (OSPI_Handle handle, uint32_t config) |
| This function configures reset functionality. More... | |
| int32_t | OSPI_configBaudrate (OSPI_Handle handle, uint32_t baud) |
| Configures baud divider. More... | |
| int32_t | OSPI_readBaudRateDivFromReg (OSPI_Handle handle, uint32_t *baudDiv) |
| Return value of baudrate that is programmed in IP register. More... | |
| int32_t | OSPI_getBaudRateDivFromObj (OSPI_Handle handle, uint32_t *baudDiv) |
| Return value of baudrate that is saved in OSPI Object. More... | |
| int32_t | OSPI_setResetPinStatus (OSPI_Handle handle, uint32_t pinStatus) |
| This function activates the RESET pin feature. More... | |
| int32_t | OSPI_phyValidateTuningPoint (OSPI_Handle handle, uint32_t flashOffset) |
| Validates a specific tuning point for OSPI PHY. More... | |
| uint32_t | OSPI_isValidateOtpEnable (OSPI_Handle handle) |
| Checks if Phy tuning point validation is enabled. More... | |
| int32_t | OSPI_setFrequency (OSPI_Handle handle, uint64_t inputClkFreq) |
| Sets the operating frequency for the OSPI peripheral. More... | |
| int32_t | OSPI_setDelays (OSPI_Handle handle, uint32_t inputClkFreq) |
| Sets timing delays for the OSPI interface based on input clock frequency. More... | |
| int32_t | OSPI_setBaudRateDiv (OSPI_Handle handle, uint32_t baudRateDiv) |
| Sets the baud rate divider for OSPI communication. More... | |
| int32_t OSPI_norFlashInit1s1s1s | ( | OSPI_Handle | handle | ) |
This function initializes the NOR flash to work in 1-1-1 mode.
| handle | An OSPI_Handle returned from an OSPI_open() |
| void OSPI_norFlashSetCmds | ( | uint8_t | rdCmd, |
| uint8_t | wrCmd, | ||
| uint8_t | eraseCmd | ||
| ) |
This function sets up internal bookkeeping variables for read, write and erase commands. This API has to be called immediately before OSPI_norFlashInit1s1s1s.
| rdCmd | Command to be used in single mode read |
| wrCmd | Command to be used in single mode write/page program |
| eraseCmd | Command to be used to erase (block or sector) |
| int32_t OSPI_norFlashReadId | ( | OSPI_Handle | handle, |
| uint32_t * | manufacturerId, | ||
| uint32_t * | deviceId | ||
| ) |
This function tries to read the JEDEC ID from the NOR flash connected to the OSPI peripheral.
| handle | An OSPI_Handle returned from an OSPI_open() |
| manufacturerId | Pointer to a uint32_t variable. This will be filled with the manufacturer ID on success |
| deviceId | Pointer to a uint32_t variable. This will be filled with the device ID on success |
| int32_t OSPI_norFlashWrite | ( | OSPI_Handle | handle, |
| uint32_t | offset, | ||
| uint8_t * | buf, | ||
| uint32_t | len | ||
| ) |
This function writes data to the flash at a specified offset.
| handle | An OSPI_Handle returned from an OSPI_open() |
| offset | Offset at which the data is to be written |
| buf | Buffer which has the data to be written to the flash |
| len | Number of bytes to be written to the flash |
| int32_t OSPI_norFlashRead | ( | OSPI_Handle | handle, |
| uint32_t | offset, | ||
| uint8_t * | buf, | ||
| uint32_t | len | ||
| ) |
This function reads data from the flash from a specified offset.
| handle | An OSPI_Handle returned from an OSPI_open() |
| offset | Offset at which the data is to be read from |
| buf | Buffer to which data will be written into |
| len | Number of bytes to be read from the flash |
| int32_t OSPI_norFlashReadSfdp | ( | OSPI_Handle | handle, |
| uint32_t | offset, | ||
| uint8_t * | buf, | ||
| uint32_t | len | ||
| ) |
This function reads SFDP table from the flash from a specified offset.
| handle | An OSPI_Handle returned from an OSPI_open() |
| offset | Offset at which the data is to be read from |
| buf | Buffer to which data will be written into |
| len | Number of bytes to be read from the flash |
| int32_t OSPI_norFlashErase | ( | OSPI_Handle | handle, |
| uint32_t | address | ||
| ) |
This function erases 1 block of data starting from a provided address.
| handle | An OSPI_Handle returned from an OSPI_open() |
| address | Address of the data block to be erased. This address should be block aligned. |
| int32_t OSPI_configResetPin | ( | OSPI_Handle | handle, |
| uint32_t | config | ||
| ) |
This function configures reset functionality.
| handle | An OSPI_Handle returned from an OSPI_open() |
| config | reset config |
| int32_t OSPI_configBaudrate | ( | OSPI_Handle | handle, |
| uint32_t | baud | ||
| ) |
Configures baud divider.
| handle | An OSPI_Handle returned from an OSPI_open() |
| baud | baudrate from 2 to 32 and divisible by 2 |
| int32_t OSPI_readBaudRateDivFromReg | ( | OSPI_Handle | handle, |
| uint32_t * | baudDiv | ||
| ) |
Return value of baudrate that is programmed in IP register.
| handle | An OSPI_Handle returned from an OSPI_open() |
| baudDiv | pointer to memory into which baudrate will be written |
| int32_t OSPI_getBaudRateDivFromObj | ( | OSPI_Handle | handle, |
| uint32_t * | baudDiv | ||
| ) |
Return value of baudrate that is saved in OSPI Object.
| handle | An OSPI_Handle returned from an OSPI_open() |
| baudDiv | pointer to memory into which baudrate will be written |
| int32_t OSPI_setResetPinStatus | ( | OSPI_Handle | handle, |
| uint32_t | pinStatus | ||
| ) |
This function activates the RESET pin feature.
| handle | An OSPI_Handle returned from an OSPI_open() |
| pinStatus | pinStatus - HIGH/LOW |
| int32_t OSPI_phyValidateTuningPoint | ( | OSPI_Handle | handle, |
| uint32_t | flashOffset | ||
| ) |
Validates a specific tuning point for OSPI PHY.
This function validates whether a given tuning point can be used for reliable communication with the OSPI flash device. It performs data read operations at the specified flash offset to determine if the current PHY settings provide error-free data transfer.
| handle | OSPI driver handle |
| flashOffset | Flash memory offset to use for validation testing |
| uint32_t OSPI_isValidateOtpEnable | ( | OSPI_Handle | handle | ) |
Checks if Phy tuning point validation is enabled.
This function verifies whether the validation for One-Time Programmable memory is currently enabled on the OSPI interface.
| handle | Handle to the OSPI instance |
| int32_t OSPI_setFrequency | ( | OSPI_Handle | handle, |
| uint64_t | inputClkFreq | ||
| ) |
Sets the operating frequency for the OSPI peripheral.
This function configures the OSPI controller to operate at the specified frequency based on the input clock frequency provided.
| handle | OSPI driver handle |
| inputClkFreq | Input clock frequency in Hz |
| int32_t OSPI_setDelays | ( | OSPI_Handle | handle, |
| uint32_t | inputClkFreq | ||
| ) |
Sets timing delays for the OSPI interface based on input clock frequency.
This function configures the appropriate timing delays for the OSPI interface to ensure reliable communication with external memory devices. The delays are calculated based on the provided input clock frequency.
| handle | OSPI handle to the peripheral instance |
| inputClkFreq | Input clock frequency in Hz |
| int32_t OSPI_setBaudRateDiv | ( | OSPI_Handle | handle, |
| uint32_t | baudRateDiv | ||
| ) |
Sets the baud rate divider for OSPI communication.
This function configures the baud rate divider to control the OSPI clock frequency. The actual OSPI clock frequency is determined by dividing the input clock frequency by the specified baud rate divider.
| handle | OSPI handle |
| baudRateDiv | Baud rate divider value |