Skip to content

Add Feather RP2040 DVI (plz read)#7695

Closed
PaintYourDragon wants to merge 5 commits into
adafruit:mainfrom
PaintYourDragon:main
Closed

Add Feather RP2040 DVI (plz read)#7695
PaintYourDragon wants to merge 5 commits into
adafruit:mainfrom
PaintYourDragon:main

Conversation

@PaintYourDragon
Copy link
Copy Markdown

Prob don’t want to merge this as-is, it’s an experiment as I learn the ropes.

There will be a number of incoming boards based on a common RP2040 design…very similar to the SCORPIO design, with an extra eight consecutive GPIO connected to special functions. Most of these should be very simple to add here: copy the adafruit_feather_rp2040_scorpio directory to a new name, then edit the files within to assign this board a unique USB PID and to provide names for the extra GPIOs (e.g. CKN, CKP, etc. in this one). So initially this is just a test to see that I’ve got that aspect right.

Later…the Feather RP2040 DVI will be an odd one in that it’s overclocked (TBD whether this happens on startup or doesn’t switch over until user code specifically enables DVI out)…but also, at very high overclock settings, may need to use QSPI clock div4 instead of div2. No simple settings for these things in the aforementioned files, presumably this will involve digging deeper into CircuitPython source. The USB host Feather might also involve some overclocking.

So, just need to know, do the changes here look about right for one of these future Feathers that just need a name and PID and then names assigned to special pins? None of the weird overclock stuff, just special I/O. Thx.

Based on Feather RP2040 SCORPIO, but new USB PID (from MBAdafruitBoards/Production) and pin name changes for GP16-23 (CKN/CKP etc., from board schematic).
@dglaude
Copy link
Copy Markdown

dglaude commented Mar 8, 2023

I am not an expert... but I believe the solderparty_rp2040_stamp is using a mechanism to have multiple "personalities" depending on the daughter board the stamp reside on.
Basically, there is a little python file you import to have the proper pin mapping, and that file is merged into the firmware.
I found that a "sexy" way to avoid having different firmware for different variation of the same thing (RP2040).
But there are argument like: "GitHub provide the Action for free" and "It is easier for the end-user to have a dedicated UF2 for their specific board".

PS: I am interested in how the RP2040 bones(?) derived board will be integrated... I really want the DVI and the USB Host one (I already have a Scorpio).

Copy link
Copy Markdown
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks fine! I added some blank lines for clarity.

Comment thread ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c
Comment thread ports/raspberrypi/boards/adafruit_feather_rp2040_dvi/pins.c
@dhalbert
Copy link
Copy Markdown
Collaborator

dhalbert commented Mar 9, 2023

So, just need to know, do the changes here look about right for one of these future Feathers that just need a name and PID and then names assigned to special pins? None of the weird overclock stuff, just special I/O. Thx.

I think so.

@dhalbert
Copy link
Copy Markdown
Collaborator

dhalbert commented Mar 9, 2023

@PaintYourDragon Note that it's better to create a branch for your PR rather than edit your main branch. If you do the latter then it can get out of sync with the upstream main branch. See https://learn.adafruit.com/contribute-to-circuitpython-with-git-and-github/always-work-on-a-branch#create-your-new-branch-2992239

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants