OSDN Git Service

iio: adc: exynos-adc: Add S5PV210 variant
authorJonathan Bakker <xc-racer2@live.ca>
Fri, 7 Dec 2018 19:11:34 +0000 (20:11 +0100)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Wed, 12 Dec 2018 17:15:05 +0000 (17:15 +0000)
S5PV210's ADC variant is almost the same as v1 except that it has 10
channels and doesn't require the pmu register

Signed-off-by: Jonathan Bakker <xc-racer2@live.ca>
Signed-off-by: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/exynos_adc.c

index f10443f..fa2d2b5 100644 (file)
 #define MAX_ADC_V2_CHANNELS            10
 #define MAX_ADC_V1_CHANNELS            8
 #define MAX_EXYNOS3250_ADC_CHANNELS    2
+#define MAX_S5PV210_ADC_CHANNELS       10
 
 /* Bit definitions common for ADC_V1 and ADC_V2 */
 #define ADC_CON_EN_START       (1u << 0)
@@ -282,6 +283,16 @@ static const struct exynos_adc_data exynos_adc_v1_data = {
        .start_conv     = exynos_adc_v1_start_conv,
 };
 
+static const struct exynos_adc_data exynos_adc_s5pv210_data = {
+       .num_channels   = MAX_S5PV210_ADC_CHANNELS,
+       .mask           = ADC_DATX_MASK,        /* 12 bit ADC resolution */
+
+       .init_hw        = exynos_adc_v1_init_hw,
+       .exit_hw        = exynos_adc_v1_exit_hw,
+       .clear_irq      = exynos_adc_v1_clear_irq,
+       .start_conv     = exynos_adc_v1_start_conv,
+};
+
 static void exynos_adc_s3c2416_start_conv(struct exynos_adc *info,
                                          unsigned long addr)
 {
@@ -479,6 +490,9 @@ static const struct of_device_id exynos_adc_match[] = {
                .compatible = "samsung,s3c6410-adc",
                .data = &exynos_adc_s3c64xx_data,
        }, {
+               .compatible = "samsung,s5pv210-adc",
+               .data = &exynos_adc_s5pv210_data,
+       }, {
                .compatible = "samsung,exynos-adc-v1",
                .data = &exynos_adc_v1_data,
        }, {