Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
spiFlash.c File Reference
#include <stdio.h>
#include "bsp.h"
#include "spiFlash/spiFlash.h"

Go to the source code of this file.

Overview

spiFlash driver implementation.

Implements the functions defined in spiFlash.h for controlling spiFlash input/output and interrupts on the EfxSapphireSoC platform.

Definition in file spiFlash.c.

Functions

void spiFlash_init_controller (spiFlash_instance_t *flash)
 Initialize SPI setting.
spiFlash_status_t spiFlash_probe (spiFlash_instance_t *flash, const spiFlash_info_t *user_flash)
 The main wrapper for initialize SPI Flash.
void spiFlash_wake (spiFlash_instance_t *flash)
 Select spi and wake up SPI Flash.
spiFlash_status_t spiFlash_verify (spiFlash_instance_t *flash, const spiFlash_info_t *user_flash)
 Verify spiFlash.
u8 spiFlash_read_id (spiFlash_instance_t *flash)
 Select and Read Device ID from spiFlash.
u32 spiFlash_jedec_id (spiFlash_instance_t *flash)
 Select and read JEDEC ID from spiFlash.
u8 spiFlash_write (spiFlash_instance_t *flash, u32 flashAddress, u8 *src, u32 len)
 Write N byte to Flash using standard write mode.
u8 spiFlash_write_quad (spiFlash_instance_t *flash, u32 flashAddress, u8 *src, u32 len)
 Write N byte to Flash using quad write mode.
void spiFlash_read (spiFlash_instance_t *flash, u32 flashAddress, u8 *buffer, u32 len)
 Read N byte from Flash using standard read mode.
void spiFlash_read_quad (spiFlash_instance_t *flash, u32 flashAddress, u8 *buffer, u32 len)
 Read N byte from Flash using quad read mode.
u8 spiFlash_readStatusReg (spiFlash_instance_t *flash)
 Read Status Register.
void spiFlash_writeStatusReg (spiFlash_instance_t *flash, u8 data)
 Write Status Register.
void spiFlash_f2m (spiFlash_instance_t *flash, u32 flashAddress, uintptr_t memoryAddress, u32 size)
 This function read data from FlashAddress and copy to memoryAddress of specific size with single data line.
void spiFlash_f2m_dual (spiFlash_instance_t *flash, u32 flashAddress, uintptr_t memoryAddress, u32 size)
void spiFlash_f2m_quad (spiFlash_instance_t *flash, u32 flashAddress, uintptr_t memoryAddress, u32 size)
void spiFlash_enable_quad_access (spiFlash_instance_t *flash)
 Set Write Enable Latch and set Quad Enable bit to enable Quad SPI.
void spiFlash_writeEnable (spiFlash_instance_t *flash)
 Set Write Enable Latch.
u8 spiFlash_exit4ByteAddr (spiFlash_instance_t *flash)
 Exit 4-byte addressing.
void spiFlash_globalLock (spiFlash_instance_t *flash)
 Globally locks the SPI flash.
void spiFlash_globalUnlock (spiFlash_instance_t *flash)
 Globally unlocks the SPI flash.
spiFlash_status_t spiFlash_waitBusy (spiFlash_instance_t *flash)
 Wait for spiFlash to be free.
void spiFlash_sectorErase (spiFlash_instance_t *flash, u32 flashAddress)
 Erases a sector of the SPI flash given an address.

Function Documentation

◆ spiFlash_f2m_dual()

void spiFlash_f2m_dual ( spiFlash_instance_t * flash,
u32 flashAddress,
uintptr_t memoryAddress,
u32 size )

Definition at line 356 of file spiFlash.c.

◆ spiFlash_f2m_quad()

void spiFlash_f2m_quad ( spiFlash_instance_t * flash,
u32 flashAddress,
uintptr_t memoryAddress,
u32 size )

Definition at line 363 of file spiFlash.c.