Commit graph

259 commits

Author SHA1 Message Date
ladyada
f3ff582f6e floppsy init
Co-authored-by: Jeff Epler <jepler@gmail.com>
2024-11-21 14:33:45 -06:00
Earle F. Philhower, III
e25d382732
Support WiFi/BT/BLT with RP2350 CYW43 boards (#2616)
Using pico-sdk develop branch, add in support for CYW43-based
WiFi/BT/BLE boards on the RP2350 such as the
SparkFun Thing Plus RP2350 or the Pimoroni Pico Plus 2W.

Fixes #2608

Rolls in dynamic SPI divider #2600

* Support LED digitalWrite on RP2350+CYW

Also move "special GPIO" to 64 since the Pimoroni Pico 2W uses the
RP2350B with 48 GPIOs.

* Enable CYW43_PIN_WL_DYNAMIC in IDE and P.IO

Allows calling `cyw43_set_pins_wl(cyw43_pin_array);` to redefine the
CYW43 hookup in the variant initialization.
2024-11-19 10:28:12 -08:00
Dryw Wade
17aab7e373
Add SparkFun Thing Plus RP2350 (#2605)
* Add SparkFun Thing Plus RP2350
* Add Thing Plus RP2350 PSRAM definition
* Remove radio from Thing Plus RP2350
Will need to add back once full radio support is added, see #2605
2024-11-14 12:22:31 -08:00
Earle F. Philhower, III
f5c4136b94
Add SimpleMDNS, IGMP, and .local lookup (#2582)
* Enable LWIP IGMP, MDNS internal server
* Enable MDNS lookup from LWIP DNS
* Add SimpleMDNS responder, small code and no malloc
* Ensure we copy out lwipopts in make-libpico

Adds a small wrapper around the LWIP-provided MDNS responder application.
Drop-in replacement in many basic cases for LEAmDNS.

For FreeRTOS it is important to not allocate memory on an LWIP callback.
LEAmDNS needs to do this to create response objects, leading to crashes.

Increase LWIP timers by bumping the LWIP_ARP number (as done before).

Replace ArduinoOTA LEAmDNS with SimpleMDNS and update a
HTTPUpdateServer example.
2024-11-07 10:09:44 -08:00
Earle F. Philhower, III
c4b6521849
Add wiznet_5100s_evb_pico2, wiznet_5500_evb_pico2 (#2575)
Add 2 new WIZNet Pico2 boards, same pinouts as Pico revs.

Fixes #2574
2024-11-03 09:47:31 -08:00
wiznet-mason
b0e7ad3de2
Add WIZnet W55RP20-EVB-Pico board (#2555) 2024-10-28 18:10:33 -07:00
CIncinnatus
49f83c4310
Add seeed xiao rp2350 board (#2533) 2024-10-11 02:00:15 -07:00
Sylwester
c97c61dce5
Add PSRAM Size selection and Frequency Selection for Datanoise PicoADK V2. (#2529) 2024-10-08 11:50:12 -07:00
Earle F. Philhower, III
5f77e12984
Add PSRAM size menu to Adafruit Feather RP2350 HSTX (#2521)
See #2512
2024-10-04 17:39:19 -07:00
Kevin Santo Cappuccio
059bd590d7
Add Jumperless and Jumperless V5 to supported boards (#2514) 2024-10-03 10:02:42 -07:00
Earle F. Philhower, III
1f1fa11216
Allow IDE install to call RISC-V compiler (#2513)
Released packages have a post-processing step to allow them to work with IDE
installed toolchains.  This was not updated for the RISC-V compiler, so R5 compiles
fail under the release IDE package.  Update to call proper compiler path.

Fixes #2510
2024-10-02 10:25:32 -07:00
Maximilian Gerhardt
a2164a5b10
Update PIO USB docs, fixup used VID/PID macros (#2505) 2024-09-30 09:57:21 -07:00
Earle F. Philhower, III
f6973fc64d
Add RISC-V support, GCC 14 move (#2491)
* Adds RISC-V compilation option to the IDE and Platform.IO.
* Build RP2350-RISCV libpico, libbearssl
* Fix RP2350 BearSSL library (was copied from RP2040, now built for M33)
* New GCC 14.2 toolchain is required (12.4 RISC-V support is borked)
* Newlib locking fixed prototypes
* Manually force all runtime init code into RP2350 binaries
* Add RISC-V to CI
* Remove RP2350 BOOT2.S files, binaries (not used)
* Clean up minor GCC 14.x warnings
* Add RP2350-RISCV OTA build, link
* Add RISC-V FreeRTOS files (configuration still not running, but builds)
* Add basic documentation
2024-09-29 15:10:36 -07:00
Sylwester
39ad2aeced
Add Datanoise PicoADK v2 (RP2350). (#2413) 2024-09-24 06:46:05 -07:00
Earle F. Philhower, III
a9fd579ce9
Add new Pico SDK AON_Timer module (#2489)
Fixes #2488
2024-09-22 15:16:28 -07:00
Earle F. Philhower, III
b2ec6ecb09
GCC to 12.4, Newlib to 4.3.0, faster RP2350 libs (#2480)
Newlib built using `-Os` causes things like `memcpy` to be very slow on the
RP2350 because it uses byte-wise operations.  On the RP2040 this doesn't
matter because there is a ROM routine we use instead of the library, but on
the Pico 2 it's almost 10x slower than the optimal method.

Update GCC to 12.4
Update Newlib to 4.4.0
Move to -O2 library compilation

New toolchain looks to add ~10K to RP2350 flash usage (less on the RP2040).
2024-09-19 17:03:23 -07:00
Pontus Oldberg
f6940cc04e
Adds support for ESP Hosted to WiFi/BLE boards and adds a menu item for ESP WiFi selection (#2468)
* Adds a menu item for selecting type of ESP wifi type.

* Updated pin definitions to work with ESP hosted.

* Fixed residual debug modification.

* Added ESPHost support library.

* Removed local cloning of ESPHost and added to excluded from CI

* Updated boards.txt

---------

Co-authored-by: Pontus Oldberg <pontus.oldberg@non.se.com>
2024-09-18 07:16:23 -07:00
Earle F. Philhower, III
5830cd8e7d
Clean up libpico Cmakefile, 1 entry per line (#2474)
Split the 1300+ char define-setting line into a multi-line value.
Makes it more maintainable and easier to see when changes needed.
No settings should have been modified.
2024-09-17 18:26:16 -07:00
Yveaux
5db8063756
Also remove CFG_TUSB_DEBUG from platformio-build.py for rp2350 (#2471) 2024-09-17 11:52:30 -07:00
Liz
163b209d6c
Add Adafruit Feather RP2350 with HSTX (#2459)
* Add xosc delay for RP2350

* init feather rp2350 addition

* Update Feather RP2350 JSON

---------

Co-authored-by: Scott Shawcroft <scott@tannewt.org>
Co-authored-by: ladyada <support@adafruit.com>
2024-09-17 09:45:45 -07:00
Earle F. Philhower, III
76811d3c66
Add RP2350B generic/Pimoroni PGA2350 support (#2433)
* Add support for the extra 16 GPIO pins in the menus and core.
* Clean up Generic RP2350 PSRAM ("none" is valid) and flash (other than 16MB) options.
* Add extra GPIO<->peripheral connections
* Add Pimoroni PGA2350 RP2350B-based board
* Pins 32-47 can be used for PIOPrograms
* Avoid hang when PSRAM fails to initialize
* Move libpico to an RP2350B board for SDK (otherwise the SDK drops all GPIOHI support)
2024-09-11 18:55:28 -07:00
Earle F. Philhower, III
70b273544e
Add board Pimornoi Tiny2350 (#2426)
Similar to Pimoroni Tiny2040
2024-09-06 19:44:21 -07:00
Earle F. Philhower, III
5e07682d11
Remove straggler pico-debug references (#2422) 2024-09-06 12:06:43 -07:00
SamHalvoe
902f709f6f
Add board Pimoroni Pico Plus 2 (#2415) 2024-09-05 10:55:58 -07:00
Earle F. Philhower, III
50cb17497b
Fix RP2040 FP calls in ROM (#2411)
A typo in the CMakefile resulted in ROM FPU calls not being added in
the Pico library.  Fix the file and rebuild libraries.

Fixes #2410
2024-09-03 19:39:41 -07:00
Earle F. Philhower, III
729163d0cc
Remove pico-debug because it's archived (#2392)
Pico-Debug is no longer supported and was removed from OpenOCD, so remove
the references and upload menu items for it.

Fixes https://github.com/earlephilhower/pico-quick-toolchain/issues/61
2024-08-30 14:16:50 -07:00
Maximilian Gerhardt
42a0c88174
Update PIO board definition for PSRAM (#2387) 2024-08-30 06:38:44 -07:00
Salam
057896899c
Add motion 2350 pro (#2372)
* Added motion 2350 pro.

* generated boards.txt

* adjusted the f_cpu

* Added Cytron Motion 2350 Pro to README.md

* Update pins_arduino.h
2024-08-27 07:08:48 -07:00
Wai Weng
0c78fbd6c1
Add new board: IRIV IO Controller. (#2370)
Co-authored-by: Kong Wai Weng <waiweng@cytron.io>
2024-08-26 21:30:25 -07:00
Earle F. Philhower, III
404f188e25
Don't construct P.IO JSON from string, use JSON (#2368)
I shall not generate a JSON file using string replacement!
2024-08-26 18:03:21 -07:00
Earle F. Philhower, III
84828f0461
Fix Pio MHZ for RP2350, fix RP2350 generic menus (#2366)
* Fix Pio MHZ for RP2350, fix RP2350 generic menus

* Clean up platform.txt IPV4 default

Was never used, but should at least exist for sanity's sake

Fixes #2365
2024-08-26 13:11:28 -07:00
Earle F. Philhower, III
b2428763d6
Add SHA256 SDK libs/inclues for RP2350 (#2364) 2024-08-26 11:48:07 -07:00
Earle F. Philhower, III
9cb9226744
Fix Platform.IO ARDUINO_ARCH_xxx define (#2361)
The core will be identified (now for historical reasons) as ARDUINO_ARCH_RP2040.
2024-08-26 09:06:56 -07:00
Earle F. Philhower, III
33694a1fcc
Add RP2350 support, new boards (#2337)
* Migrate RP2040-specific bits to separate dirs
* Add chip to boards.txt, isolate RP2040-specifics
* Add RP2350 boot2, bearssl, and libraries
* Platform.IO adjust to new paths
* Add RPIPICO2 JSON for P.IO
* Add RP2350 to Platform.io
* Update Picotool and OpenOCD for all hosts
* Use picotool to generate UF2s
* Build separate libpico blobs serially
Thanks for the review, @aarturo182 !
* Add RP2350 to CI
* Allow Ethernet/WiFi building for RP2350
* Update Adafruit TinyUSB to latest
* Test skip fix
* Make RP2350 Picotool work. update USB ID
* Fix EEPROM/FS flash locations
RP2350 adds a 4K header sector to the UF2, meaning we have 4K less total
flash to work with.  Adjust all constants appropriately on the RP2350.
* Adds ilabs board and PSRAM support. (#2342)
* Adds iLabs boards and basic PSRAM support.
* Make PSRAM come up as part of chip init
Uses SparkFun psram.cpp to set timings on clocks which are defined in the
variant file.  Prefix things with RP2350_PSRAM_xxx for sanity.
Users don't need to call anything, PSRAM "just appears".  Still need to
add in malloc-type allocation.
* Add board SparkFun ProMicro RP2350
Same pinout as the SparkFun ProMicro RP2040 with 8MB PSRAM and RP2350
* Add TLSF library for use w/PSRAM
Fork of upstream to include add'l C++ warning fixes.
* Add pmalloc/pcalloc to use PSRAM memory
free() and realloc() all look at the pointer passed in and jump to the
appropriate handler.  Also takes care of stopping IRQs and taking the
malloc mutex to support multicore and FreeRTOS (when that workd)
* Fix BOOTSEL for RP2350
* Add simple rp2040.idleOtherCore test
* Add Generic RP2350 and clean up PSRAM menus
Commercial boards now only have 1 size PSRAM, no need to have menu for them.
* Add Solder Party RP2350 Stamp boards (#2352)
* Add PSRAM heap info helpers, mutex lock mallinfo
* Add RP2350 docs
* FreeRTOS and OTA unsupported warnings for RP2350
2024-08-25 11:21:46 -07:00
Earle F. Philhower, III
f45db86cc2
Migrate to 2.0.0 SDK (#2336)
* Update to 2.0.0 SDK
* Board type needs to be set before earliest SDK setup
* Platform includes update
* Boot2 files
* Simple compilation issues
* Build and link
* PIO rebuild with version
* Newlib wrapper update
* Force inclusion of runtime_init_* fcns
The linker was dropping all references to the library's included
runtime_init_xxx functions and hence things like the IRQ vector
table and mutexes and alarms weren't properly set up leading to
instant crashes on start up..

Explicitly call out one function from the object file stored in
the .A to force the inclusion of all the functions.  May be a better
way, heppy to hear any ideas.
* Fix SPI GPIO calls
* Fix Ethernet GPIO
* Remove SDK warnings
Remove the skipped error messages once the following PR merged:
https://github.com/raspberrypi/pico-sdk/pull/1786
* BTStack moved SBC encode/decode paths
* Platform.IO fixes
* BT No longer has special absolute mouse
* Rebuild and update OTA
* Rebuild BearSSL, too
* Update liker file to latest SDK
* Clean up libpicocmake
* Clean up LWIP/BT library names
2024-08-17 10:39:13 -07:00
Earle F. Philhower, III
e022d47e80
Minor BearSSL changes for 8266/upstream (#2323)
No functionality differences expected.
2024-08-08 08:44:17 -07:00
Earle F. Philhower, III
5c4eb022c1
Rename Picoprobe upload to DebugProbe new name (#2298)
Picoprobe was rechristened Debugprobe earlier this year, add a note
in the menus to be specific about it.

See https://github.com/raspberrypi/debugprobe
2024-07-25 10:10:33 -07:00
deltaford
80196d570b
Add Pintronix PinMax board (#2286) 2024-07-20 13:08:05 -07:00
Amken USA
1f71135a2b
Add 4 Amken boards (#2283)
Added 4 new boards from Amken LLC.
* Amken Bunny
* Amken Revelop
* Amken Revelop Plus
* Amken Revelop eS

Co-authored-by: H.Keni <151807089+hrken1@users.noreply.github.com>
2024-07-19 14:17:53 -07:00
Heng Teng Yi
372fef06e1
Add board EVN Alpha (#2263)
Co-authored-by: HTY2003 <randumbperson@gmail.com>
2024-07-13 11:21:04 -07:00
Earle F. Philhower, III
41ce4b2f8b
Ensure makeboards.py writes UNIX newlines (#2264)
The repo and development use only '\n' (UNIX) EOLs.  When a user runs
makeboards on a Windows system they end up changing every line in boards.txt
and the JSON files to Windows '\r\n' format.

Explicitly set the newline character when opening the output files to
avoid this.
2024-07-12 17:53:34 -07:00
Earle F. Philhower, III
e8a2654296
Add a build of all variants to CI (#2262)
* Add a build of all variants to CI using P.IO
* Split out into separate job, use BOOTSEL sketch
* Fix Breadstick variant
* Fix Bridgetech boards with illegal define names
  Dash(-) to underscore(_) in define and variant for the -7 and -43.
* Bridgetech JSON updates
* Temporarily remove Bridgetech boards from CI
  Needs an update to the P.IO external repo to work since the names
  of the boards have changed.
2024-07-12 15:50:03 -07:00
Maximilian Gerhardt
8cb8807573
Fix assembler flags (#2255)
An oversight in the order of updating the ASFLAGS with a copy of the CCFLAGS (see line 110) and then updating the CCFLAGS (without resyncing the ASFLAGS) leads to a fatal compilation error in the Adafruit PicoDVI library, in which `tmds_encode.S` fails to find the `pico/config.h` include file. This fix updates the ASFLAGS manually after changing the CCFLAGS so that they're equal again, and the library can be compiled.
2024-07-08 09:02:15 -07:00
chungsoftvn-tuannguyen
247e48fa85
Add board BridgeTek IDM2040-43A (#2246)
- Board information brtchip.com/product/idm2040-43a

Signed-off-by: Tuan Nguyen <tuan.nguyen@brtchip.com>
Co-authored-by: Tuan Nguyen <tuan.nguyen@brtchip.com>
2024-06-27 11:30:53 -07:00
Limor "Ladyada" Fried
6d601250d6
Add Adafruit Adalogger Feather (#2229)
Co-authored-by: hathach <thach@tinyusb.org>
2024-06-17 21:00:45 -07:00
Mete K. Atay
352d363463
Add METE HOCA Akana R1 (#2230) 2024-06-17 09:53:02 -07:00
Earle F. Philhower, III
151c52c1a0
Remove leftover LWIP debug/redefines (#2213)
Fixes #2211
2024-06-09 10:10:20 -07:00
Michael Rangen
b0ffd89dbb
Added Raspberry Breadstick (#2205)
https://shop.breadstick.ca/products/raspberry-breadstick-rp2040
I think I did the pin definitions correctly... other boards used generic pin numbers based on the GPIO pins but I've mapped GPIO to the silkscreen pin labels on our board.
2024-06-05 22:15:05 -07:00
Zillion
0ec12aa49f
Add GroundStudio Marble Pico board (#2203) 2024-06-05 15:18:21 -07:00
Earle F. Philhower, III
919a754ef8
Add double-mem LWIP option (#2187)
Add a "-32K" option to all the IP stack options that doubles the PCB and memory
pools from default.  For most use cases this is not necessary, but it could be
helpful in cases where large numbers of TCP clients are connected or high
bandwidth applications.

Fixes #2050
2024-05-30 18:30:50 -07:00