[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 13/14] timer: ds-rtc model ds1375
From: |
David Gibson |
Subject: |
Re: [Qemu-devel] [PATCH 13/14] timer: ds-rtc model ds1375 |
Date: |
Mon, 16 Jul 2018 19:44:23 +1000 |
User-agent: |
Mutt/1.10.0 (2018-05-17) |
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 <address@hidden>
> Reviewed-by: Peter Maydell <address@hidden>
Reviewed-by: David Gibson <address@hidden>
> ---
> 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
- [Qemu-devel] [PATCH 07/14] tests: ds-rtc test wday offset, (continued)
- [Qemu-devel] [PATCH 07/14] tests: ds-rtc test wday offset, Michael Davidsaver, 2018/07/05
- [Qemu-devel] [PATCH 09/14] timer: rename file ds1338.c -> ds-rtc.c, Michael Davidsaver, 2018/07/05
- [Qemu-devel] [PATCH 10/14] timer: ds1338 remove vestige of un-modeled OSF, Michael Davidsaver, 2018/07/05
- [Qemu-devel] [PATCH 08/14] timer: rename ds1338 -> dsrtc, Michael Davidsaver, 2018/07/05
- [Qemu-devel] [PATCH 12/14] timer: ds-rtc handle CENTURY bit, Michael Davidsaver, 2018/07/05
- [Qemu-devel] [PATCH 13/14] timer: ds-rtc model ds1375, Michael Davidsaver, 2018/07/05
- Re: [Qemu-devel] [PATCH 13/14] timer: ds-rtc model ds1375,
David Gibson <=
- [Qemu-devel] [PATCH 14/14] tests: drop ds1338-test, Michael Davidsaver, 2018/07/05
- Message not available