]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: adc: rockchip_saradc: Add support for RK3528
authorJonas Karlman <jonas@kwiboo.se>
Thu, 27 Feb 2025 18:40:51 +0000 (18:40 +0000)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Tue, 4 Mar 2025 14:45:33 +0000 (14:45 +0000)
The Successive Approximation ADC (SARADC) in RK3528 uses the v2
controller and support:
- 10-bit resolution
- Up to 1MS/s sampling rate
- 4 single-ended input channels
- Current consumption: 0.5mA @ 1MS/s

Add support for the 4 channels of 10-bit resolution supported by SARADC
in RK3528.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
Reviewed-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20250227184058.2964204-3-jonas@kwiboo.se
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/rockchip_saradc.c

index a29e54754c8fbbcf943b4452518577be676ebc4d..2619547d5d6ffa99e6e3f8817249de202d4830ed 100644 (file)
@@ -275,6 +275,21 @@ static const struct rockchip_saradc_data rk3399_saradc_data = {
        .power_down = rockchip_saradc_power_down_v1,
 };
 
+static const struct iio_chan_spec rockchip_rk3528_saradc_iio_channels[] = {
+       SARADC_CHANNEL(0, "adc0", 10),
+       SARADC_CHANNEL(1, "adc1", 10),
+       SARADC_CHANNEL(2, "adc2", 10),
+       SARADC_CHANNEL(3, "adc3", 10),
+};
+
+static const struct rockchip_saradc_data rk3528_saradc_data = {
+       .channels = rockchip_rk3528_saradc_iio_channels,
+       .num_channels = ARRAY_SIZE(rockchip_rk3528_saradc_iio_channels),
+       .clk_rate = 1000000,
+       .start = rockchip_saradc_start_v2,
+       .read = rockchip_saradc_read_v2,
+};
+
 static const struct iio_chan_spec rockchip_rk3568_saradc_iio_channels[] = {
        SARADC_CHANNEL(0, "adc0", 10),
        SARADC_CHANNEL(1, "adc1", 10),
@@ -324,6 +339,9 @@ static const struct of_device_id rockchip_saradc_match[] = {
        }, {
                .compatible = "rockchip,rk3399-saradc",
                .data = &rk3399_saradc_data,
+       }, {
+               .compatible = "rockchip,rk3528-saradc",
+               .data = &rk3528_saradc_data,
        }, {
                .compatible = "rockchip,rk3568-saradc",
                .data = &rk3568_saradc_data,