On Thu, Jul 05, 2018 at 11:20:00AM -0700, Michael Davidsaver wrote: > differences from ds1338 > > * Has alarms (not modeled) > * different control register (not modeled) > * smaller address space (0x20 vs. 0x40) > > Signed-off-by: Michael Davidsaver <mdavidsa...@gmail.com> > Reviewed-by: Peter Maydell <peter.mayd...@linaro.org>
Reviewed-by: David Gibson <da...@gibson.dropbear.id.au> > --- > hw/timer/ds-rtc.c | 30 ++++++++++++++++++++++++++++-- > 1 file changed, 28 insertions(+), 2 deletions(-) > > diff --git a/hw/timer/ds-rtc.c b/hw/timer/ds-rtc.c > index 9abac38628..3a8ad1a00f 100644 > --- a/hw/timer/ds-rtc.c > +++ b/hw/timer/ds-rtc.c > @@ -1,8 +1,9 @@ > /* > - * MAXIM DS1338 I2C RTC+NVRAM > + * MAXIM/Dallas DS1338 and DS1375 I2C RTC+NVRAM > * > + * Copyright (c) 2018 Michael Davidsaver > * Copyright (c) 2009 CodeSourcery. > - * Written by Paul Brook > + * Written by Paul Brook, Michael Davidsaver > * > * This code is licensed under the GNU GPL v2. > * > @@ -41,6 +42,7 @@ > #define R_YEAR (0x6) > > #define R_DS1338_CTRL (0x7) > +#define R_DS1375_CTRL (0xe) > > /* use 12 hour mode when set */ > FIELD(HOUR, SET12, 6, 1) > @@ -300,10 +302,34 @@ static const TypeInfo ds1338_info = { > .class_init = ds1338_class_init, > }; > > +static void ds1375_control_write(DSRTCState *s, uint8_t data) > +{ > + /* just store it, we don't model any features */ > + s->nvram[R_DS1375_CTRL] = data; > +} > + > +static void ds1375_class_init(ObjectClass *klass, void *data) > +{ > + DSRTCClass *k = DSRTC_CLASS(klass); > + > + k->has_century = true; > + k->addr_size = 0x20; > + k->ctrl_offset = R_DS1375_CTRL; > + k->ctrl_write = ds1375_control_write; > +} > + > +static const TypeInfo ds1375_info = { > + .name = "ds1375", > + .parent = TYPE_DSRTC, > + .class_size = sizeof(DSRTCClass), > + .class_init = ds1375_class_init, > +}; > + > static void dsrtc_register_types(void) > { > type_register_static(&dsrtc_info); > type_register_static(&ds1338_info); > + type_register_static(&ds1375_info); > } > > type_init(dsrtc_register_types) -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature