Message ID | 20210724190449.221894-1-cbranchereau@gmail.com |
---|---|
Headers | show |
Series | iio/adc: ingenic: add support for the JZ4760(B) Socs to the ingenic sadc driver | expand |
Hi Christophe, Le sam., juil. 24 2021 at 21:04:45 +0200, Christophe Branchereau <cbranchereau@gmail.com> a écrit : > The jz4760(b) socs have 3 aux channels. > > The purpose of has_aux2 is to set the MD bits used to select > the AUX channel to be sampled, not to describe the hardware. > > Rename it to a more appropriate name. > > Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Cheers, -Paul > --- > drivers/iio/adc/ingenic-adc.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/iio/adc/ingenic-adc.c > b/drivers/iio/adc/ingenic-adc.c > index 34c03a264f74..40f2d8c2cf72 100644 > --- a/drivers/iio/adc/ingenic-adc.c > +++ b/drivers/iio/adc/ingenic-adc.c > @@ -92,7 +92,7 @@ struct ingenic_adc_soc_data { > const int *battery_scale_avail; > size_t battery_scale_avail_size; > unsigned int battery_vref_mode: 1; > - unsigned int has_aux2: 1; > + unsigned int has_aux_md: 1; > const struct iio_chan_spec *channels; > unsigned int num_channels; > int (*init_clk_div)(struct device *dev, struct ingenic_adc *adc); > @@ -506,7 +506,7 @@ static const struct ingenic_adc_soc_data > jz4725b_adc_soc_data = { > .battery_scale_avail = jz4725b_adc_battery_scale_avail, > .battery_scale_avail_size = > ARRAY_SIZE(jz4725b_adc_battery_scale_avail), > .battery_vref_mode = true, > - .has_aux2 = false, > + .has_aux_md = false, > .channels = jz4740_channels, > .num_channels = ARRAY_SIZE(jz4740_channels), > .init_clk_div = jz4725b_adc_init_clk_div, > @@ -520,7 +520,7 @@ static const struct ingenic_adc_soc_data > jz4740_adc_soc_data = { > .battery_scale_avail = jz4740_adc_battery_scale_avail, > .battery_scale_avail_size = > ARRAY_SIZE(jz4740_adc_battery_scale_avail), > .battery_vref_mode = true, > - .has_aux2 = false, > + .has_aux_md = false, > .channels = jz4740_channels, > .num_channels = ARRAY_SIZE(jz4740_channels), > .init_clk_div = NULL, /* no ADCLK register on JZ4740 */ > @@ -534,7 +534,7 @@ static const struct ingenic_adc_soc_data > jz4770_adc_soc_data = { > .battery_scale_avail = jz4770_adc_battery_scale_avail, > .battery_scale_avail_size = > ARRAY_SIZE(jz4770_adc_battery_scale_avail), > .battery_vref_mode = false, > - .has_aux2 = true, > + .has_aux_md = true, > .channels = jz4770_channels, > .num_channels = ARRAY_SIZE(jz4770_channels), > .init_clk_div = jz4770_adc_init_clk_div, > @@ -581,7 +581,7 @@ static int ingenic_adc_read_chan_info_raw(struct > iio_dev *iio_dev, > > /* We cannot sample AUX/AUX2 in parallel. */ > mutex_lock(&adc->aux_lock); > - if (adc->soc_data->has_aux2 && engine == 0) { > + if (adc->soc_data->has_aux_md && engine == 0) { > bit = BIT(chan->channel == INGENIC_ADC_AUX2); > ingenic_adc_set_config(adc, JZ_ADC_REG_CFG_AUX_MD, bit); > } > -- > 2.30.2 >
Le sam., juil. 24 2021 at 21:04:46 +0200, Christophe Branchereau <cbranchereau@gmail.com> a écrit : > The JZ4760(B) socs have 3 AUX inputs, add an entry to prepare > including the one named AUX in the sadc driver. > Leaving the rest untouched as it's ABI. > > Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com> Reviewed-by: Paul Cercueil <paul@crapouillou.net> Cheers, -Paul > --- > include/dt-bindings/iio/adc/ingenic,adc.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/dt-bindings/iio/adc/ingenic,adc.h > b/include/dt-bindings/iio/adc/ingenic,adc.h > index 4627a00e369e..a6ccc031635b 100644 > --- a/include/dt-bindings/iio/adc/ingenic,adc.h > +++ b/include/dt-bindings/iio/adc/ingenic,adc.h > @@ -13,5 +13,6 @@ > #define INGENIC_ADC_TOUCH_YN 6 > #define INGENIC_ADC_TOUCH_XD 7 > #define INGENIC_ADC_TOUCH_YD 8 > +#define INGENIC_ADC_AUX0 9 > > #endif > -- > 2.30.2 >
Hi Christophe, Le sam., juil. 24 2021 at 21:04:49 +0200, Christophe Branchereau <cbranchereau@gmail.com> a écrit : > Add both the jz4760 and jz4760b, plus a property to use the internal > divider on the b variant and document it. > > Signed-off-by: Christophe Branchereau <cbranchereau@gmail.com> Looks good. Reviewed-by: Paul Cercueil <paul@crapouillou.net> > --- > .../bindings/iio/adc/ingenic,adc.yaml | 19 > +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git > a/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml > b/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml > index 433a3fb55a2e..3eb7aa8822c3 100644 > --- a/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml > +++ b/Documentation/devicetree/bindings/iio/adc/ingenic,adc.yaml > @@ -23,6 +23,8 @@ properties: > enum: > - ingenic,jz4725b-adc > - ingenic,jz4740-adc > + - ingenic,jz4760-adc > + - ingenic,jz4760b-adc > - ingenic,jz4770-adc > > '#io-channel-cells': > @@ -43,6 +45,23 @@ properties: > interrupts: > maxItems: 1 > > + ingenic,use-internal-divider: > + description: > + If present, battery voltage is read from the VBAT_IR pin, > which has an > + internal 1/4 divider. If absent, it is read through the > VBAT_ER pin, > + which does not have such a divider. > + type: boolean > + > +if: > + not: > + properties: > + compatible: > + contains: > + const: ingenic,jz4760b-adc > +then: > + properties: > + ingenic,use-internal-divider: false > + > required: > - compatible > - '#io-channel-cells' > -- > 2.30.2 >
On Sat, 24 Jul 2021 21:04:44 +0200 Christophe Branchereau <cbranchereau@gmail.com> wrote: > This is a set of patches to add support to the JZ4760(B) socs found in numerous gaming handhelds and some > mp3 players to the ingenic-sadc driver. > > Changelog for this v3: > - Minor formatting change in ingenic-adc.c to remain within 80 lines > - Correctly set the ingenic,use-internal-divider property in the Documentation so it cannot be used on other > socs than the jz4760b, and modify the description as requested. > > Thanks to Paul and Jonathan for their help You are welcome. Other than Paul's question on the missing entry in patch 4, these look good to me. We should leave a bit of time for others to review but otherwise once that's resolved I'll pick them up. Thanks, Jonathan > > Christophe Branchereau (5): > iio/adc: ingenic: rename has_aux2 to has_aux_md > dt-bindings: iio/adc: add an INGENIC_ADC_AUX0 entry > iio/adc: ingenic: add JZ4760 support to the sadc driver > iio/adc: ingenic: add JZ4760B support to the sadc driver > dt-bindings: iio/adc: ingenic: add the JZ4760(B) socs to the sadc > Documentation > > .../bindings/iio/adc/ingenic,adc.yaml | 19 ++++ > drivers/iio/adc/ingenic-adc.c | 101 ++++++++++++++++-- > include/dt-bindings/iio/adc/ingenic,adc.h | 1 + > 3 files changed, 112 insertions(+), 9 deletions(-) >