Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Document remaining features and components #249

Merged
merged 1 commit into from
Feb 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions connectivity/drivers/emac/TARGET_ARM_FM/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("LAN91C111" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(COMPONENT_LAN91C111)
# Driver for LAN91C111 memory-mapped EMAC IC
if("FVP_MPS2" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_FVP_MPS2)
endif()
8 changes: 4 additions & 4 deletions connectivity/drivers/nfc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Copyright (c) 2020 ARM Limited. All rights reserved.
# SPDX-License-Identifier: Apache-2.0

if("PN512" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(PN512)
if("COMPONENT_NXP_PN512=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_NXP_PN512)
endif()

if("M24SR" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(TARGET_M24SR)
if("COMPONENT_STM_M24SR=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_STM_M24SR)
endif()
3 changes: 3 additions & 0 deletions drivers/include/drivers/FlashIAP.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,9 @@ class FlashIAP : private NonCopyable<FlashIAP> {
uint32_t get_sector_size(uint32_t addr) const;

/** Get the flash start address
*
* \note This is the start address of the entire flash region, not
* the first address after the end of the program in flash.
*
* @return Flash start address
*/
Expand Down
27 changes: 19 additions & 8 deletions storage/blockdevice/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,34 +12,45 @@ endif()

add_library(mbed-storage-blockdevice STATIC EXCLUDE_FROM_ALL)

if("DATAFLASH" IN_LIST MBED_TARGET_LABELS)
# Note: For the storage components, we always make them available as CMake targets if supported,
# even if the COMPONENT is not enabled.
# This is because the COMPONENT not being enabled means that they don't exist on the given dev board,
# but a user can still add one via their own circuitry.
# However, it's still correct for the directories to be named COMPONENT_xxx, because that keeps the JSON
# files inside from being parsed for default pins unless the relevant COMPONENT is enabled.
if("DEVICE_SPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_DATAFLASH)
endif()

if("FLASHIAP" IN_LIST MBED_TARGET_LABELS)
add_subdirectory(COMPONENT_FLASHIAP)
if("DEVICE_FLASH=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(TARGET_FLASH)
endif()

if("I2CEE" IN_LIST MBED_TARGET_LABELS)
if("DEVICE_I2C=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_I2CEE)
endif()

if("QSPIF" IN_LIST MBED_TARGET_LABELS)
if("DEVICE_QSPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_QSPIF)
endif()

if("OSPIF" IN_LIST MBED_TARGET_LABELS)
if("DEVICE_OSPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_OSPIF)
endif()

if("SD" IN_LIST MBED_TARGET_LABELS)
if("DEVICE_SPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_SD)
endif()

if("SPIF" IN_LIST MBED_TARGET_LABELS)
if("DEVICE_SPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_SPIF)
endif()

if("DEVICE_QSPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
add_subdirectory(COMPONENT_SPINAND)
endif()


target_include_directories(mbed-storage-blockdevice
PUBLIC
.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@
#include "blockdevice/BlockDevice.h"
#include "platform/mbed_toolchain.h"

#ifndef MBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS
#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS 0xFFFFFFFF
#endif

#ifndef MBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE
#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE 0
#endif

/** BlockDevice using the FlashIAP API
*
*/
Expand Down
111 changes: 60 additions & 51 deletions targets/features.json5
Original file line number Diff line number Diff line change
Expand Up @@ -146,6 +146,52 @@
"friendly_name": "Semtech SX1276"
},

// NFC modules ----------------------------------------------------------------------
"COMPONENT_NXP_PN512": {
"friendly_name": "NXP P512",
"description": "NFC reader/writer/card"
},
"COMPONENT_STM_M24SR": {
"friendly_name": "STMicro M24SR64-Y",
"description": "NFC tag"
},

// Memory devices -------------------------------------------------------------------
"COMPONENT_DATAFLASH": {
"friendly_name": "Generic DataFlash Memory",
"description": "Component for boards with an SPI flash supporting the Atmel DataFlash interface"
},
"COMPONENT_I2CEE": {
"friendly_name": "Generic I2C EEPROM",
"description": "Component for boards with an I2C EEPROM supporting the 24LC/AT24C interface convention"
},
"COMPONENT_SPIF": {
"friendly_name": "SFDP SPI Flash",
"description": "Component for generic SPI flashes supporting the SFDP standard"
},
"COMPONENT_QSPIF": {
"friendly_name": "SFDP QuadSPI Flash",
"description": "Component for generic QuadSPI flashes supporting the SFDP standard"
},
"COMPONENT_OSPIF": {
"friendly_name": "SFDP Octal SPI Flash",
"description": "Component for generic Octal SPI flashes supporting the SFDP standard"
},
"COMPONENT_SD": {
"friendly_name": "SD/SDHC Card",
"description": "Component for SD card support via the SPI bus."
},
// Note: Currently I am unsure whether the SPINANDBlockDevice implementation
// requires a flash device with built-in ECC, or whether it does no error correcting
// at all and requires a flash which does error correcting. Also, per the original
// PR: https://github.com/ARMmbed/mbed-os/pull/14397
// this block device has only been tested with Macronix MX31LF4GE4BC, so
// I'm unsure how generic it is, or whether it will only work with that flash device.
"COMPONENT_SPINAND": {
"friendly_name": "QuadSPI NAND Flash",
"description": "Component for QuadSPI NAND flash devices."
},

// Other ----------------------------------------------------------------------------

"COMPONENT_CM0P_SECURE": {
Expand All @@ -157,58 +203,21 @@
"description": "Used on Cypress PSoC6 dual core processors. When enabled, this activates the Cortex-M0 coprocessor in sleep mode.",
"friendly_name": "PSoC CM0 in Sleep Mode"
},


"COMPONENT_FLASHIAP": {
"description": "",
"friendly_name": ""
},

"COMPONENT_LAN91C111": {
"description": "",
"friendly_name": ""
},
"COMPONENT_LOCALFILESYSTEM": {
"description": "Mbed interface chip on the board can store a local filesystem and make it available on the USB drive",
"friendly_name": "LocalFileSystem"
},
"COMPONENT_OSPIF": {
"description": "",
"friendly_name": ""
},
"COMPONENT_QSPIF": {
"description": "",
"friendly_name": ""
},
"COMPONENT_RTX": {
"description": "",
"friendly_name": ""
},
"COMPONENT_SCL": {
"description": "",
"friendly_name": ""
},
"COMPONENT_SD": {
"description": "",
"friendly_name": ""
"description": "Wi-Fi Cortex-M0 coprocessor present on Infineon/Cypress CYSBSYS-RP01",
"friendly_name": "Infineon Wi-Fi Coprocessor"
},
"COMPONENT_SMSC9220": {
"description": "",
"friendly_name": ""
},
"COMPONENT_SOFTFP": {
"description": "",
"friendly_name": ""
},
"COMPONENT_SPIF": {
"description": "",
"friendly_name": ""
"description": "Parallel bus-connected Ethernet MAC/PHY",
"friendly_name": "Microchip LAN9220"
},


"COMPONENT_TFM_S_FW": {
"description": "",
"friendly_name": ""
"description": "Component for devices with a separate firmware image that must be merged for the TFM Secure processor.",
"friendly_name": "TFM Secure Firmware"
},
"COMPONENT_hm01b0": {
"description": "320x320 monochrome camera module",
Expand All @@ -221,20 +230,20 @@
},
"Feature": {
"FEATURE_BLE": {
"description": "",
"friendly_name": ""
"description": "This feature enables Mbed's BLE stack.",
"friendly_name": "Bluetooth Low Energy"
},
"FEATURE_CRYPTOCELL310": {
"description": "",
"friendly_name": ""
"description": "Embedded security peripheral providing TRNG and H/W accelerated encryption algorithms.",
"friendly_name": "Arm CryptoCell 310"
},
"FEATURE_EXPERIMENTAL_API": {
"description": "",
"friendly_name": ""
"description": "Feature flag to enable Mbed OS experimental API features, including driver virtual base classes and PSA.",
"friendly_name": "Experimental API"
},
"FEATURE_PSA": {
"description": "",
"friendly_name": ""
"description": "Feature representing support for the Arm PSA Root of Trust peripheral. This provides a secure storage environment, cryptography acceleration, secure boot and updates, and more.",
"friendly_name": "Arm Platform Security Architecture (PSA)"
},
"FEATURE_STORAGE": {
"description": "",
Expand Down
Loading
Loading