Skip to content

Commit e6a63d9

Browse files
author
Jamie Smith
authored
Document remaining features and components (#249)
1 parent 1c2974b commit e6a63d9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+103
-179
lines changed
Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("LAN91C111" IN_LIST MBED_TARGET_LABELS)
5-
add_subdirectory(COMPONENT_LAN91C111)
4+
# Driver for LAN91C111 memory-mapped EMAC IC
5+
if("FVP_MPS2" IN_LIST MBED_TARGET_LABELS)
6+
add_subdirectory(TARGET_FVP_MPS2)
67
endif()
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
# Copyright (c) 2020 ARM Limited. All rights reserved.
22
# SPDX-License-Identifier: Apache-2.0
33

4-
if("PN512" IN_LIST MBED_TARGET_LABELS)
5-
add_subdirectory(PN512)
4+
if("COMPONENT_NXP_PN512=1" IN_LIST MBED_TARGET_DEFINITIONS)
5+
add_subdirectory(COMPONENT_NXP_PN512)
66
endif()
77

8-
if("M24SR" IN_LIST MBED_TARGET_LABELS)
9-
add_subdirectory(TARGET_M24SR)
8+
if("COMPONENT_STM_M24SR=1" IN_LIST MBED_TARGET_DEFINITIONS)
9+
add_subdirectory(COMPONENT_STM_M24SR)
1010
endif()

drivers/include/drivers/FlashIAP.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,9 @@ class FlashIAP : private NonCopyable<FlashIAP> {
128128
uint32_t get_sector_size(uint32_t addr) const;
129129

130130
/** Get the flash start address
131+
*
132+
* \note This is the start address of the entire flash region, not
133+
* the first address after the end of the program in flash.
131134
*
132135
* @return Flash start address
133136
*/

storage/blockdevice/CMakeLists.txt

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,34 +12,45 @@ endif()
1212

1313
add_library(mbed-storage-blockdevice STATIC EXCLUDE_FROM_ALL)
1414

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

19-
if("FLASHIAP" IN_LIST MBED_TARGET_LABELS)
20-
add_subdirectory(COMPONENT_FLASHIAP)
25+
if("DEVICE_FLASH=1" IN_LIST MBED_TARGET_DEFINITIONS)
26+
add_subdirectory(TARGET_FLASH)
2127
endif()
2228

23-
if("I2CEE" IN_LIST MBED_TARGET_LABELS)
29+
if("DEVICE_I2C=1" IN_LIST MBED_TARGET_DEFINITIONS)
2430
add_subdirectory(COMPONENT_I2CEE)
2531
endif()
2632

27-
if("QSPIF" IN_LIST MBED_TARGET_LABELS)
33+
if("DEVICE_QSPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
2834
add_subdirectory(COMPONENT_QSPIF)
2935
endif()
3036

31-
if("OSPIF" IN_LIST MBED_TARGET_LABELS)
37+
if("DEVICE_OSPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
3238
add_subdirectory(COMPONENT_OSPIF)
3339
endif()
3440

35-
if("SD" IN_LIST MBED_TARGET_LABELS)
41+
if("DEVICE_SPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
3642
add_subdirectory(COMPONENT_SD)
3743
endif()
3844

39-
if("SPIF" IN_LIST MBED_TARGET_LABELS)
45+
if("DEVICE_SPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
4046
add_subdirectory(COMPONENT_SPIF)
4147
endif()
4248

49+
if("DEVICE_QSPI=1" IN_LIST MBED_TARGET_DEFINITIONS)
50+
add_subdirectory(COMPONENT_SPINAND)
51+
endif()
52+
53+
4354
target_include_directories(mbed-storage-blockdevice
4455
PUBLIC
4556
.

storage/blockdevice/COMPONENT_FLASHIAP/include/FlashIAP/FlashIAPBlockDevice.h renamed to storage/blockdevice/TARGET_FLASH/include/FlashIAP/FlashIAPBlockDevice.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,14 @@
2424
#include "blockdevice/BlockDevice.h"
2525
#include "platform/mbed_toolchain.h"
2626

27+
#ifndef MBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS
28+
#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_BASE_ADDRESS 0xFFFFFFFF
29+
#endif
30+
31+
#ifndef MBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE
32+
#define MBED_CONF_FLASHIAP_BLOCK_DEVICE_SIZE 0
33+
#endif
34+
2735
/** BlockDevice using the FlashIAP API
2836
*
2937
*/

targets/features.json5

Lines changed: 60 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,52 @@
146146
"friendly_name": "Semtech SX1276"
147147
},
148148

149+
// NFC modules ----------------------------------------------------------------------
150+
"COMPONENT_NXP_PN512": {
151+
"friendly_name": "NXP P512",
152+
"description": "NFC reader/writer/card"
153+
},
154+
"COMPONENT_STM_M24SR": {
155+
"friendly_name": "STMicro M24SR64-Y",
156+
"description": "NFC tag"
157+
},
158+
159+
// Memory devices -------------------------------------------------------------------
160+
"COMPONENT_DATAFLASH": {
161+
"friendly_name": "Generic DataFlash Memory",
162+
"description": "Component for boards with an SPI flash supporting the Atmel DataFlash interface"
163+
},
164+
"COMPONENT_I2CEE": {
165+
"friendly_name": "Generic I2C EEPROM",
166+
"description": "Component for boards with an I2C EEPROM supporting the 24LC/AT24C interface convention"
167+
},
168+
"COMPONENT_SPIF": {
169+
"friendly_name": "SFDP SPI Flash",
170+
"description": "Component for generic SPI flashes supporting the SFDP standard"
171+
},
172+
"COMPONENT_QSPIF": {
173+
"friendly_name": "SFDP QuadSPI Flash",
174+
"description": "Component for generic QuadSPI flashes supporting the SFDP standard"
175+
},
176+
"COMPONENT_OSPIF": {
177+
"friendly_name": "SFDP Octal SPI Flash",
178+
"description": "Component for generic Octal SPI flashes supporting the SFDP standard"
179+
},
180+
"COMPONENT_SD": {
181+
"friendly_name": "SD/SDHC Card",
182+
"description": "Component for SD card support via the SPI bus."
183+
},
184+
// Note: Currently I am unsure whether the SPINANDBlockDevice implementation
185+
// requires a flash device with built-in ECC, or whether it does no error correcting
186+
// at all and requires a flash which does error correcting. Also, per the original
187+
// PR: https://github.com/ARMmbed/mbed-os/pull/14397
188+
// this block device has only been tested with Macronix MX31LF4GE4BC, so
189+
// I'm unsure how generic it is, or whether it will only work with that flash device.
190+
"COMPONENT_SPINAND": {
191+
"friendly_name": "QuadSPI NAND Flash",
192+
"description": "Component for QuadSPI NAND flash devices."
193+
},
194+
149195
// Other ----------------------------------------------------------------------------
150196

151197
"COMPONENT_CM0P_SECURE": {
@@ -157,58 +203,21 @@
157203
"description": "Used on Cypress PSoC6 dual core processors. When enabled, this activates the Cortex-M0 coprocessor in sleep mode.",
158204
"friendly_name": "PSoC CM0 in Sleep Mode"
159205
},
160-
161-
162-
"COMPONENT_FLASHIAP": {
163-
"description": "",
164-
"friendly_name": ""
165-
},
166-
167-
"COMPONENT_LAN91C111": {
168-
"description": "",
169-
"friendly_name": ""
170-
},
171206
"COMPONENT_LOCALFILESYSTEM": {
172207
"description": "Mbed interface chip on the board can store a local filesystem and make it available on the USB drive",
173208
"friendly_name": "LocalFileSystem"
174209
},
175-
"COMPONENT_OSPIF": {
176-
"description": "",
177-
"friendly_name": ""
178-
},
179-
"COMPONENT_QSPIF": {
180-
"description": "",
181-
"friendly_name": ""
182-
},
183-
"COMPONENT_RTX": {
184-
"description": "",
185-
"friendly_name": ""
186-
},
187210
"COMPONENT_SCL": {
188-
"description": "",
189-
"friendly_name": ""
190-
},
191-
"COMPONENT_SD": {
192-
"description": "",
193-
"friendly_name": ""
211+
"description": "Wi-Fi Cortex-M0 coprocessor present on Infineon/Cypress CYSBSYS-RP01",
212+
"friendly_name": "Infineon Wi-Fi Coprocessor"
194213
},
195214
"COMPONENT_SMSC9220": {
196-
"description": "",
197-
"friendly_name": ""
198-
},
199-
"COMPONENT_SOFTFP": {
200-
"description": "",
201-
"friendly_name": ""
202-
},
203-
"COMPONENT_SPIF": {
204-
"description": "",
205-
"friendly_name": ""
215+
"description": "Parallel bus-connected Ethernet MAC/PHY",
216+
"friendly_name": "Microchip LAN9220"
206217
},
207-
208-
209218
"COMPONENT_TFM_S_FW": {
210-
"description": "",
211-
"friendly_name": ""
219+
"description": "Component for devices with a separate firmware image that must be merged for the TFM Secure processor.",
220+
"friendly_name": "TFM Secure Firmware"
212221
},
213222
"COMPONENT_hm01b0": {
214223
"description": "320x320 monochrome camera module",
@@ -221,20 +230,20 @@
221230
},
222231
"Feature": {
223232
"FEATURE_BLE": {
224-
"description": "",
225-
"friendly_name": ""
233+
"description": "This feature enables Mbed's BLE stack.",
234+
"friendly_name": "Bluetooth Low Energy"
226235
},
227236
"FEATURE_CRYPTOCELL310": {
228-
"description": "",
229-
"friendly_name": ""
237+
"description": "Embedded security peripheral providing TRNG and H/W accelerated encryption algorithms.",
238+
"friendly_name": "Arm CryptoCell 310"
230239
},
231240
"FEATURE_EXPERIMENTAL_API": {
232-
"description": "",
233-
"friendly_name": ""
241+
"description": "Feature flag to enable Mbed OS experimental API features, including driver virtual base classes and PSA.",
242+
"friendly_name": "Experimental API"
234243
},
235244
"FEATURE_PSA": {
236-
"description": "",
237-
"friendly_name": ""
245+
"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.",
246+
"friendly_name": "Arm Platform Security Architecture (PSA)"
238247
},
239248
"FEATURE_STORAGE": {
240249
"description": "",

0 commit comments

Comments
 (0)