Message ID | 20210901123013.329792-1-eugen.hristev@microchip.com (mailing list archive) |
---|---|
Headers | show |
Series | iio: adc: at91-sama5d2_adc: add support for sama7g5 | expand |
On Wed, 1 Sep 2021 15:30:03 +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 > > Changes in v3: > updates for the channel indexes ABI > minor nitpicks fixes > fixed krobot report v2 dropped, v3 1-8 applied to the togreg branch of iio.git and initially pushed out as testing for 0-day to poke at and to allow me to rebase after rc1 is available. Thanks, Jonathan > > > > Changes in v2: > > 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 > > > > 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 | 594 ++++++++++++------ > 4 files changed, 432 insertions(+), 187 deletions(-) >
On 05/09/2021 at 12:28, Jonathan Cameron wrote: > EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe > > On Wed, 1 Sep 2021 15:30:03 +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 >> >> Changes in v3: >> updates for the channel indexes ABI >> minor nitpicks fixes >> fixed krobot report > > v2 dropped, > v3 1-8 applied to the togreg branch of iio.git and initially pushed out as testing > for 0-day to poke at and to allow me to rebase after rc1 is available. v3 9-10 applied to the at91-dt branch for 5.16. It will go through the arm-soc tree. Thanks, best regards, Nicolas >> Changes in v2: >> >> 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 >> >> >> >> 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 | 594 ++++++++++++------ >> 4 files changed, 432 insertions(+), 187 deletions(-) >> >