Update Rp2040DigitalInOut API for polarity

Manually update both pigweed submodules as well.

Bug: 303255049
Change-Id: I369a0e0df7d64c54cd3ae9bb2fb2cd2dd282c262
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/kudzu/+/191510
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
Pigweed-Auto-Submit: Anthony DiGirolamo <tonymd@google.com>
Commit-Queue: Auto-Submit <auto-submit@pigweed-service-accounts.iam.gserviceaccount.com>
Reviewed-by: Erik Gilling <konkers@google.com>
diff --git a/applications/app_common_impl/common_pico.cc b/applications/app_common_impl/common_pico.cc
index 0e1c43a..582e48e 100644
--- a/applications/app_common_impl/common_pico.cc
+++ b/applications/app_common_impl/common_pico.cc
@@ -62,6 +62,7 @@
 using Touchscreen = pw::touchscreen::TouchscreenFT6236;
 
 using pw::Status;
+using pw::digital_io::Rp2040Config;
 using pw::digital_io::Rp2040DigitalIn;
 using pw::digital_io::Rp2040DigitalInOut;
 using pw::display::Display;
@@ -118,14 +119,28 @@
     .bit_order = pw::spi::BitOrder::kMsbFirst,
 };
 
-Rp2040DigitalInOut s_display_dc_pin(DISPLAY_DC_GPIO);
+// TODO(tonymd): Determine the correct polarity and update the these modules:
+// pw_spi_rp2040 and pw_pixel_pusher_rp2040_pio
+Rp2040DigitalInOut s_display_dc_pin({
+    .pin = DISPLAY_DC_GPIO,
+    .polarity = pw::digital_io::Polarity::kActiveHigh,
+});
 #if DISPLAY_RESET_GPIO != -1
-Rp2040DigitalInOut s_display_reset_pin(DISPLAY_RESET_GPIO);
+Rp2040DigitalInOut s_display_reset_pin({
+    .pin = DISPLAY_RESET_GPIO,
+    .polarity = pw::digital_io::Polarity::kActiveHigh,
+});
 #endif
 #if DISPLAY_TE_GPIO != -1
-Rp2040DigitalIn s_display_tear_effect_pin(DISPLAY_TE_GPIO);
+Rp2040DigitalIn s_display_tear_effect_pin({
+    .pin = DISPLAY_TE_GPIO,
+    .polarity = pw::digital_io::Polarity::kActiveHigh,
+});
 #endif
-Rp2040DigitalInOut s_display_cs_pin(DISPLAY_CS_GPIO);
+Rp2040DigitalInOut s_display_cs_pin({
+    .pin = DISPLAY_CS_GPIO,
+    .polarity = pw::digital_io::Polarity::kActiveHigh,
+});
 PicoChipSelector s_spi_chip_selector(s_display_cs_pin);
 PicoInitiator s_spi_initiator(SPI_PORT);
 VirtualMutex s_spi_initiator_mutex;
@@ -247,8 +262,14 @@
     kTouchscreenThreadStackWords>
     touchscreen_thread_context;
 
-Rp2040DigitalInOut s_io_reset_n(10);
-Rp2040DigitalInOut s_imu_fsync(13);
+Rp2040DigitalInOut s_io_reset_n({
+    .pin = 10,
+    .polarity = pw::digital_io::Polarity::kActiveHigh,
+});
+Rp2040DigitalInOut s_imu_fsync({
+    .pin = 10,
+    .polarity = pw::digital_io::Polarity::kActiveHigh,
+});
 
 }  // namespace
 
diff --git a/third_party/pigweed b/third_party/pigweed
index 59c0c14..4f06563 160000
--- a/third_party/pigweed
+++ b/third_party/pigweed
@@ -1 +1 @@
-Subproject commit 59c0c141e8dab8961ad5d0fbbcacdd9aa832121e
+Subproject commit 4f06563df2b20883671d45ebda87e03f0fe6aa1a
diff --git a/third_party/pigweed-experimental b/third_party/pigweed-experimental
index d8463cf..d997908 160000
--- a/third_party/pigweed-experimental
+++ b/third_party/pigweed-experimental
@@ -1 +1 @@
-Subproject commit d8463cfdd0bd9dc21fc338ce25c3cc710e204b55
+Subproject commit d9979080cadf230ca7037066dd2c0df37a0004eb