Skip to content

ports/rp2/boards: Add support for W55RP20-EVB-Pico and WIZNET_PIO_SPI communication. #16476

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

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

wiznet-grace
Copy link

Summary

The W55RP20-EVB-Pico is an evaluation board for the W55RP20, a SiP (System in Package) chip that integrates the W5500 (wired TCP/IP controller) and the RP2040. As a result, both the features of the Raspberry Pi Pico and the W5500 can be utilized.

This PR adds initial support for the W55RP20-EVB-Pico board. The changes included in this PR are as follows:

  • Board configuration files

  • Pin definitions

  • wiznet_pio_spi implementation (as described below)

    The W55RP20 features two identical PIO (Programmable Input/Output) blocks, one of which is used for communication with the W5500. For more detailed information on PIO, please refer to section 3 "PIO" in the RP2040 datasheet.
    The following changes were made to implement this:

    1. New Files Created: New files were created in the ports/rp2 directory:

      • machine_wiznet_pio_spi.c
      • wiznet_pio_spi.c
      • wiznet_pio_spi.h
      • wiznet_pio_spi.pio
    2. Wiznet PIO SPI Communication Enabled: The MICROPY_PY_MACHINE_WIZNET_PIO_SPI definition was added and relevant conditional statements were introduced to enable PIO SPI communication with the W5500.

    3. Utilized Existing Structures: Existing structure definitions from the modemachine file in extmod were utilized for integrating PIO SPI.

Testing

W55RP20-EVB-Pico board successfully tested:

  • LED blink
  • DHCP allocation
  • TCP Loopback Server/Client
  • HTTP client
  • SNTP

Copy link

codecov bot commented Dec 24, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.55%. Comparing base (4e76acc) to head (fe790d7).
Report is 445 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #16476      +/-   ##
==========================================
- Coverage   98.57%   98.55%   -0.03%     
==========================================
  Files         164      169       +5     
  Lines       21349    22293     +944     
==========================================
+ Hits        21045    21970     +925     
- Misses        304      323      +19     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Copy link

github-actions bot commented Dec 24, 2024

Code size report:

   bare-arm:    +0 +0.000% 
minimal x86:    +0 +0.000% 
   unix x64:    +0 +0.000% standard
      stm32:    +0 +0.000% PYBV10
     mimxrt:    +0 +0.000% TEENSY40
        rp2: +2488 +0.271% RPI_PICO_W[incl +40(bss)]
       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS
  qemu rv32:    +0 +0.000% VIRT_RV32

@wiznet-grace wiznet-grace force-pushed the W55RP20-EVB-Pico branch 4 times, most recently from dcc609e to 033ebc4 Compare December 24, 2024 02:23
Signed-off-by: Grace-Koo <Grace@wiznet.io>
Signed-off-by: Grace-Koo <Grace@wiznet.io>

fix: Fix code formatting.

Signed-off-by: Grace-Koo <Grace@wiznet.io>
Signed-off-by: Grace-Koo <Grace@wiznet.io>
@wiznet-grace wiznet-grace deleted the W55RP20-EVB-Pico branch February 28, 2025 06:15
@wiznet-grace wiznet-grace restored the W55RP20-EVB-Pico branch February 28, 2025 06:17
@wiznet-grace wiznet-grace reopened this Feb 28, 2025
@philippebourcier
Copy link

Hi, is this port planned for a future release ?
I've started to work on a big project with this board. 🚀
Cheapest PoE MCU + single chip = 👍

It would be nice to have the official uPython firmware.
Thanks for all the hard work anyway, @dpgeorge 💪

@MilhouseVH
Copy link

Hi, is this port planned for a future release ? I've started to work on a big project with this board. 🚀 Cheapest PoE MCU + single chip = 👍

It would be nice to have the official uPython firmware. Thanks for all the hard work anyway, @dpgeorge 💪

I've practically given up waiting on W55RP20 support. It seemed like a good idea but then Wiznet switched to a new SPI library that seems to be going nowhere. I also would only consider official upython firmware releases, not build my own or use the Wiznet fork.

The W5500-EVB-PICO-POE works well with official upython releases (and with the PoE addon board) and is only slightly more expensive, but at least it works.

@wiznet-grace
Copy link
Author

Hi, is this port planned for a future release ? I've started to work on a big project with this board. 🚀 Cheapest PoE MCU + single chip = 👍

It would be nice to have the official uPython firmware. Thanks for all the hard work anyway, @dpgeorge 💪

Hi! Thanks for the nice comment — we really appreciate the kind words.
The PR is ready, and we hope it will be included in an upcoming release!

Thank you.
Grace

@wiznet-grace
Copy link
Author

I've practically given up waiting on W55RP20 support. It seemed like a good idea but then Wiznet switched to a new SPI library that seems to be going nowhere. I also would only consider official upython firmware releases, not build my own or use the Wiznet fork.

The W5500-EVB-PICO-POE works well with official upython releases (and with the PoE addon board) and is only slightly more expensive, but at least it works.

Thanks for the honest feedback — and totally understandable.
We're sorry for the delay on W55RP20 support. The PR is still open.
Also, thank you for using the W5500-EVB-PICO-POE board — we're glad to hear it's working well with the official firmware.
We appreciate your patience and your perspective!

Thank you.
Grace

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants