|
|
@@ -115,6 +115,7 @@
|
|
|
#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)
|
|
|
{
|
|
|
@@ -478,6 +489,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,
|