aboutsummaryrefslogtreecommitdiff
path: root/third_party/pico_sdk/src/rp2_common
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/pico_sdk/src/rp2_common')
-rw-r--r--third_party/pico_sdk/src/rp2_common/BUILD.gn2
-rw-r--r--third_party/pico_sdk/src/rp2_common/boot_stage2/BUILD.gn25
-rw-r--r--third_party/pico_sdk/src/rp2_common/cmsis/BUILD.gn14
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_adc/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_base/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_claim/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_clocks/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_divider/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_dma/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_exception/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_flash/BUILD.gn14
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_gpio/BUILD.gn8
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_i2c/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_interp/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_irq/BUILD.gn7
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_pio/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_pll/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_pwm/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_resets/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_rtc/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_spi/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_sync/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_timer/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_uart/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_vreg/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_watchdog/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/hardware_xosc/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_bootrom/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_bootsel_via_double_reset/BUILD.gn2
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_double/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/BUILD.gn10
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_float/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_int64_ops/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_malloc/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_mem_ops/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_multicore/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_platform/BUILD.gn8
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_printf/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_runtime/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_standard_link/BUILD.gn2
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_stdio/BUILD.gn12
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_stdio_semihosting/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_stdio_uart/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_stdio_usb/BUILD.gn27
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_stdlib/BUILD.gn2
-rw-r--r--third_party/pico_sdk/src/rp2_common/pico_unique_id/BUILD.gn6
-rw-r--r--third_party/pico_sdk/src/rp2_common/tinyusb/BUILD.gn96
47 files changed, 319 insertions, 108 deletions
diff --git a/third_party/pico_sdk/src/rp2_common/BUILD.gn b/third_party/pico_sdk/src/rp2_common/BUILD.gn
index 494af4a4e..f3d4f7f10 100644
--- a/third_party/pico_sdk/src/rp2_common/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/BUILD.gn
@@ -12,6 +12,8 @@
# License for the specific language governing permissions and limitations under
# the License.
+import("//build_overrides/pi_pico.gni")
+
group("rp2_common") {
public_deps = [
"hardware_adc",
diff --git a/third_party/pico_sdk/src/rp2_common/boot_stage2/BUILD.gn b/third_party/pico_sdk/src/rp2_common/boot_stage2/BUILD.gn
index d23802a89..2a6851ed3 100644
--- a/third_party/pico_sdk/src/rp2_common/boot_stage2/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/boot_stage2/BUILD.gn
@@ -30,6 +30,17 @@ config("public_include_dirs") {
]
}
+# The upstream boot_stage2.ld doesn't specify the binary entry point or
+# mark the required sections as KEEP(), so they're optimized out with
+# Pigweed's aggressive default optimizations.
+#
+# Because of Pigweed's pw_build_DEFAULT_CONFIGS behavior, this flag
+# needs to be a config rather than just an ldflag of boot_stage2_elf to ensure
+# the flag is ordered properly.
+config("no_gc_sections") {
+ ldflags = [ "-Wl,--no-gc-sections" ]
+}
+
pw_executable("boot_stage2_elf") {
_linker_script_path = rebase_path("${_CWD}/boot_stage2.ld", root_build_dir)
@@ -41,22 +52,12 @@ pw_executable("boot_stage2_elf") {
ldflags += [
"-T${_linker_script_path}",
"-nostartfiles",
-
- # Unfortunately, this is not properly applied to compiler flags thanks to
- # `default_configs`.
- "-Wl,--no-gc-sections",
]
public_configs = [ ":public_include_dirs" ]
+ configs = [ ":no_gc_sections" ]
- # The upstream boot_stage2.ld doesn't specify the binary entry point or
- # mark the required sections as KEEP(), so they're optimized out with
- # Pigweed's aggressive default optimizations.
- remove_configs = [
- "$dir_pw_build:reduced_size",
- "$dir_pw_build:strict_warnings",
- ]
- no_link_deps = true
+ is_boot_stage2 = true
public = [ "${_CWD}/include/boot_stage2/config.h" ]
diff --git a/third_party/pico_sdk/src/rp2_common/cmsis/BUILD.gn b/third_party/pico_sdk/src/rp2_common/cmsis/BUILD.gn
index 94c8f41fa..1e997c54d 100644
--- a/third_party/pico_sdk/src/rp2_common/cmsis/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/cmsis/BUILD.gn
@@ -30,16 +30,20 @@ config("public_include_dirs") {
}
pw_source_set("rename_exceptions") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
- public = [ "include/cmsis/rename_exceptions.h" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
+ public = [ "${_CWD}/include/cmsis/rename_exceptions.h" ]
}
# TODO(amontanez): The CMSIS stub should probably be more configurable to match
# CMake.
pw_source_set("cmsis") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public = [
"${_CWD}/stub/CMSIS/Core/Include/cmsis_armcc.h",
"${_CWD}/stub/CMSIS/Core/Include/cmsis_armclang.h",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_adc/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_adc/BUILD.gn
index 7a9364651..244be5baa 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_adc/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_adc/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_adc") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_base/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_base/BUILD.gn
index 00909d44c..7f78ed7e8 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_base/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_base/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_base") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_claim/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_claim/BUILD.gn
index 9ced82c0d..605d3429b 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_claim/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_claim/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_claim") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2_common/hardware_sync",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_clocks/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_clocks/BUILD.gn
index dd4eb4791..6f2322816 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_clocks/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_clocks/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_clocks") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public = [ "${_CWD}/include/hardware/clocks.h" ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_divider/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_divider/BUILD.gn
index 25e1a5fca..a277b2e22 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_divider/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_divider/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_divider") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_dma/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_dma/BUILD.gn
index 33ca25c33..060461d1a 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_dma/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_dma/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_dma") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_exception/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_exception/BUILD.gn
index cb8e2dee1..4b8e38520 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_exception/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_exception/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_exception") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_flash/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_flash/BUILD.gn
index 6e3e19014..57ec6c8cc 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_flash/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_flash/BUILD.gn
@@ -25,9 +25,19 @@ config("public_include_dirs") {
include_dirs = [ "${_CWD}/include" ]
}
+config("disable_warnings") {
+ cflags = [
+ "-Wno-pointer-arith",
+ "-Wno-shadow",
+ ]
+}
+
pw_source_set("hardware_flash") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
+ configs = [ ":disable_warnings" ]
public_deps = [ "${PICO_ROOT}/src/common/pico_base" ]
deps = [
"${PICO_ROOT}/src/common/pico_sync",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_gpio/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_gpio/BUILD.gn
index 193f3236a..b2a7459cc 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_gpio/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_gpio/BUILD.gn
@@ -26,18 +26,20 @@ config("public_include_dirs") {
}
pw_source_set("hardware_gpio") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
+ "${PICO_ROOT}/src/rp2_common/hardware_irq",
]
deps = [
# TODO(amontanez): This is off by default, properly control with
# configuration.
# "${PICO_ROOT}/src/common/pico_binary_info",
- "${PICO_ROOT}/src/rp2_common/hardware_irq",
"${PICO_ROOT}/src/rp2_common/hardware_sync",
]
public = [ "${_CWD}/include/hardware/gpio.h" ]
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_i2c/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_i2c/BUILD.gn
index 1c3f717a5..9db318062 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_i2c/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_i2c/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_i2c") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/common/pico_time",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_interp/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_interp/BUILD.gn
index 6a2dec8c6..f48373386 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_interp/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_interp/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_interp") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_irq/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_irq/BUILD.gn
index a21900ee0..83f6f17d1 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_irq/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_irq/BUILD.gn
@@ -26,12 +26,15 @@ config("public_include_dirs") {
}
pw_source_set("hardware_irq") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
"${PICO_ROOT}/src/rp2_common/hardware_base",
+ "${PICO_ROOT}/src/rp2_common/hardware_claim",
]
deps = [
"${PICO_ROOT}/src/common/pico_sync",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_pio/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_pio/BUILD.gn
index f1fc257df..9f5177a2b 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_pio/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_pio/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_pio") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_pll/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_pll/BUILD.gn
index 837611dff..2952e66d0 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_pll/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_pll/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_pll") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_pwm/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_pwm/BUILD.gn
index 968ef3e8f..b67cecb82 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_pwm/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_pwm/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_pwm") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_resets/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_resets/BUILD.gn
index 92beff00e..99cba5517 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_resets/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_resets/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_resets") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_rtc/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_rtc/BUILD.gn
index b59a0f2bf..eca3cc0f6 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_rtc/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_rtc/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_rtc") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_spi/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_spi/BUILD.gn
index 42f559747..b32518a32 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_spi/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_spi/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_spi") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/common/pico_time",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_sync/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_sync/BUILD.gn
index 442aab30b..a85301a77 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_sync/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_sync/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_sync") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_timer/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_timer/BUILD.gn
index 6abf5acbc..97f6da194 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_timer/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_timer/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_timer") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_uart/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_uart/BUILD.gn
index 0c71aae95..04654d1a9 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_uart/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_uart/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_uart") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_regs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_vreg/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_vreg/BUILD.gn
index 1815fc078..b36293db4 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_vreg/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_vreg/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_vreg") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_watchdog/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_watchdog/BUILD.gn
index 644f72291..3acc5fd3d 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_watchdog/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_watchdog/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_watchdog") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/hardware_xosc/BUILD.gn b/third_party/pico_sdk/src/rp2_common/hardware_xosc/BUILD.gn
index a2d77d862..6e5d69302 100644
--- a/third_party/pico_sdk/src/rp2_common/hardware_xosc/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/hardware_xosc/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("hardware_xosc") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2040/hardware_structs",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_bootrom/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_bootrom/BUILD.gn
index d1d28a2f3..2f401acdc 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_bootrom/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_bootrom/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_bootrom") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/common/pico_base" ]
public = [
"${_CWD}/include/pico/bootrom.h",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_bootsel_via_double_reset/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_bootsel_via_double_reset/BUILD.gn
index 5f615278d..89dd81e53 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_bootsel_via_double_reset/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_bootsel_via_double_reset/BUILD.gn
@@ -25,8 +25,8 @@ pw_source_set("pico_bootsel_via_double_reset") {
deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/common/pico_binary_info",
+ "${PICO_ROOT}/src/common/pico_time",
"${PICO_ROOT}/src/rp2_common/pico_bootrom",
- "${PICO_ROOT}/src/rp2_common/pico_time",
]
sources = [ "${_CWD}/pico_bootsel_via_double_reset.c" ]
}
diff --git a/third_party/pico_sdk/src/rp2_common/pico_double/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_double/BUILD.gn
index ef7feb76d..c2fe44f51 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_double/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_double/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_double") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2_common/pico_bootrom",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/BUILD.gn
index 99d8cd466..bf80323f9 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_fix/rp2040_usb_device_enumeration/BUILD.gn
@@ -26,14 +26,16 @@ config("public_include_dirs") {
}
pw_source_set("rp2040_usb_device_enumeration") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
deps = [
"${PICO_ROOT}/src/common/pico_base",
+ "${PICO_ROOT}/src/common/pico_time",
"${PICO_ROOT}/src/rp2040/hardware_structs",
"${PICO_ROOT}/src/rp2_common/hardware_gpio",
- "${PICO_ROOT}/src/rp2_common/pico_time",
]
public = [ "${_CWD}/include/pico/fix/rp2040_usb_device_enumeration.h" ]
- sources = [ "${_CWD}/rp2040_usb_device_enumberation.c" ]
+ sources = [ "${_CWD}/rp2040_usb_device_enumeration.c" ]
}
diff --git a/third_party/pico_sdk/src/rp2_common/pico_float/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_float/BUILD.gn
index 04c0fdf00..967b6c085 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_float/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_float/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_float") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2_common/pico_bootrom",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_int64_ops/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_int64_ops/BUILD.gn
index 6458280d9..def0ace27 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_int64_ops/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_int64_ops/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_int64_ops") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/common/pico_base" ]
deps = [ "${PICO_ROOT}/src/rp2_common/pico_platform" ]
public = [ "${_CWD}/include/pico/int64_ops.h" ]
diff --git a/third_party/pico_sdk/src/rp2_common/pico_malloc/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_malloc/BUILD.gn
index ad1afbed9..4d080b2b3 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_malloc/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_malloc/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_malloc") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/common/pico_sync",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_mem_ops/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_mem_ops/BUILD.gn
index df40c7edd..775f2703a 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_mem_ops/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_mem_ops/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_mem_ops") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/common/pico_base" ]
deps = [
"${PICO_ROOT}/src/rp2_common/pico_bootrom",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_multicore/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_multicore/BUILD.gn
index d154954f5..1e7833b3d 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_multicore/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_multicore/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_multicore") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/common/pico_sync",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_platform/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_platform/BUILD.gn
index 593196dc4..f97238ef7 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_platform/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_platform/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("headers") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/rp2040/hardware_regs:platform_defs" ]
configs = [ "${PICO_ROOT}/src/rp2_common/pico_platform:public_include_dirs" ]
public = [
@@ -37,7 +39,7 @@ pw_source_set("headers") {
}
pw_source_set("pico_platform") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
+ public_configs = [ "${PICO_ROOT}/gn:disable_warnings" ]
public_deps = [ ":headers" ]
deps = [ "${PICO_ROOT}/src/rp2_common/hardware_base" ]
sources = [ "${_CWD}/platform.c" ]
diff --git a/third_party/pico_sdk/src/rp2_common/pico_printf/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_printf/BUILD.gn
index 00453c48b..a159a2fd6 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_printf/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_printf/BUILD.gn
@@ -34,8 +34,10 @@ pw_source_set("pico_printf_none") {
}
pw_source_set("pico_printf") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/common/pico_base" ]
deps = [ "${PICO_ROOT}/src/rp2_common/pico_platform" ]
public = [ "${_CWD}/include/pico/printf.h" ]
diff --git a/third_party/pico_sdk/src/rp2_common/pico_runtime/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_runtime/BUILD.gn
index f0c42c69e..134c1de23 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_runtime/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_runtime/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_runtime") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
deps = [
"${PICO_ROOT}/src/common/pico_base",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_standard_link/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_standard_link/BUILD.gn
index 457f93d8e..654c34baa 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_standard_link/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_standard_link/BUILD.gn
@@ -29,7 +29,7 @@ config("linker_script") {
}
pw_source_set("pico_standard_link") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
+ public_configs = [ "${PICO_ROOT}/gn:disable_warnings" ]
all_dependent_configs = [ ":linker_script" ]
inputs = [ "${_CWD}/memmap_default.ld" ]
deps = [
diff --git a/third_party/pico_sdk/src/rp2_common/pico_stdio/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_stdio/BUILD.gn
index 38e2c69ca..f58d518ed 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_stdio/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_stdio/BUILD.gn
@@ -25,6 +25,7 @@ import("${PICO_ROOT}/src/common/pico_stdlib/pico_stdio.gni")
config("public_include_dirs") {
include_dirs = [ "${_CWD}/include" ]
+ defines = [ "${PICO_STDIO}=1" ]
}
config("printf_wrappers") {
@@ -40,8 +41,10 @@ config("printf_wrappers") {
# TODO(amontanez): This is definitely a facade. For now, just have header and
# header+impl build targets to simulate.
pw_source_set("headers") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_base",
"${PICO_ROOT}/src/rp2_common/pico_platform",
@@ -54,7 +57,7 @@ pw_source_set("headers") {
}
pw_source_set("pico_stdio") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
+ public_configs = [ "${PICO_ROOT}/gn:disable_warnings" ]
all_dependent_configs = [ ":printf_wrappers" ]
public_deps = [ ":headers" ]
deps = [
@@ -70,4 +73,7 @@ pw_source_set("pico_stdio") {
deps += [ "${PICO_ROOT}/src/rp2_common/pico_stdio_semihosting" ]
}
sources = [ "${_CWD}/stdio.c" ]
+
+ # Due to disabling CRLF support.
+ cflags = [ "-Wno-unused-parameter" ]
}
diff --git a/third_party/pico_sdk/src/rp2_common/pico_stdio_semihosting/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_stdio_semihosting/BUILD.gn
index 5590ad224..a41941b74 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_stdio_semihosting/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_stdio_semihosting/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_stdio_semihosting") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/rp2_common/pico_stdio:headers" ]
deps = [ "${PICO_ROOT}/src/common/pico_binary_info" ]
public = [ "${_CWD}/include/pico/stdio_semihosting.h" ]
diff --git a/third_party/pico_sdk/src/rp2_common/pico_stdio_uart/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_stdio_uart/BUILD.gn
index 788a0de14..c4ca7a24a 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_stdio_uart/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_stdio_uart/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_stdio_uart") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/rp2_common/hardware_uart",
"${PICO_ROOT}/src/rp2_common/pico_stdio:headers",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_stdio_usb/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_stdio_usb/BUILD.gn
index 30a3434d7..4bb51c5c3 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_stdio_usb/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_stdio_usb/BUILD.gn
@@ -25,28 +25,47 @@ config("public_include_dirs") {
include_dirs = [ "${_CWD}/include" ]
}
-pw_source_set("pico_stdio_usb") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
+pw_source_set("tusb_config") {
public_configs = [ ":public_include_dirs" ]
+ public = [ "${_CWD}/include/tusb_config.h" ]
+ visibility = [
+ ":pico_stdio_usb",
+ "${PICO_ROOT}/src/rp2_common/tinyusb",
+ ]
+}
+
+pw_source_set("pico_stdio_usb") {
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [
"${PICO_ROOT}/src/common/pico_usb_reset_interface",
"${PICO_ROOT}/src/rp2_common/pico_stdio:headers",
]
deps = [
+ ":tusb_config",
+ "${PICO_ROOT}/src/common/pico_binary_info",
"${PICO_ROOT}/src/common/pico_sync",
"${PICO_ROOT}/src/common/pico_time",
"${PICO_ROOT}/src/rp2_common/hardware_irq",
+ "${PICO_ROOT}/src/rp2_common/hardware_watchdog",
+ "${PICO_ROOT}/src/rp2_common/pico_bootrom",
+ "${PICO_ROOT}/src/rp2_common/pico_unique_id",
+ "${PICO_ROOT}/src/rp2_common/tinyusb",
]
- # TODO(amontanez): Still needs a dependency on tinyusb.
public = [
"${_CWD}/include/pico/stdio_usb.h",
"${_CWD}/include/pico/stdio_usb/reset_interface.h",
- "${_CWD}/include/tusb_config.h",
]
sources = [
"${_CWD}/reset_interface.c",
"${_CWD}/stdio_usb.c",
"${_CWD}/stdio_usb_descriptors.c",
]
+ allow_circular_includes_from = [
+ "${PICO_ROOT}/src/rp2_common/tinyusb",
+ ":tusb_config",
+ ]
}
diff --git a/third_party/pico_sdk/src/rp2_common/pico_stdlib/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_stdlib/BUILD.gn
index 448d1d758..aca0c9eb7 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_stdlib/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_stdlib/BUILD.gn
@@ -24,7 +24,7 @@ _CWD = "${PICO_SRC_DIR}/src/rp2_common/pico_stdlib"
import("${PICO_ROOT}/src/common/pico_stdlib/pico_stdio.gni")
pw_source_set("pico_stdlib") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
+ public_configs = [ "${PICO_ROOT}/gn:disable_warnings" ]
deps = [
"${PICO_ROOT}/src/common/pico_stdlib:headers",
"${PICO_ROOT}/src/rp2_common/hardware_clocks",
diff --git a/third_party/pico_sdk/src/rp2_common/pico_unique_id/BUILD.gn b/third_party/pico_sdk/src/rp2_common/pico_unique_id/BUILD.gn
index a3f7b5750..c74f108e0 100644
--- a/third_party/pico_sdk/src/rp2_common/pico_unique_id/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/pico_unique_id/BUILD.gn
@@ -26,8 +26,10 @@ config("public_include_dirs") {
}
pw_source_set("pico_unique_id") {
- remove_configs = [ "$dir_pw_build:strict_warnings" ]
- public_configs = [ ":public_include_dirs" ]
+ public_configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/gn:disable_warnings",
+ ]
public_deps = [ "${PICO_ROOT}/src/common/pico_base" ]
deps = [ "${PICO_ROOT}/src/rp2_common/hardware_flash" ]
public = [ "${_CWD}/include/pico/unique_id.h" ]
diff --git a/third_party/pico_sdk/src/rp2_common/tinyusb/BUILD.gn b/third_party/pico_sdk/src/rp2_common/tinyusb/BUILD.gn
index 32680d51a..fa1ee3360 100644
--- a/third_party/pico_sdk/src/rp2_common/tinyusb/BUILD.gn
+++ b/third_party/pico_sdk/src/rp2_common/tinyusb/BUILD.gn
@@ -12,4 +12,98 @@
# License for the specific language governing permissions and limitations under
# the License.
-# TODO(amontanez): Build shim for TinyUSB
+import("//build_overrides/pi_pico.gni")
+import("//build_overrides/pigweed.gni")
+
+import("$dir_pw_build/target_types.gni")
+
+config("public_include_dirs") {
+ include_dirs = [ "${PICO_SRC_DIR}/lib/tinyusb/src" ]
+}
+
+config("tinyusb_defines") {
+ defines = [
+ "CFG_TUSB_DEBUG=0",
+ "CFG_TUSB_MCU=OPT_MCU_RP2040",
+ "CFG_TUSB_OS=OPT_OS_PICO",
+ ]
+}
+
+config("silence_errors") {
+ cflags = [
+ "-Wno-cast-qual",
+ "-Wno-strict-prototypes",
+ ]
+}
+
+# This creates a circular dependency on pico_stdlib, so we have to be messy
+# about grabbing the right dependencies.
+pw_source_set("bsp") {
+ remove_configs = [ "$dir_pw_build:strict_warnings" ]
+ configs = [
+ ":public_include_dirs",
+ "${PICO_ROOT}/src/common/pico_stdlib:public_include_dirs",
+ "${PICO_ROOT}/src/rp2_common/pico_stdio_usb:public_include_dirs",
+ ]
+ include_dirs = [ "${PICO_SRC_DIR}/lib/tinyusb/hw" ]
+ deps = [
+ "${PICO_ROOT}/src/common/pico_base",
+ "${PICO_ROOT}/src/common/pico_binary_info",
+ "${PICO_ROOT}/src/common/pico_time",
+ "${PICO_ROOT}/src/rp2_common/hardware_gpio",
+ "${PICO_ROOT}/src/rp2_common/hardware_sync",
+ "${PICO_ROOT}/src/rp2_common/hardware_uart",
+ "${PICO_ROOT}/src/rp2_common/pico_stdio:headers",
+ ]
+ sources = [
+ "${PICO_SRC_DIR}/lib/tinyusb/hw/bsp/board.h",
+ "${PICO_SRC_DIR}/lib/tinyusb/hw/bsp/rp2040/family.c",
+ ]
+ visibility = [
+ ":tinyusb",
+ "${PICO_ROOT}/src/common/pico_stdlib:headers",
+ ]
+}
+
+pw_source_set("tinyusb") {
+ configs = [
+ "${PICO_ROOT}/gn:disable_warnings",
+ ":silence_errors",
+ ]
+ public_configs = [
+ ":public_include_dirs",
+ ":tinyusb_defines",
+ ]
+ public_deps = [
+ "${PICO_ROOT}/src/common/pico_sync",
+ "${PICO_ROOT}/src/common/pico_time:headers",
+ "${PICO_ROOT}/src/rp2_common/hardware_irq",
+ "${PICO_ROOT}/src/rp2_common/hardware_resets",
+ "${PICO_ROOT}/src/rp2_common/pico_fix/rp2040_usb_device_enumeration",
+ "${PICO_ROOT}/src/rp2_common/pico_stdio:headers",
+ "${PICO_ROOT}/src/rp2_common/pico_stdio_usb:tusb_config",
+ ]
+ deps = [ ":bsp" ]
+ public = [ "${PICO_SRC_DIR}/lib/tinyusb/src/tusb.h" ]
+ sources = [
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/audio/audio_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/cdc/cdc_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/dfu/dfu_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/dfu/dfu_rt_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/hid/hid_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/midi/midi_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/msc/msc_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/net/ecm_rndis_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/net/ncm_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/usbtmc/usbtmc_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/vendor/vendor_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/class/video/video_device.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/common/tusb_fifo.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/device/usbd.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/device/usbd_control.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/portable/raspberrypi/rp2040/dcd_rp2040.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/portable/raspberrypi/rp2040/rp2040_usb.c",
+ "${PICO_SRC_DIR}/lib/tinyusb/src/tusb.c",
+ ]
+ allow_circular_includes_from = [ ":bsp" ]
+}