iio: adc: meson-saradc: Disable BL30 integration on G12A and newer SoCs
authorMartin Blumenstingl <martin.blumenstingl@googlemail.com>
Sat, 17 Jul 2021 23:37:16 +0000 (01:37 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 25 Jul 2021 14:57:31 +0000 (15:57 +0100)
G12A and newer don't use the SAR ADC to read the SoC temperature from
within the firmware. Instead there's now a dedicated thermal sensor.
Disable the BL30 integration for G12A and newer SoCs to save a few CPU
cycles when reading samples.
Adding a separate struct meson_sar_adc_data is a good idea anyways
because starting with G12A there's some extra registers to read the
samples in a simplified way.

Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
Link: https://lore.kernel.org/r/20210717233718.332267-2-martin.blumenstingl@googlemail.com
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/meson_saradc.c

index 66dc452..e140db3 100644 (file)
@@ -1104,6 +1104,14 @@ static const struct meson_sar_adc_param meson_sar_adc_gxl_param = {
        .resolution = 12,
 };
 
+static const struct meson_sar_adc_param meson_sar_adc_g12a_param = {
+       .has_bl30_integration = false,
+       .clock_rate = 1200000,
+       .bandgap_reg = MESON_SAR_ADC_REG11,
+       .regmap_config = &meson_sar_adc_regmap_config_gxbb,
+       .resolution = 12,
+};
+
 static const struct meson_sar_adc_data meson_sar_adc_meson8_data = {
        .param = &meson_sar_adc_meson8_param,
        .name = "meson-meson8-saradc",
@@ -1140,7 +1148,7 @@ static const struct meson_sar_adc_data meson_sar_adc_axg_data = {
 };
 
 static const struct meson_sar_adc_data meson_sar_adc_g12a_data = {
-       .param = &meson_sar_adc_gxl_param,
+       .param = &meson_sar_adc_g12a_param,
        .name = "meson-g12a-saradc",
 };