In some cases, depending on system design, the MICBIAS pins on the chip are not needed as such, but a couple of extra GPIO pins would be useful. This patch allows the MICBIAS pins to be configured in the device tree as general purpose output pins, controlled via the GPIO framework. Owing to their originally intended purpose there are some limitations: when the MICBIAS pins are deactivated, they will float, so will likely need a pulldown in many applications. When activated, they will assume the voltage specified by the micbias1-vg and micbias2-vg properties, respectively, meaning that the resulting output voltage will be 2.0 V, 2.5 V or AVDD . Signed-off-by: Ricard Wanderlof <ricard.wanderlof@xxxxxxxx> --- Changes in v3: - Correct typos in property names in dependencies section - Add single quotes around properties in dependency lists (needed because the property names contain a comma) - Link to v2: https://lore.kernel.org/r/20240607-tlv320adc3xxx-micbias-gpo-v2-0-b140a45ffffe@xxxxxxxx Changes in v2: - Correct typo in yaml document for ti,micbias2-vg property reference - Add dependecies to yaml document for ti,micbias1-gio and ti,micbias2-gpo - Link to v1: https://lore.kernel.org/r/20240529-tlv320adc3xxx-micbias-gpo-v1-0-300d39cecc55@xxxxxxxx --- Ricard Wanderlof (2): ASoC: dt-bindings: tlv320adc3xxx: Add MICBIAS-as-GPO properties tlv320adc3xxx: Add support for using MICBIAS pins as GPO .../bindings/sound/ti,tlv320adc3xxx.yaml | 24 +++++ sound/soc/codecs/tlv320adc3xxx.c | 105 ++++++++++++++++----- 2 files changed, 108 insertions(+), 21 deletions(-) --- base-commit: 47d09270d7776e46858a161f94b735640b2fb056 change-id: 20240528-tlv320adc3xxx-micbias-gpo-b8b4d1c846d3 Best regards, -- -- Ricard Wolf Wanderlof ricardw(at)axis.com Axis Communications AB, Lund, Sweden www.axis.com Phone +46 46 272 2016 Fax +46 46 13 61 30