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

SparkFun updates for the PSRAM draft/work #3

Open
wants to merge 88 commits into
base: feature/psram
Choose a base branch
from

Commits on Aug 22, 2024

  1. lib/pico-sdk: Update to new rp2350 version.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    5a032da View commit details
    Browse the repository at this point in the history
  2. lib/tinyusb: Update to support RP2350.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9a9ceeb View commit details
    Browse the repository at this point in the history
  3. shared/tinyusb: Use new persistent-tx-fifo configure interface.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    72d47a7 View commit details
    Browse the repository at this point in the history
  4. rp2/boards: Add RPI_PICO2 board.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    eb9e471 View commit details
    Browse the repository at this point in the history
  5. rp2/mpconfigport: Set MCU name for RP2350.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d259bed View commit details
    Browse the repository at this point in the history
  6. rp2: Update custom linker scripts for new pico-sdk.

    Signed-off-by: Phil Howard <[email protected]>
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c29c969 View commit details
    Browse the repository at this point in the history
  7. rp2/modmachine: Implement lightsleep for RP2350.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c3a2bd2 View commit details
    Browse the repository at this point in the history
  8. rp2/rp2_dma: Generalise DMA for RP2350.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e5c098e View commit details
    Browse the repository at this point in the history
  9. rp2: Integrate RP2350.

    Remove references to hardware_rtc for rp2350
    Reimplement time functioniality
    Use hardware_powman instead
    Define PICO_PLATFORM for RPI_PICO
    move PICO_TINYUSB_PATH until PICO_PLATFORM is defined
    PICO_TINYUSB_PATH has to be defined before calling pico_sdk_init
    Make sure powerman timer is using xosc
    ports/rp2: Updates for powman changes.
    Probably another change coming to remove powman and use the new aon
        timer that supports both rp2040 and rp2350
    ports/rps: Use aon_timer module.
    ports/rp2: Remove rp2350 specific source.
    ports/rp2: Use correct CMSIS header for rp2350.
    ports/rp2: Add hardware_resets.
    ports/rp2: For rp2350 just use aon timer
    For rp2040 there's a workaround for RTC having only 1s resolution. This
        is not needed for rp2350
    Stop setting PICO_RP2040_B* for rp2350
    Only set PICO_RP2040_USB_DEVICE_ENUMERATION_FIX for rp2040
    
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2931e13 View commit details
    Browse the repository at this point in the history
  10. rp2/CMakeLists.txt: Add float_conv_m33 for __aeabi_ul2f.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8d73218 View commit details
    Browse the repository at this point in the history
  11. py/usermod.cmake: Check target exists.

    Check a target exists before accessing properties.
    
    Usermod_gather_sources would recurse into garbage property names and
    break.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    49f9458 View commit details
    Browse the repository at this point in the history
  12. rp2: Add support for 48-pin RP2350 variant.

    Changes:
    - NUM_BANK0_GPIOS > pins defined in pins.csv = hardfault
    - make-pins.py: NUM_GPIOS is hard-coded in make-pins.py, make it bigger
    - machine_pin.h: Pin "ID" must be six bits, not five (breaks bit packing?)
    - mphalport.h/machine_pin.c: open drain mask must be 64bits.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    968086d View commit details
    Browse the repository at this point in the history
  13. rp2/rp2_pio: Support RP2350A/B in rp2_pio.

    Add support for 32 and 48 pin variants of RP2350.
    
    Add new gpio_base, mirroring the Pico SDK.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    7d90cf4 View commit details
    Browse the repository at this point in the history
  14. rp2: Pass gpio-num into make-pins.

    NUM_GPIOS amd NUM_EXT_GPIOS is currently hardcoded in this python
    script.
    
    Pass the count in via the new parameters num-gpios and num-ext-gpios.
    These default to the current values supported by Pico 30/10. This can be
    changed with PICO_NUM_GPIOS and PICO_NUM_EXT_GPIOS in
    mpconfigboard.cmake. Without this you will get a build error because
    NUM_BANK0_GPIOS can be too small.
    
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9d1045c View commit details
    Browse the repository at this point in the history
  15. rp2: Fix RP2040 build issues.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    9de998a View commit details
    Browse the repository at this point in the history
  16. rp2/machine_pin: Allow gpios >=32 to work.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b223805 View commit details
    Browse the repository at this point in the history
  17. rp2/rp2_pio: Raise error if pio_set_gpio_base fails.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    3d84f06 View commit details
    Browse the repository at this point in the history
  18. rp2/machine_pin: Fix pin irq for pins > 32.

    Fix the gpio_irq function so that it looks at all six
    iobank0_hw->intr[n] registers, for up to 48 IOs.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1ebf9ec View commit details
    Browse the repository at this point in the history
  19. rp2/clocks_extra: Update runtime_clocks_init.

    Note: This might be a tempoarary measure until we might fix this
    properly to avoid copying code.
    
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    e952692 View commit details
    Browse the repository at this point in the history
  20. rp2/machine_adc: Add ADC support for RP2350B.

    Signed-off-by: Damien George <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c7e7106 View commit details
    Browse the repository at this point in the history
  21. rp2: Update to support RP2350-RISCV.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    cef1b3c View commit details
    Browse the repository at this point in the history
  22. rp2/mpconfigport: Enable RV32I native emitter on RISCV variants.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    dec2561 View commit details
    Browse the repository at this point in the history
  23. rp2/Makefile: Allow CMAKE_ARGS to be set by user.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b42ad62 View commit details
    Browse the repository at this point in the history
  24. rp2/machine_bitstream: Set SysTick reset value.

    Signed-off-by: Damien George <[email protected]>
    sfe-SparkFro authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    1d5f792 View commit details
    Browse the repository at this point in the history
  25. rp2/machine_uart: Allow new TX/RX pins on RP2350.

    Signed-off-by: Damien George <[email protected]>
    sfe-SparkFro authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    19251f7 View commit details
    Browse the repository at this point in the history
  26. rp2/mphalport: Implement mp_hal_ticks_cpu for RISCV using mcycle.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    6b4054c View commit details
    Browse the repository at this point in the history
  27. rp2/machine_bitstream: Implement bitstream for RISC-V using mcycle.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d99bd34 View commit details
    Browse the repository at this point in the history
  28. tests/ports/rp2: Update DMA test for higher freq CPU.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    b10eec3 View commit details
    Browse the repository at this point in the history
  29. tests/ports/rp2: Add simple UART test.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    8e42463 View commit details
    Browse the repository at this point in the history
  30. tools/ci.sh: Add RPI_PICO2 to CI.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    d06bf71 View commit details
    Browse the repository at this point in the history
  31. ports/rp2: PSRAM support.

    Add PSRAM support with auto detection.
    
    Performs a best-effort attempt to detect attached PSRAM,
    configure it and *add* it to the MicroPython heap.
    
    If PSRAM is not present, should fall back to use internal
    RAM.
    
    Introduce two new port/board defines:
    
    * MICROPY_HW_ENABLE_PSRAM to enable PSRAM.
    * MICROPY_HW_PSRAM_CS_PIN to define the chip-select pin.
    
    Changes:
    
    ports/rp2/rp2_psram.c/h: Add new PSRAM module.
    ports/rp2/main.c: Add optional PSRAM support.
    ports/rp2/CMakeLists.txt: Include rp2_psram.c.
    ports/rp2/rp2_flash.c: Add buffered write to avoid reads from PSRAM.
    ports/rp2/mpconfigport.h: Enable MICROPY_GC_SPLIT_HEAP
    for boards that set MICROPY_HW_ENABLE_PSRAM.
    
    Co-authored-by: Kirk Benell <[email protected]>
    Co-authored-by: Mike Bell <[email protected]>
    Signed-off-by: Phil Howard <[email protected]>
    3 people committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    cedb004 View commit details
    Browse the repository at this point in the history
  32. ports/rp2: PSRAM: Fix RP2040/Pico build.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    fd867f8 View commit details
    Browse the repository at this point in the history
  33. ports/rp2: Re-init PSRAM on CPU freq change.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    c945805 View commit details
    Browse the repository at this point in the history
  34. ports/rp2: Make split-heap optional.

    My tests found issues when PSRAM is combined with the existing
    RAM in a split-heap configuration. Since this option is not
    enabled by default on RP2 I have changed it to be optional.
    
    PSRAM will be used exclusively if MICROPY_GC_SPLIT_HEAP == 0,
    it will be added to RAM if MICROPY_GC_SPLIT_HEAP == 1,
    and the system will fall back to RAM only if it's not detected.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2a10aa6 View commit details
    Browse the repository at this point in the history
  35. ports/rp2: Compute QMI timing based on system clock.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4cb9a1c View commit details
    Browse the repository at this point in the history
  36. ports/rp2: Fix garbage collection with large heap.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2f05b87 View commit details
    Browse the repository at this point in the history
  37. ports/rp2: Remove flash timing control from PSRAM.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    2be1fdf View commit details
    Browse the repository at this point in the history
  38. ports/rp2: Set flash divisor appropriately.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    40ee10e View commit details
    Browse the repository at this point in the history
  39. ports/rp2: Reset flash timing before PSRAM timing.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    4b7b1af View commit details
    Browse the repository at this point in the history
  40. ports/rp2: Add RP2350 slices to machine_pwm.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    870d858 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Configuration menu
    Copy the full SHA
    684cb18 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4e814d1 View commit details
    Browse the repository at this point in the history
  3. updated PSRAM logic based on work at SparkFun; cleaned up *magic numb…

    …ers*, added comments and detailed settings to support implementation overview/undestanding
    gigapod committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    b60484a View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2024

  1. lib/pico-sdk: Update to new rp2350 version.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    9969d3f View commit details
    Browse the repository at this point in the history
  2. lib/tinyusb: Update to support RP2350.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    1f2d23c View commit details
    Browse the repository at this point in the history
  3. shared/tinyusb: Use new persistent-tx-fifo configure interface.

    The old configuration option has been removed from TinyUSB.
    
    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e1fa6c2 View commit details
    Browse the repository at this point in the history
  4. rp2/boards: Add RPI_PICO2 board.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    8805abb View commit details
    Browse the repository at this point in the history
  5. rp2/mpconfigport: Set MCU name for RP2350.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    fb2f955 View commit details
    Browse the repository at this point in the history
  6. rp2: Update custom linker scripts for new pico-sdk.

    Signed-off-by: Phil Howard <[email protected]>
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    8231d6e View commit details
    Browse the repository at this point in the history
  7. rp2/modmachine: Implement lightsleep for RP2350.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e10d3b2 View commit details
    Browse the repository at this point in the history
  8. rp2/rp2_dma: Generalise DMA for RP2350.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    5d7c56d View commit details
    Browse the repository at this point in the history
  9. rp2: Integrate RP2350.

    Remove references to hardware_rtc for rp2350
    Reimplement time functioniality
    Use hardware_powman instead
    Define PICO_PLATFORM for RPI_PICO
    move PICO_TINYUSB_PATH until PICO_PLATFORM is defined
    PICO_TINYUSB_PATH has to be defined before calling pico_sdk_init
    Make sure powerman timer is using xosc
    ports/rp2: Updates for powman changes.
    Probably another change coming to remove powman and use the new aon
        timer that supports both rp2040 and rp2350
    ports/rps: Use aon_timer module.
    ports/rp2: Remove rp2350 specific source.
    ports/rp2: Use correct CMSIS header for rp2350.
    ports/rp2: Add hardware_resets.
    ports/rp2: For rp2350 just use aon timer
    For rp2040 there's a workaround for RTC having only 1s resolution. This
        is not needed for rp2350
    Stop setting PICO_RP2040_B* for rp2350
    Only set PICO_RP2040_USB_DEVICE_ENUMERATION_FIX for rp2040
    
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    ee6805e View commit details
    Browse the repository at this point in the history
  10. rp2/CMakeLists.txt: Add float_conv_m33 for __aeabi_ul2f.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e14d9ca View commit details
    Browse the repository at this point in the history
  11. py/usermod.cmake: Check target exists.

    Check a target exists before accessing properties.
    
    Usermod_gather_sources would recurse into garbage property names and
    break.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    cef3691 View commit details
    Browse the repository at this point in the history
  12. rp2: Add support for 48-pin RP2350 variant.

    Changes:
    - NUM_BANK0_GPIOS > pins defined in pins.csv = hardfault
    - make-pins.py: NUM_GPIOS is hard-coded in make-pins.py, make it bigger
    - machine_pin.h: Pin "ID" must be six bits, not five (breaks bit packing?)
    - mphalport.h/machine_pin.c: open drain mask must be 64bits.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    5f99e4c View commit details
    Browse the repository at this point in the history
  13. rp2/rp2_pio: Add support for RP2350A/B in rp2_pio.

    Add support for 32 and 48 pin variants of RP2350.
    
    Add new gpio_base, mirroring the Pico SDK.
    
    Signed-off-by: Phil Howard <[email protected]>
    Signed-off-by: Damien George <[email protected]>
    Gadgetoid authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    0486a4c View commit details
    Browse the repository at this point in the history
  14. rp2: Pass gpio-num into make-pins.

    NUM_GPIOS amd NUM_EXT_GPIOS is currently hardcoded in this python
    script.
    
    Pass the count in via the new parameters num-gpios and num-ext-gpios.
    These default to the current values supported by Pico 30/10. This can be
    changed with PICO_NUM_GPIOS and PICO_NUM_EXT_GPIOS in
    mpconfigboard.cmake. Without this you will get a build error because
    NUM_BANK0_GPIOS can be too small.
    
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    f168c09 View commit details
    Browse the repository at this point in the history
  15. rp2: Fix RP2040 build issues.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    805af30 View commit details
    Browse the repository at this point in the history
  16. rp2/machine_pin: Allow gpios >=32 to work.

    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e856e80 View commit details
    Browse the repository at this point in the history
  17. rp2/machine_pin: Fix pin irq for pins > 32.

    Fix the gpio_irq function so that it looks at all six
    iobank0_hw->intr[n] registers, for up to 48 IOs.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    a7f92d4 View commit details
    Browse the repository at this point in the history
  18. rp2/clocks_extra: Update runtime_clocks_init.

    Note: This might be a tempoarary measure until we might fix this
    properly to avoid copying code.
    
    Signed-off-by: Damien George <[email protected]>
    peterharperuk authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    606e8c2 View commit details
    Browse the repository at this point in the history
  19. rp2/machine_adc: Add ADC support for RP2350B.

    Signed-off-by: Damien George <[email protected]>
    Gadgetoid authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    141a7c1 View commit details
    Browse the repository at this point in the history
  20. rp2: Update to support RP2350-RISCV.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    cc214b1 View commit details
    Browse the repository at this point in the history
  21. rp2/mpconfigport: Enable RV32I native emitter on RISCV variants.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    c056e80 View commit details
    Browse the repository at this point in the history
  22. rp2/Makefile: Allow CMAKE_ARGS to be set by user.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    1275812 View commit details
    Browse the repository at this point in the history
  23. rp2/machine_bitstream: Set SysTick reset value.

    Signed-off-by: Damien George <[email protected]>
    sfe-SparkFro authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    9322e27 View commit details
    Browse the repository at this point in the history
  24. rp2/machine_uart: Allow new TX/RX pins on RP2350.

    Signed-off-by: Damien George <[email protected]>
    sfe-SparkFro authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    00f3223 View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    2393213 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    6d027de View commit details
    Browse the repository at this point in the history
  27. tests/ports/rp2: Update DMA test for higher freq CPU.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e008dbb View commit details
    Browse the repository at this point in the history
  28. tests/ports/rp2: Add simple rp2-specific UART test.

    To test construction of UART instances.
    
    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    22b2f73 View commit details
    Browse the repository at this point in the history
  29. tools/ci.sh: Add RPI_PICO2 to CI.

    Signed-off-by: Damien George <[email protected]>
    dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    df545f4 View commit details
    Browse the repository at this point in the history
  30. rp2: Workaround pico_aon_timer timezone binary size increase.

    Provide stub implementations of localtime_r() and mktime() to avoid
    code size increase.
    
    Reported upstream at raspberrypi/pico-sdk#1810
    
    This work was funded through GitHub Sponsors.
    
    Signed-off-by: Angus Gratton <[email protected]>
    projectgus authored and dpgeorge committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    89b17d1 View commit details
    Browse the repository at this point in the history
  31. ports/rp2: PSRAM support.

    Add PSRAM support with auto detection.
    
    Performs a best-effort attempt to detect attached PSRAM,
    configure it and *add* it to the MicroPython heap.
    
    If PSRAM is not present, should fall back to use internal
    RAM.
    
    Introduce two new port/board defines:
    
    * MICROPY_HW_ENABLE_PSRAM to enable PSRAM.
    * MICROPY_HW_PSRAM_CS_PIN to define the chip-select pin.
    
    Changes:
    
    ports/rp2/rp2_psram.c/h: Add new PSRAM module.
    ports/rp2/main.c: Add optional PSRAM support.
    ports/rp2/CMakeLists.txt: Include rp2_psram.c.
    ports/rp2/rp2_flash.c: Add buffered write to avoid reads from PSRAM.
    ports/rp2/mpconfigport.h: Enable MICROPY_GC_SPLIT_HEAP
    for boards that set MICROPY_HW_ENABLE_PSRAM.
    
    Co-authored-by: Kirk Benell <[email protected]>
    Co-authored-by: Mike Bell <[email protected]>
    Signed-off-by: Phil Howard <[email protected]>
    3 people committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    a81963c View commit details
    Browse the repository at this point in the history
  32. ports/rp2: PSRAM: Fix RP2040/Pico build.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    360e6ed View commit details
    Browse the repository at this point in the history
  33. ports/rp2: Re-init PSRAM on CPU freq change.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    3cad8bb View commit details
    Browse the repository at this point in the history
  34. ports/rp2: Make split-heap optional.

    My tests found issues when PSRAM is combined with the existing
    RAM in a split-heap configuration. Since this option is not
    enabled by default on RP2 I have changed it to be optional.
    
    PSRAM will be used exclusively if MICROPY_GC_SPLIT_HEAP == 0,
    it will be added to RAM if MICROPY_GC_SPLIT_HEAP == 1,
    and the system will fall back to RAM only if it's not detected.
    
    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    562b929 View commit details
    Browse the repository at this point in the history
  35. ports/rp2: Compute QMI timing based on system clock.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    aee2331 View commit details
    Browse the repository at this point in the history
  36. ports/rp2: Fix garbage collection with large heap.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    03c5d9f View commit details
    Browse the repository at this point in the history
  37. ports/rp2: Remove flash timing control from PSRAM.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    50dee90 View commit details
    Browse the repository at this point in the history
  38. ports/rp2: Set flash divisor appropriately.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    8070c71 View commit details
    Browse the repository at this point in the history
  39. ports/rp2: Reset flash timing before PSRAM timing.

    Signed-off-by: Mike Bell <[email protected]>
    MichaelBell authored and Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    291ca79 View commit details
    Browse the repository at this point in the history
  40. ports/rp2: Add RP2350 slices to machine_pwm.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    51cd340 View commit details
    Browse the repository at this point in the history
  41. ports/rp2: Fix rp2_pio for 48-pin RP2350B.

    Signed-off-by: Phil Howard <[email protected]>
    Gadgetoid committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    4010a9f View commit details
    Browse the repository at this point in the history
  42. comment tweak

    gigapod committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    ed4c0d2 View commit details
    Browse the repository at this point in the history
  43. Configuration menu
    Copy the full SHA
    c399dd2 View commit details
    Browse the repository at this point in the history
  44. results of merge

    gigapod committed Aug 30, 2024
    Configuration menu
    Copy the full SHA
    e77a787 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2024

  1. Configuration menu
    Copy the full SHA
    16da9bd View commit details
    Browse the repository at this point in the history