.../bindings/iio/adc/sophgo,cv1800b-saradc.yaml | 83 ++++++++ arch/riscv/boot/dts/sophgo/cv18xx.dtsi | 22 +++ drivers/iio/adc/Kconfig | 10 + drivers/iio/adc/Makefile | 1 + drivers/iio/adc/sophgo-cv1800b-adc.c | 218 +++++++++++++++++++++ 5 files changed, 334 insertions(+)
This patchset adds initial ADC support for Sophgo CV18XX series SoC. This driver can
work with or without interrupt.
Link: https://github.com/sophgo/sophgo-doc/releases/download/sg2002-trm-v1.0/sg2002_trm_en.pdf
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
---
Changes in v5:
- Add the ability to read the sample frequency
- Edit commit message to remove No-Die reference and add precision on
the ADC series
- Rename binding and driver file to match compatible
- Reformat the channel property in the binding
- Clean driver code
- Link to v4: https://lore.kernel.org/r/20240812-sg2002-adc-v4-0-599bdb67592f@bootlin.com
Changes in v4:
- Lowercase register hexadecimal value in dts
- Reorder properties in dts
- Use only a const in the compatible property of the device tree bindings
- Specify the series of SoC in the driver to avoid confusing with other
Sophgo SoCs
- Add channel description in the bindings
- Use FIELD_PREP in the default configuration
- Index channels from 0
- Return PTR_ERR instead of IS_ERR
- Link to v3: https://lore.kernel.org/r/20240731-sg2002-adc-v3-0-5ac40a518c0a@bootlin.com
Changes in v3:
- Subdivide default cycle configuration into multiple elementary
configurations
- Fix formatting in the driver
- Use devm_mutex_init
- Use devm_clk_get_enabled now because the clock is no more optional
- Remove handling of Saradc in No-Die Domain as RTC isn't implemented yet
- Use cv1800-saradc as default compatible instead of a wildcard
- Remove platform_set_drvdata as it wasn't used
- Link to v2: https://lore.kernel.org/r/20240705-sg2002-adc-v2-0-83428c20a9b2@bootlin.com
Changes in v2:
- Drop modifications in MAINTAINERS file
- Rename the ADC from "sophgo-adc" to "sophgo-cv18xx-adc" to avoid
conflict with ADCs available in future Sophgo SoCs.
- Reorder nodes in DT to match DTS coding style
- Switch from including <linux/of.h> to <linux/mod_devicetable.h>
- Use scoped_guard instead of mutex_lock/unlock
- Check IRQ Status in the handler
- Change IIO device name
- Use devm_clk_get_optional_enabled instead of a clock variable
- Init completion before the IRQ request
- Removed unnecessary iio_info structure in the private data of the
driver
- Use SoC specific compatible in the bindings and device trees
- Link to v1: https://lore.kernel.org/r/20240702-sg2002-adc-v1-0-ac66e076a756@bootlin.com
---
Thomas Bonnefille (3):
dt-bindings: iio: adc: sophgo,cv1800b-saradc: Add Sophgo CV1800B SARADC
iio: adc: sophgo-saradc: Add driver for Sophgo CV1800B SARADC
riscv: dts: sophgo: Add SARADC description for Sophgo CV1800B
.../bindings/iio/adc/sophgo,cv1800b-saradc.yaml | 83 ++++++++
arch/riscv/boot/dts/sophgo/cv18xx.dtsi | 22 +++
drivers/iio/adc/Kconfig | 10 +
drivers/iio/adc/Makefile | 1 +
drivers/iio/adc/sophgo-cv1800b-adc.c | 218 +++++++++++++++++++++
5 files changed, 334 insertions(+)
---
base-commit: 5be63fc19fcaa4c236b307420483578a56986a37
change-id: 20240527-sg2002-adc-924b862cd3f2
Best regards,
--
Thomas Bonnefille <thomas.bonnefille@bootlin.com>
On Thu, 29 Aug 2024 14:31:49 +0200 Thomas Bonnefille <thomas.bonnefille@bootlin.com> wrote: > This patchset adds initial ADC support for Sophgo CV18XX series SoC. This driver can > work with or without interrupt. > > Link: https://github.com/sophgo/sophgo-doc/releases/download/sg2002-trm-v1.0/sg2002_trm_en.pdf > > Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com> Applied patches 1 and 2 to the togreg branch of iio.git. Currently that's just pushed out as testing because I want to rebase shortly to get some usptream fixes needed for other series. Thanks, Jonathan > --- > Changes in v5: > - Add the ability to read the sample frequency > - Edit commit message to remove No-Die reference and add precision on > the ADC series > - Rename binding and driver file to match compatible > - Reformat the channel property in the binding > - Clean driver code > - Link to v4: https://lore.kernel.org/r/20240812-sg2002-adc-v4-0-599bdb67592f@bootlin.com > > Changes in v4: > - Lowercase register hexadecimal value in dts > - Reorder properties in dts > - Use only a const in the compatible property of the device tree bindings > - Specify the series of SoC in the driver to avoid confusing with other > Sophgo SoCs > - Add channel description in the bindings > - Use FIELD_PREP in the default configuration > - Index channels from 0 > - Return PTR_ERR instead of IS_ERR > - Link to v3: https://lore.kernel.org/r/20240731-sg2002-adc-v3-0-5ac40a518c0a@bootlin.com > > Changes in v3: > - Subdivide default cycle configuration into multiple elementary > configurations > - Fix formatting in the driver > - Use devm_mutex_init > - Use devm_clk_get_enabled now because the clock is no more optional > - Remove handling of Saradc in No-Die Domain as RTC isn't implemented yet > - Use cv1800-saradc as default compatible instead of a wildcard > - Remove platform_set_drvdata as it wasn't used > - Link to v2: https://lore.kernel.org/r/20240705-sg2002-adc-v2-0-83428c20a9b2@bootlin.com > > Changes in v2: > - Drop modifications in MAINTAINERS file > - Rename the ADC from "sophgo-adc" to "sophgo-cv18xx-adc" to avoid > conflict with ADCs available in future Sophgo SoCs. > - Reorder nodes in DT to match DTS coding style > - Switch from including <linux/of.h> to <linux/mod_devicetable.h> > - Use scoped_guard instead of mutex_lock/unlock > - Check IRQ Status in the handler > - Change IIO device name > - Use devm_clk_get_optional_enabled instead of a clock variable > - Init completion before the IRQ request > - Removed unnecessary iio_info structure in the private data of the > driver > - Use SoC specific compatible in the bindings and device trees > - Link to v1: https://lore.kernel.org/r/20240702-sg2002-adc-v1-0-ac66e076a756@bootlin.com > > --- > Thomas Bonnefille (3): > dt-bindings: iio: adc: sophgo,cv1800b-saradc: Add Sophgo CV1800B SARADC > iio: adc: sophgo-saradc: Add driver for Sophgo CV1800B SARADC > riscv: dts: sophgo: Add SARADC description for Sophgo CV1800B > > .../bindings/iio/adc/sophgo,cv1800b-saradc.yaml | 83 ++++++++ > arch/riscv/boot/dts/sophgo/cv18xx.dtsi | 22 +++ > drivers/iio/adc/Kconfig | 10 + > drivers/iio/adc/Makefile | 1 + > drivers/iio/adc/sophgo-cv1800b-adc.c | 218 +++++++++++++++++++++ > 5 files changed, 334 insertions(+) > --- > base-commit: 5be63fc19fcaa4c236b307420483578a56986a37 > change-id: 20240527-sg2002-adc-924b862cd3f2 > > Best regards,
On Thu, 29 Aug 2024 14:31:49 +0200, Thomas Bonnefille wrote:
> This patchset adds initial ADC support for Sophgo CV18XX series SoC. This driver can
> work with or without interrupt.
>
> Link: https://github.com/sophgo/sophgo-doc/releases/download/sg2002-trm-v1.0/sg2002_trm_en.pdf
>
>
Applied to for-next, thanks!
[3/3] riscv: dts: sophgo: Add SARADC description for Sophgo CV1800B
https://github.com/sophgo/linux/commit/45a544a62ef7cac9ecc69585a90da72ca68af898
Thanks,
Inochi
© 2016 - 2026 Red Hat, Inc.