drivers: flash: introduce on-chip flash driver for TI CC13xx/CC26xx
This includes a basic driver for built-in flash on the Texas Intruments SimpleLink CC13xx/CC26xx SoC series. The driver makes use of driverlib HAL from TI's SDK and was tested on two LaunchXL development boards with CC1352R and CC2652R SoCs: - CC1352R1 LaunchXL - CC26x2R1 LaunchXL Tests were done using: - flash shell sample (samples/drivers/flash_shell) - littlefs filesystem sample (samples/subsys/fs/littlefs)* - MCUboot (bootloader/mcuboot/boot/zephyr)* * additional changes in DTS for the boards were required (partitions table) and are not part of this changeset (will be introduced later) Some additional information about the implementation: 1. TI's Technical Reference Manual for CC13x2 and CC26x2 points out that "An individual 64-bit word can be programmed to change bits 1 to 0" but it seems this 'alignment' requirement is handled internally by the ROM function and thus 'write-block-size' is set to 1. 2. Interrupts, VIMS and line buffers are disabled during flash content update (write or erase) and restored afterwards as recommended by TI. 3. Only RAM to flash write is supported (source of data to be written to flash can't point to flash). 4. The driver doesn't take care of flash sector protection disable as that functionality is handled by CCFG. Write or erase requests which refer to a protected area will fail. Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
This commit is contained in:
parent
cd66c9f67e
commit
360d70a91e
5 changed files with 292 additions and 0 deletions
|
@ -68,6 +68,8 @@ config FLASH_INIT_PRIORITY
|
|||
|
||||
source "drivers/flash/Kconfig.b91"
|
||||
|
||||
source "drivers/flash/Kconfig.cc13xx_cc26xx"
|
||||
|
||||
source "drivers/flash/Kconfig.at45"
|
||||
|
||||
source "drivers/flash/Kconfig.esp32"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue