summaryrefslogtreecommitdiff
path: root/hw/bsp
diff options
context:
space:
mode:
authorgraham sanderson <[email protected]>2023-02-03 11:05:32 -0600
committergraham sanderson <[email protected]>2023-02-06 10:07:39 -0600
commit8d3f0ffb9599d1834d797d6f965a7f5f619c290a (patch)
treea88ba3571f9cf50f193d7a19db1e0a9ba75ba7f3 /hw/bsp
parent792b552c5cbcbe848489e60567779d8b1d4a8b9b (diff)
* don't force dependency on pico-pio-usb submodule
* suppress compiler warning/errors especially in pico-pio-usb * disable use of pico-pio-usb on gcc 11.3+ for now as it doesn't compile
Diffstat (limited to 'hw/bsp')
-rw-r--r--hw/bsp/rp2040/family.cmake44
1 files changed, 39 insertions, 5 deletions
diff --git a/hw/bsp/rp2040/family.cmake b/hw/bsp/rp2040/family.cmake
index f83120567..1eab95304 100644
--- a/hw/bsp/rp2040/family.cmake
+++ b/hw/bsp/rp2040/family.cmake
@@ -161,14 +161,22 @@ if (NOT TARGET _rp2040_family_inclusion_marker)
rp2040_family_configure_example_warnings(${TARGET})
endfunction()
+ function(family_add_pico_pio_usb TARGET)
+ target_link_libraries(${TARGET} PUBLIC tinyusb_pico_pio_usb)
+ endfunction()
+
function(family_configure_host_example TARGET)
family_configure_target(${TARGET})
target_link_libraries(${TARGET} PUBLIC pico_stdlib tinyusb_host)
rp2040_family_configure_example_warnings(${TARGET})
- endfunction()
- function(family_add_pico_pio_usb TARGET)
- target_link_libraries(${TARGET} PUBLIC tinyusb_pico_pio_usb)
+ # For rp2040 enable pico-pio-usb
+ if (TARGET tinyusb_pico_pio_usb)
+ # code does not compile with GCC 12+
+ if (NOT (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11.3))
+ family_add_pico_pio_usb(${PROJECT})
+ endif()
+ endif()
endfunction()
function(family_configure_dual_usb_example TARGET)
@@ -272,10 +280,36 @@ if (NOT TARGET _rp2040_family_inclusion_marker)
endif()
if (CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 11.0)
set_source_files_properties(
- ${PICO_TINYUSB_PATH}/src/portable/raspberrypi/rp2040/rp2040_usb.c
- PROPERTIES
+ ${PICO_TINYUSB_PATH}/lib/fatfs/source/ff.c
COMPILE_FLAGS "-Wno-stringop-overflow -Wno-array-bounds")
endif()
+ set_source_files_properties(
+ ${PICO_TINYUSB_PATH}/lib/fatfs/source/ff.c
+ PROPERTIES
+ COMPILE_FLAGS "-Wno-conversion -Wno-cast-qual")
+
+ set_source_files_properties(
+ ${PICO_TINYUSB_PATH}/lib/lwip/src/core/tcp_in.c
+ ${PICO_TINYUSB_PATH}/lib/lwip/src/core/tcp_out.c
+ PROPERTIES
+ COMPILE_FLAGS "-Wno-conversion")
+
+ set_source_files_properties(
+ ${PICO_TINYUSB_PATH}/lib/networking/dnserver.c
+ ${PICO_TINYUSB_PATH}/lib/networking/dhserver.c
+ ${PICO_TINYUSB_PATH}/lib/networking/rndis_reports.c
+ PROPERTIES
+ COMPILE_FLAGS "-Wno-conversion -Wno-sign-conversion")
+
+ if (TARGET tinyusb_pico_pio_usb)
+ set_source_files_properties(
+ ${PICO_TINYUSB_PATH}/hw/mcu/raspberry_pi/Pico-PIO-USB/src/pio_usb_device.c
+ ${PICO_TINYUSB_PATH}/hw/mcu/raspberry_pi/Pico-PIO-USB/src/pio_usb.c
+ ${PICO_TINYUSB_PATH}/hw/mcu/raspberry_pi/Pico-PIO-USB/src/pio_usb_host.c
+ ${PICO_TINYUSB_PATH}/src/portable/raspberrypi/pio_usb/hcd_pio_usb.c
+ PROPERTIES
+ COMPILE_FLAGS "-Wno-conversion -Wno-cast-qual -Wno-attributes")
+ endif()
endif()
endfunction()
endif()