Re: [PATCH 2/4] iio: adc: Add support for the Renesas RZ/N1 ADC
From: Wolfram Sang
Date: Fri Oct 17 2025 - 02:28:35 EST
Hi Herve,
On Wed, Oct 15, 2025 at 04:28:14PM +0200, Herve Codina (Schneider Electric) wrote:
> The Renesas RZ/N1 ADC controller is the ADC controller available in the
> Renesas RZ/N1 SoCs family. It can use up to two internal ACD cores (ADC1
ADC cores
> and ADC2) those internal cores are not directly accessed but are handled
> through ADC controller virtual channels.
>
> Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@xxxxxxxxxxx>
Very high level review.
> +/* ADC1 ADC2
> + * RZ/N1D, BGA 400 y y
> + * RZ/N1D, BGA 324 y n
> + * RZ/N1S, BGA 324 y n
> + * RZ/N1S, BGA 196 y n
> + * RZ/N1L, BGA 196 y n
> + */
I think this table can go. N1D is the only variant supported by Linux
because others have no SDRAM controller. Maybe a comment after the
copyright is helpful stating that the second ADC core is utilized when
the adc2-* bindings are supplied?
> +static void rzn1_adc_vc_setup_conversion(struct rzn1_adc *rzn1_adc, u32 ch,
> + int adc1_ch, int adc2_ch)
> +{
> + u32 vc = 0;
> +
> + if (adc1_ch != -1)
> + vc |= RZN1_ADC_VC_ADC1_ENABLE | RZN1_ADC_VC_ADC1_CHANNEL_SEL(adc1_ch);
> +
> + if (adc2_ch != -1)
> + vc |= RZN1_ADC_VC_ADC2_ENABLE | RZN1_ADC_VC_ADC2_CHANNEL_SEL(adc2_ch);
Are you open to either use an errno (maybe EACCES) or define something
custom (maybe RZN1_ADC_NO_CHANNEL) instead of hardcoded -1? I think I
like the latter a tad more.
Happy hacking,
Wolfram
Attachment:
signature.asc
Description: PGP signature