Thread (9 messages) 9 messages, 5 authors, 2025-01-06

Re: [RFC PATCH v1 2/2] iio: adc: meson: add support for the GXLX SoC

From: Christian Hewitt <hidden>
Date: 2025-01-06 13:45:13
Also in: linux-amlogic, linux-devicetree, linux-iio, lkml

On 5 Jan 2025, at 7:49 pm, Martin Blumenstingl [off-list ref] wrote:

Hi Jonathan,

On Sat, Jan 4, 2025 at 2:59 PM Jonathan Cameron [off-list ref] wrote:
quoted
On Tue, 31 Dec 2024 20:42:07 +0100
Martin Blumenstingl [off-list ref] wrote:
quoted
The SARADC IP on the GXLX SoC itself is identical to the one found on
GXL SoCs. However, GXLX SoCs require poking the first three bits in the
MESON_SAR_ADC_REG12 register to get the three MPLL clocks (used as clock
generators for the audio frequencies) to work.

The reason why there are MPLL clock bits in the ADC register space is
entirely unknown and it seems that nobody is able to comment on this.
So clearly mark this as a workaround and add a warning so users are
notified that this workaround can change (once we know what these bits
actually do).
So IIUC this is to make some non ADC component work.
That's correct
quoted
How are you handling dependencies?  The ADC driver might not be loaded or
is there some reason it definitely is at the point where the audio driver
loads?
Unfortunately there are no dependencies at the moment.
To me it's not even 100% clear if those bits are a dependency for the
audio IP or if they are instead linked with the clock controller (more
background info: some of the MPLL clocks are - at least in theory, in
practice we don't use that - are also used as input for the Mali GPU
and video subsystem. The only practical usage that I'm aware of is the
audio controller).
In my testing it makes no difference to the audio driver when the adc
bit poke is done. The audio driver probes and loads and you can play
media without generating any visible errors. There’s just no audible
output on GXLX until the poke - it’s like hitting an un-mute button.

For the series:

Tested-by: Christian Hewitt <redacted>

Christian
Christian and I have both tried with all of our contacts at Amlogic
but did not get any answers.
If I knew the purpose of these bits I'd model them as whatever they
are (resets, clock gates, ...) and provide proper dt-bindings.


Best regards,
Martin

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help