summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-09stm32/modmachine: Add SPI flash size to machine.info dump.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09stm32/mboot: Allow USB strings to be dynamic.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09stm32/qspi: Allow SPI flash size to be decided at runtime.Damien George
Allows `MICROPY_HW_QSPIFLASH_SIZE_BITS_LOG2` and `MICROPY_HW_QSPI_MPU_REGION_SIZE` to be arbitrary expressions, eg function calls. The `storage.h` header needs to be included in case access to `spi_bdev_t` is needed by the macros. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09stm32/vfs_rom_ioctl: Allow ROMFS configuration to be dynamic.Damien George
Options for a board to configure ROMFS are: - Leave ROMFS disabled, do nothing. - Enable by defining `MICROPY_HW_ROMFS_ENABLE_PARTx` to 1 and then in the linker script define `_micropy_hw_romfs_partX_start` and `_micropy_hw_romfs_partX_size`. - Enable by defining `MICROPY_HW_ROMFS_ENABLE_PARTx` to 1 and also define `MICROPY_HW_ROMFS_PARTx_START` and `MICROPY_HW_ROMFS_PARTx_SIZE` which can be arbitrary expressions (not necessarily static) Signed-off-by: Damien George <damien@micropython.org>
2025-04-09drivers/bus/qspi: Make num_dummy configurable for quad reads.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09drivers/memory/spiflash: Allow a board/port to detect SPI flash.Damien George
This commit allows the user of this driver to intercept the SPI flash initialisation routine and possibly take some action based on the JEDEC id, for example change the `mp_spiflash_t::chip_params` element. To do this, enable `MICROPY_HW_SPIFLASH_DETECT_DEVICE` and define a function called `mp_spiflash_detect()`. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09drivers/memory/spiflash: Allow a board/port to configure chip params.Damien George
This commit allows the user of this driver to dynamically configure the SPI flash chip parameters. For this, enable `MICROPY_HW_SPIFLASH_CHIP_PARAMS` and then set the `mp_spiflash_t::chip_params` element to point to a valid `mp_spiflash_chip_params_t` struct. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09docs/reference/mpremote: Update docs for mpremote rm -r.Jos Verlinde
Signed-off-by: Jos Verlinde <Jos_Verlinde@hotmail.com>
2025-04-09tools/mpremote/tests: Add tests for mpremote rm -r.Jos Verlinde
Signed-off-by: Jos Verlinde <Jos_Verlinde@hotmail.com>
2025-04-09tools/mpremote: Add recursive remove functionality to filesystem cmds.Jos Verlinde
mpremote now supports `mpremote rm -r`. Addresses #9802 and #16845. Signed-off-by: Jos Verlinde <Jos_Verlinde@hotmail.com>
2025-04-09tests: Update UART and SPI tests to work on Alif boards.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09tests/ports/alif_hardware: Add flash testing script.Damien George
This test is not intended to be run automatically and does not have a corresponding .exp file. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09github/workflows: Add Alif port to CI.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/boards/OPENMV_AE3: Add OpenMV AE3 board definition.Damien George
Supports Murata 1YN for WiFi and BLE. Signed-off-by: iabdalkader <i.abdalkader@gmail.com> Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/boards/ALIF_ENSEMBLE: Add Alif Ensemble board config.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com> Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mpu: Add MPU region for OSPI1 XIP memory range.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/ospi_flash: Restore XIP settings after erase and write.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/ospi_flash_settings: Use 8-bit DFS for XIP.Damien George
To match the instruction length, so the DFS is restored to the XIP value after an erase or write (due to the final wait WIP). Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/ospi_flash: Don't invalidate cache after erasing/writing.Damien George
It's not needed, the MPU configures the XIP as non-cacheable. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif: Support more fine-grained pin alternate function selection.Damien George
Now raises an exception if the pin doesn't support the alternate function unit number and line type, eg UART0_TX (previously it only checked the peripheral). Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/machine_uart: Add machine.UART peripheral support.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mpuart: Enhance UART to support bits/parity/stop and more IRQs.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mcu: Pre-process Alif ToC config file.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/mcu: Remove json config files.iabdalkader
They will be generated as part of the build. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif: Integrate cyw43 Bluetooth with NimBLE.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif: Integrate cyw43 WLAN driver.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif: Integrate lwIP and mbedTLS.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mpuart: Generalise UART driver to suppot all UART instances.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mphalport: Add mp_hal_pin_config_irq_falling helper.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/modules: Make HE core set /rom as current dir.Damien George
This allows HE to execute code from the ROMFS in MRAM. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/vfs_rom_ioctl: Add vfs_rom_ioctl with support for OSPI and MRAM.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mpu: Add function to set read-only bit on MRAM MPU region.Damien George
To allow writing to MRAM region. Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/alif_flash: Make flash respond to the buffer protocol.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/alif_flash: Distinguish between total flash size and FS size.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mpuart: Use mp_hal_pin_config for TX/RX configuration.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/mpmetalport: Only notify after metal subsystem is init'd.Damien George
Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif: Link with libnosys.iabdalkader
This allows the correct start up functions to be called by the stdlib. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/mpmetalport: Use MHU to notify remote cores.iabdalkader
Unlike HWSEM, the MHU IRQ can wake up cores from low-power modes, making it better suited for notifying remote cores. Note that no special function is required to wake up a remote core—the act of sending a message alone will notify it. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/se_services: Add a secondary MHU channel.iabdalkader
This channel can be used to communicate (pass messages) between the M55 cores in the RTSS. Currently it's only used to notify the cores. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/ospi_flash: Use mp_hal_pin_config to configure OSPI pins.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/machine_rtc: Add basic machine.RTC support.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/machine_spi: Add machine.SPI peripheral support.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com> Signed-off-by: Damien George <damien@micropython.org>
2025-04-09alif/machine_i2c: Add machine.I2C peripheral support.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif: Add support for pin alternate function selection.iabdalkader
Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/modmachine: Implement proper low-power modes.iabdalkader
Lightsleep current is around 23mA. Deepsleep current is sub 50uA. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/se_services: Use EUI extension for unique id.iabdalkader
The right service call to get UID is SERVICES_system_get_eui_extension which returns an 8 bytes UID. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/ospi_flash: Add 16-bit words swap flash setting.iabdalkader
The byte order (endianness) seems to be swapped when read in 8D-8D-8D in XIP mode, for most flashes, with the exception of MX which seems to swap half-words. This commit adds a flash setting to allow parts to enable half-word swap when data is written, to fix this issue. By default, only endianness is fixed. Tested with both MX and ISSI parts on AE3, flash test and simple file write/read. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/ospi_flash: Use OSPI in XIP mode only.iabdalkader
The OSPI controller supports concurrent direct/XIP accesses, there's no need to disable XIP on direct access. In addition to improving the performance, this change lays the groundwork for supporting access by the HP and HE cores simultaneously. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/ospi_ext: Optimize XIP speed.iabdalkader
This change increases XIP read speed to ~30Mbytes/s at 50MHz DDR: - Enable continuous mode. - Remove hard-coded settings. - Set XIP continuous mode timeout. The prefetch remains disabled. Although enabling the prefetch gives the best performance for the CPU in XIP mode, it must be disabled when the NPU accesses the OSPI flash. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>
2025-04-09alif/ospi_flash: Enable pull-up IO2/WP.iabdalkader
Leaving this pin low in combination with the default EM settings enables flash protection for the EM flash. Signed-off-by: iabdalkader <i.abdalkader@gmail.com>