Message ID | 20240718064925.1846074-2-jamin_lin@aspeedtech.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | support ADC and I2C for AST2700 | expand |
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"
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"
AST2700 and AST2600 ADC controllers are identical. Introduce ast2700 class and set 2 engines. Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com> --- hw/adc/aspeed_adc.c | 16 ++++++++++++++++ include/hw/adc/aspeed_adc.h | 1 + 2 files changed, 17 insertions(+)