On 7/18/24 08:49, Jamin Lin wrote:
> AST2700 and AST2600 ADC controllers are identical.
> Introduce ast2700 class and set 2 engines.
>
> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>
Reviewed-by: Cédric Le Goater <clg@redhat.com>
Thanks,
C.
> ---
> hw/adc/aspeed_adc.c | 16 ++++++++++++++++
> include/hw/adc/aspeed_adc.h | 1 +
> 2 files changed, 17 insertions(+)
>
> diff --git a/hw/adc/aspeed_adc.c b/hw/adc/aspeed_adc.c
> index 68bdbc73b0..48328ef891 100644
> --- a/hw/adc/aspeed_adc.c
> +++ b/hw/adc/aspeed_adc.c
> @@ -398,6 +398,15 @@ static void aspeed_1030_adc_class_init(ObjectClass *klass, void *data)
> aac->nr_engines = 2;
> }
>
> +static void aspeed_2700_adc_class_init(ObjectClass *klass, void *data)
> +{
> + DeviceClass *dc = DEVICE_CLASS(klass);
> + AspeedADCClass *aac = ASPEED_ADC_CLASS(klass);
> +
> + dc->desc = "ASPEED 2700 ADC Controller";
> + aac->nr_engines = 2;
> +}
> +
> static const TypeInfo aspeed_adc_info = {
> .name = TYPE_ASPEED_ADC,
> .parent = TYPE_SYS_BUS_DEVICE,
> @@ -430,6 +439,12 @@ static const TypeInfo aspeed_1030_adc_info = {
> .class_init = aspeed_1030_adc_class_init, /* No change since AST2600 */
> };
>
> +static const TypeInfo aspeed_2700_adc_info = {
> + .name = TYPE_ASPEED_2700_ADC,
> + .parent = TYPE_ASPEED_ADC,
> + .class_init = aspeed_2700_adc_class_init,
> +};
> +
> static void aspeed_adc_register_types(void)
> {
> type_register_static(&aspeed_adc_engine_info);
> @@ -438,6 +453,7 @@ static void aspeed_adc_register_types(void)
> type_register_static(&aspeed_2500_adc_info);
> type_register_static(&aspeed_2600_adc_info);
> type_register_static(&aspeed_1030_adc_info);
> + type_register_static(&aspeed_2700_adc_info);
> }
>
> type_init(aspeed_adc_register_types);
> diff --git a/include/hw/adc/aspeed_adc.h b/include/hw/adc/aspeed_adc.h
> index ff1d06ea91..f502f197ac 100644
> --- a/include/hw/adc/aspeed_adc.h
> +++ b/include/hw/adc/aspeed_adc.h
> @@ -18,6 +18,7 @@
> #define TYPE_ASPEED_2500_ADC TYPE_ASPEED_ADC "-ast2500"
> #define TYPE_ASPEED_2600_ADC TYPE_ASPEED_ADC "-ast2600"
> #define TYPE_ASPEED_1030_ADC TYPE_ASPEED_ADC "-ast1030"
> +#define TYPE_ASPEED_2700_ADC TYPE_ASPEED_ADC "-ast2700"
> OBJECT_DECLARE_TYPE(AspeedADCState, AspeedADCClass, ASPEED_ADC)
>
> #define TYPE_ASPEED_ADC_ENGINE "aspeed.adc.engine"