This patch serials make aspeed_adc.c can support ast2600 and backward compatible. Change since v6: aspeed_adc.c: - Fix the parameter error for aspeed_adc_unregister_fixed_divider. Change since v5: aspeed_adc.c: - Use devm_clk_hw_register_divider() - Enabling and setting the ADC to normal mode is a necessary flow, so take it out of the condition. Change since v4: dt-bindings: - Add clocks maxItems. - Rename the property to meet the property-units.yaml. - Add the description for the difference between adc0 and adc1. aspeed_adc.c: - Use new property name to get internal reference voltage: units from mv to uv. - Fix -Wnonnull warning caused by snprintf parameters. - Add suffix mv to the vref parameters. - Use ARRAY_SIZE instead of 32. - Add a reset action for ADC power down and Use devm_iio_device_register. - Fix typo error. - Separate the offset interface of ch7 when battery sensing enable Change since v3: dt-bindings: - Fix properties:aspeed,int_vref_mv type error. Change since v2: dt-bindings: - Create a new dt-bindings for ast2600 adc aspeed_adc.c: - Splits the patch for more details - Remove version enum and use the flags in model data to distinguish hardware feature - Support trimming data get and set. - Use devm_add_action_or_reset to simplify probe error handling. Changes since v1: dt-bindings: - Fix the aspeed,adc.yaml check error. - Add battery-sensing property. aspeed_adc.c: - Change the init flow: Clock and reference voltage setting should be completed before adc engine enable. - Change the default sampling rate to meet most user case. - Add patch #8 to suppoert battery sensing mode. Billy Tsai (11): iio: adc: aspeed: Keep model data to driver data. iio: adc: aspeed: Restructure the model data iio: adc: aspeed: Add vref config function iio: adc: aspeed: Use model_data to set clk scaler. iio: adc: aspeed: Use devm_add_action_or_reset. iio: adc: aspeed: Support ast2600 adc. iio: adc: aspeed: Fix the calculate error of clock. iio: adc: aspeed: Add func to set sampling rate. iio: adc: aspeed: Add compensation phase. iio: adc: aspeed: Support battery sensing. iio: adc: aspeed: Get and set trimming data. drivers/iio/adc/aspeed_adc.c | 554 +++++++++++++++++++++++++++++------ 1 file changed, 459 insertions(+), 95 deletions(-) -- 2.25.1