HomeFreeBSD

Add GPIO function mux configuration for AR934x SoCs.

Description

Add GPIO function mux configuration for AR934x SoCs.

The AR934x (and maybe others in this family) have a more complicated
GPIO mux. The AR71xx just has a single function register for a handful
of "GPIO or X" options, however the AR934x allows for one of roughly
100 behaviours for each GPIO pin.

So, this adds a quick hints based mechanism to configure the output
functions, which is required for some of the more interesting board
configurations. Specifically, some use external LNAs to improve
RX, and without the MUX/output configured right, the 2GHz RX side
will be plain terrible.

It doesn't yet configure the "input" side yet; I'll add that if
it's required.

Tested:

  • TP-Link TL-WDR3600, testing 2GHz STA/AP modes, checking some basic RX sensitivity things (ie, "can I see the AP on the other side of the apartment that intentionally has poor signal reception from where I am right now.")

Whilst here, fix a silly bug in the maxpin routine; I was missing
a break.

Details

Provenance
adrianAuthored on
Parents
rS280314: add QCA955x PCIe configuration registers.
Branches
Unknown
Tags
Unknown

Event Timeline