Skip to content

Pico-W and Pico2-W GPIO Driver not reliably working due to missing second parameter #117115

Description

@Snap-A

Describe the bug

The GPIO driver for the CYW43439 device can control the LED attached to GPIO-0, but when doing so the LED is not consistently set to the requested state.

This seems due to only providing a single value to the WHD driver that uses the "gpioout" 'iovar' command. The actual number of parameters seems to be two: A mask and a value. See this dicussion

I changed the driver code to set those two parameters and this showed a consistent behavior of the LED. The intention is to create a PR with these changes for discussion.

Regression

  • This is a regression.

Steps to reproduce

Steps to reproduce:
Compile and flash sample in Pico2-W

  1. west build -p always -b rpi_pico2/rp2350a/m33/w zephyr/samples/boards/raspberrypi/pico_w_wifi_led
  2. west flash --openocd <path to openocd>

Observe the serial output

[2994] WLAN MAC Address : 88:A2:9E:15:AD:74

[2996] WLAN Firmware    : wl0: Jun  5 2024 06:33:59 version 7.95.88 (cf1d613 CY) FWID 01-7b7cf51a

[3005] WLAN CLM         : API: 12.2 Data: 9.10.39 Compiler: 1.29.4 ClmImport: 1.36.3 Creation: 2024-04-16 21:20:55 

[3014] WHD VERSION      : 3.3.3.26653
[3017]  : WIFI5-v3.3.3
[3019]  : GCC 14.3
[3021]  : 2025-04-14 03:18:50 +0000
*** Booting Zephyr OS build ebc49dcf1c77 ***
Pico W WiFi + LED Demo
LED blinking started
Starting WiFi scan...
<Some AP listed here>
WiFi scan complete
Demo complete - LED continues blinking

Watch the LED and see that it is not following a regular pattern.

Relevant log output

N/A

Impact

Functional Limitation – Some features not working as expected, but system usable.

Environment

Found in main dev branch and it all releases since v4.4.0 when the driver was added.

Additional Context

No response

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions