Skip to content

drivers: add UnoQ CBUS control backend - #102

Open
abelvesa wants to merge 1 commit into
linux-msm:masterfrom
abelvesa:unoq-support
Open

abelvesa wants to merge 1 commit into
linux-msm:masterfrom
abelvesa:unoq-support

Conversation

@abelvesa

Copy link
Copy Markdown

Add a dedicated control backend for Arduino UnoQ boards using FTDI CBUS pins
for power and EDL control.

The existing FTDI GPIO backend is not suitable for this board because it uses
normal FTDI bitbang GPIO through libftdi. That path opens/claims the FTDI
interface, configures bitbang mode, and writes GPIO data through the interface.
On UnoQ, the CBUS controls share the same FTDI device as the serial console, so
claiming or resetting the interface would interfere with the kernel FTDI serial
driver and disturb the console.

This backend instead issues endpoint-zero FTDI vendor requests to set CBUS
bitmode/output state. That allows CDBA to control power and EDL without
detaching the serial driver or disrupting the console.

The driver also documents the FTDI request detail that SIO_SET_BITMODE uses
one-based interface numbering, so interface A is addressed as wIndex 1.

Includes:

  • UnoQ control backend
  • YAML parser/schema support
  • build integration
  • README and sample configuration

Add a dedicated UnoQ control backend for power and EDL control through
FTDI CBUS pins.

The existing FTDI GPIO backend uses normal bitbang GPIO and opens the FTDI
interface through libftdi.  That is not suitable for UnoQ because the CBUS
controls share the FTDI device with the serial console; claiming or resetting
the interface would disturb the console handled by the kernel FTDI serial
driver.

Use endpoint-zero SIO_SET_BITMODE vendor requests instead.  This allows the
CBUS bitmode/output state to be changed without detaching the serial driver.
Document that the request uses one-based FTDI interface numbering, with
interface A addressed as wIndex 1.

Assisted-by: LLM
Signed-off-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant