Message ID | 20210824115441.681253-1-eugen.hristev@microchip.com (mailing list archive) |
---|---|
Headers | show |
Series | iio: adc: at91-sama5d2_adc: add support for sama7g5 | expand |
On Tue, 24 Aug 2021 14:54:31 +0300 Eugen Hristev <eugen.hristev@microchip.com> wrote: > Hi, > > This series adds support for sama7g5. > > The sama7g5 is slightly different from sama5d2, but has the same basic > operations. The register map is a bit different, so, I added some primitives > to differentiate between the two classes of hardware blocks (sama5d2-sam9x60 > and sama7g5). > > Sama7g5 has 16 channels ADC, no resistive touch, and extra features > (FIFOs, better oversampling , not implemented yet). > > It is a rework of the series initially sent here: > https://marc.info/?l=linux-iio&m=161461656807826&w=2 > > I reworked this according to review by Jonathan, meaning that first I created > a no-op patch that will convert the driver to a more platform specific data > dedicated type of driver. This adds various structures that hold things like > register layout and channel information. > After this I created few patches that implement the main differences between > sama7g5 and older products: the end-of-conversion new register. I added > helper functions to make code more easy to read and more simple. > One the last patches adds the layout and channels for sama7g5. > At this moment in linux-next, the DT for sama7g5 and sama7g5ek is present, > and the last patches add and enable this node in DT for this board. > > Eugen 0-8 applied with the minor tweak mentioned in a reply to relevant patch. I'll assume 9-10 will got via normal soc related tree. Note that I'm queuing these up for the merge window after this one now (5.16). Thanks, Jonathan > > > > Eugen Hristev (10): > dt-bindings: iio: adc: at91-sama5d2: add compatible for sama7g5-adc > iio: adc: at91-sama5d2_adc: initialize hardware after clock is started > iio: adc: at91-sama5d2_adc: remove unused definition > iio: adc: at91-sama5d2_adc: convert to platform specific data > structures > iio: adc: at91-sama5d2-adc: add support for separate end of conversion > registers > iio: adc: at91-sama5d2_adc: add helper for COR register > iio: adc: at91-sama5d2_adc: add support for sama7g5 device > iio: adc: at91-sama5d2_adc: update copyright and authors information > ARM: dts: at91: sama7g5: add node for the ADC > ARM: dts: at91: sama7g5ek: enable ADC on the board > > .../bindings/iio/adc/atmel,sama5d2-adc.yaml | 1 + > arch/arm/boot/dts/at91-sama7g5ek.dts | 8 + > arch/arm/boot/dts/sama7g5.dtsi | 16 + > drivers/iio/adc/at91-sama5d2_adc.c | 586 ++++++++++++------ > 4 files changed, 425 insertions(+), 186 deletions(-) >
On 30/08/2021 at 14:26, Jonathan Cameron wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Tue, 24 Aug 2021 14:54:31 +0300 > Eugen Hristev <eugen.hristev@microchip.com> wrote: > >> Hi, >> >> This series adds support for sama7g5. >> >> The sama7g5 is slightly different from sama5d2, but has the same basic >> operations. The register map is a bit different, so, I added some primitives >> to differentiate between the two classes of hardware blocks (sama5d2-sam9x60 >> and sama7g5). >> >> Sama7g5 has 16 channels ADC, no resistive touch, and extra features >> (FIFOs, better oversampling , not implemented yet). >> >> It is a rework of the series initially sent here: >> https://marc.info/?l=linux-iio&m=161461656807826&w=2 >> >> I reworked this according to review by Jonathan, meaning that first I created >> a no-op patch that will convert the driver to a more platform specific data >> dedicated type of driver. This adds various structures that hold things like >> register layout and channel information. >> After this I created few patches that implement the main differences between >> sama7g5 and older products: the end-of-conversion new register. I added >> helper functions to make code more easy to read and more simple. >> One the last patches adds the layout and channels for sama7g5. >> At this moment in linux-next, the DT for sama7g5 and sama7g5ek is present, >> and the last patches add and enable this node in DT for this board. >> >> Eugen > 0-8 applied with the minor tweak mentioned in a reply to relevant patch. > > I'll assume 9-10 will got via normal soc related tree. Yep, we'll take them through at91 -> arm-soc trees... > > Note that I'm queuing these up for the merge window after this one now > (5.16). Yes, soc/dt parts will be queued for 5.16 too. Thanks Eugen, thanks Jonathan, best regards, Nicolas >> Eugen Hristev (10): >> dt-bindings: iio: adc: at91-sama5d2: add compatible for sama7g5-adc >> iio: adc: at91-sama5d2_adc: initialize hardware after clock is started >> iio: adc: at91-sama5d2_adc: remove unused definition >> iio: adc: at91-sama5d2_adc: convert to platform specific data >> structures >> iio: adc: at91-sama5d2-adc: add support for separate end of conversion >> registers >> iio: adc: at91-sama5d2_adc: add helper for COR register >> iio: adc: at91-sama5d2_adc: add support for sama7g5 device >> iio: adc: at91-sama5d2_adc: update copyright and authors information >> ARM: dts: at91: sama7g5: add node for the ADC >> ARM: dts: at91: sama7g5ek: enable ADC on the board >> >> .../bindings/iio/adc/atmel,sama5d2-adc.yaml | 1 + >> arch/arm/boot/dts/at91-sama7g5ek.dts | 8 + >> arch/arm/boot/dts/sama7g5.dtsi | 16 + >> drivers/iio/adc/at91-sama5d2_adc.c | 586 ++++++++++++------ >> 4 files changed, 425 insertions(+), 186 deletions(-) >> >