Commit Graph

225 Commits

Author SHA1 Message Date
Jeff Epler cce8b2be07 raspberypi: Allow mpconfigboard to override additional items
This allows more options to be overridden to 0 in an mpconfigboard.mk.

Improved:
 * FRAMEBUFFERIO, FULL_BUILD, BITOPS, PWMIO, RGBMATRIX, OTARYIO, PULSEIO, WATCHDOG

Still problematic (pull requests welcome):
 * RP2PIO & NEOPIXEL_WRITE, possibly only if a status neopixel is defined
 * BITBANGIO, possibly only if BUSIO is enabled
 * RTC

Incidentally, with RP2PIO & NEOPIXEL_WRITE, BITBANGIO, and RTC re-enabled I get
```
323956 bytes used, 720524 bytes free in flash firmware space out of 1044480 bytes (1020.0kB).
12072 bytes used, 250072 bytes free in ram for stack and heap out of 262144 bytes (256.0kB).
```

Closes #4515
2021-03-31 09:40:48 -05:00
Dan Halbert 8e0834d74c Calculate RP2040 SDA hold time 2021-03-29 14:40:13 -04:00
Dan Halbert 03340a3fcd Incorporate https://github.com/adafruit/pico-sdk/pull/2 2021-03-26 18:55:45 -04:00
Dan Halbert 155b61f027
Merge pull request #4378 from Gadgetoid/patch-remove-rp2040-i2c-bitbang
RP2040: Remove short-write bitbang from I2C
2021-03-25 21:01:02 -04:00
Scott Shawcroft f79d60b205
Use GCC @file to shorten linker command length
This hopefully fixes linking on Windows with cmd.exe
2021-03-24 15:03:33 -07:00
Scott Shawcroft 36edc4bb89
Improve Winbond naming and correct board settings 2021-03-23 09:06:48 -07:00
Scott Shawcroft 7867632a81
Merge remote-tracking branch 'adafruit/main' into rp2040_flash 2021-03-22 15:29:43 -07:00
Scott Shawcroft f200e6a21e
Fix doc build and address feedback 2021-03-22 15:24:27 -07:00
lady ada 36ae69ab6f qtpy is more of a button than a switch! add itsybitsy rev C files 2021-03-21 18:44:32 -04:00
lady ada ebd6011633 add USBBOOT switch, move RX pin, re-enable UART (tested) 2021-03-21 14:58:18 -04:00
Scott Shawcroft 4aea7f8f52
Add requirements-dev.txt for python deps 2021-03-19 15:22:23 -07:00
Scott Shawcroft 5d2b60cbf6
Redo RP2040 flash settings
This switches stage2 to C and uses Jinja to change the C code based
on flash settings from https://github.com/adafruit/nvm.toml. It
produces the fastest settings for the given set of external flashes.
Flash size is no longer hard coded so switching flashes with similar
capabilities but different sizes should *just work*.

This PR also places "ITCM" code in RAM to save the XIP cache for
code execution. Further optimization is possible. A blink code.py
still requires a number of flash fetches every blink.

Fixes #4041
2021-03-18 16:55:42 -07:00
Scott Shawcroft 11e510a06a
Merge pull request #4419 from spe2/main
Add board definition for Sparkfun Pro Micro RP2040
2021-03-17 18:17:24 -07:00
Jeff Epler 719e8710f2
Merge pull request #4411 from mintakka/thingplus-rp2040
added board configuration for Sparkfun ThingPlus RP2040
2021-03-17 16:23:55 -05:00
Phil Howard b8d4f9655f RP2040: Only bitbang 0-byte writes
The I2C.c for RP2040 included a special case for writes <=2 bytes to match the MicroPython implementation,
however RP2040 does support 1 and 2 byte reads, with only 0 bytes being the exception.

