On 19/04/2022 22:39, Bjorn Andersson wrote:
On Mon 18 Apr 20:09 CDT 2022, Bryan O'Donoghue wrote:
+ wcnss_pin_antennae: wcnss_pin_antennae {
+ pinmux {
+ pins = "gpio1", "gpio2";
+ };
+ pinconf {
+ pins = "gpio1", "gpio2";
+ function = PMIC_GPIO_FUNC_NORMAL;
+ output-high;
Could it be that gpio1 and 2 control two power supplies for two antennas
and that this should have been represented as regulators instead?
Those are the GPIOs responsible for switching between antenna
Off-topic:
When doing antenna diversity switching the WCNSS firmware owns these two
GPIOs.
The rough algorithm is
for (i = 0; i < 2; i++)
- Switch GPIO[i]
- Send a probe to the WiFi AP
- Wait for a response
- Measure the RSSI
Then decide which antenna has the better signal strength. So actually
WCNSS owns these two pins.
I have an evil plan to implement ieee80211_ops::get_antenna() in the future.
In theory all we have to do is read the GPIOs inside the callback.
+ pm8916_l6: l6 {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on; /* copy from v3.10 */
Can you do better than "copy from v3.10"?
Sure. I'll put in a comment why.
---
bod