Signed-off-by: Philip Howard <phil@pimoroni.com>
2021-03-17 16:25:54 +00:00
mintakka 337727ba0c renamed board folder to match board name in boards.yml 2021-03-16 21:10:10 -04:00
spe2 dcd9a8ab91
Update ports/raspberrypi/boards/sparkfun_pro_micro_rp2040/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 10:54:20 -07:00
spe2 5bc132a209
Update ports/raspberrypi/boards/sparkfun_pro_micro_rp2040/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 10:54:15 -07:00
mintakka b5333f2bdf
Update ports/raspberrypi/boards/sparkfun_thingplus_rp2040/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 13:47:33 -04:00
mintakka 3d15877639
Update ports/raspberrypi/boards/sparkfun_thingplus_rp2040/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-16 13:47:21 -04:00
gamblor21 3b01a65743 Fixed formatting 2021-03-16 08:14:49 -05:00
spe2 9de40f56f3
Add board config files 2021-03-15 22:08:19 -06:00
spe2 c9427780b3
Create pins.c 2021-03-15 22:07:24 -06:00
mintakka 49baa94446 added sparkfun_thingplus_rp2040 to .github/workflows/boards.yml and renamed board folder to include chip 2021-03-15 23:00:24 -04:00
mintakka 288415f867
Update ports/raspberrypi/boards/sparkfun_thingplus/mpconfigboard.h
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-15 21:07:31 -04:00
mintakka 30a74b3d92
Update ports/raspberrypi/boards/sparkfun_thingplus/mpconfigboard.mk
Co-authored-by: Scott Shawcroft <scott@tannewt.org>
2021-03-15 21:07:24 -04:00
Mark e326d7ca80
Merge branch 'main' into rp_dp_parallel 2021-03-15 20:00:13 -05:00
Scott Shawcroft f7a988b9b3
Merge pull request #4405 from DavePutz/issue_4237
Issue 4237 - Changed initial setting in program_struct
2021-03-15 17:51:36 -07:00
mintakka 0567d06936 added board configuration for Sparkfun ThingPlus RP2040 2021-03-15 10:27:21 -04:00
microDev a52eb88031
run code formatting script 2021-03-15 19:27:36 +05:30
root 9a83501982 Fixed initial settings for program_struct to allow more than 1 program per pio 2021-03-14 15:05:56 -05:00
Dan Halbert 8e425a9354
Merge pull request #4393 from tannewt/raise_default_flash_speed
Speed up a bit more
2021-03-13 12:50:29 -05:00
Scott Shawcroft 1b106de4e0
Merge pull request #4262 from DavePutz/issue_4111
Issue 4111 - Implement pulseio(pulsein) for RP2040
2021-03-12 16:48:57 -08:00
Scott Shawcroft 45487f14a0
Speed up a bit more 2021-03-12 16:00:16 -08:00
DavePutz 96ce43e6d6
Added the correct files 2021-03-12 16:18:33 -06:00
DavePutz 6628f49852
Use StateMachine.c interrupt setup and simplify SM program 2021-03-12 16:06:57 -06:00
Scott Shawcroft aec03a409f
Lower default flash speed.
/ 6 leads to ~40mhz. 2M and 4M have a max 0x03 read speed of 60mhz.
If the divisor is / 4 then the speed is just over 60mhz.

Fixes #4377
2021-03-12 11:06:39 -08:00
gamblor21 307d2a99fe Fix after rebase 2021-03-11 20:06:50 -06:00
gamblor21 5689307798 Changed frequency to match PIO having 2 instructions 2021-03-11 19:32:44 -06:00
gamblor21 b02b1e9979 Set frequency default 60Mhz 2021-03-11 19:32:44 -06:00
gamblor21 1658fe04f9 Set the statemachine to never reset so REPL works 2021-03-11 19:32:44 -06:00
gamblor21 c384ebe5c0 Updated to initalize pindirs 2021-03-11 19:32:44 -06:00
gamblor21 56a219911f Add frequency support to parallel bus 2021-03-11 19:32:43 -06:00
gamblor21 b080d6207b Removing debug info and clean up 2021-03-11 19:32:43 -06:00
gamblor21 c6aaab6f64 Initial commit 2021-03-11 19:32:43 -06:00
Jeff Epler 24f4d981bd
Merge pull request #4380 from jepler/rp2040-audiomp3
raspberrypi: Enable mp3 playback
2021-03-11 12:53:46 -06:00
Jeff Epler 16bfe3b41c raspberrypi: RTC: Ensure a time is set
Until a time is set, the RTC is not running, and rtc_get_datetime()
returns false without assigning to the out-parameter.

In CircuitPython, this would manifest as arbitrary values being returned,
since uninitialized storage on the stack was being converted into a timestamp.
2021-03-10 20:20:40 -06:00
Jeff Epler c95def0b32 raspberrypi: Enable mp3 playback
The rp2040 is _very_ marginal for mp3 playback, and currently sometimes triggers a bug that gives garbled audio output.  However, it does work for some limited situations.
2021-03-10 18:44:10 -06:00
hathach 58fb011070 clean up 2021-03-10 19:03:27 +07:00
hathach d1c6bb0927 rp2040 add double reset to uf2, also update pico-sdk to 1.1.0 2021-03-10 18:58:23 +07:00