qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 06/24] hw/misc/mps2-fpgaio: Support SWITCH register


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 06/24] hw/misc/mps2-fpgaio: Support SWITCH register
Date: Fri, 12 Feb 2021 19:23:17 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.7.0

On 2/5/21 6:00 PM, Peter Maydell wrote:
> MPS3 boards have an extra SWITCH register in the FPGAIO block which
> reports the value of some switches.  Implement this, governed by a
> property the board code can use to specify whether whether it exists.
> 
> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
> ---
>  include/hw/misc/mps2-fpgaio.h |  1 +
>  hw/misc/mps2-fpgaio.c         | 10 ++++++++++
>  2 files changed, 11 insertions(+)
> 
> diff --git a/include/hw/misc/mps2-fpgaio.h b/include/hw/misc/mps2-fpgaio.h
> index bfe73134e78..83c6e18a4ee 100644
> --- a/include/hw/misc/mps2-fpgaio.h
> +++ b/include/hw/misc/mps2-fpgaio.h
> @@ -38,6 +38,7 @@ struct MPS2FPGAIO {
>      MemoryRegion iomem;
>      LEDState *led[MPS2FPGAIO_MAX_LEDS];
>      uint32_t num_leds;
> +    bool have_switches;
>  
>      uint32_t led0;
>      uint32_t prescale;
> diff --git a/hw/misc/mps2-fpgaio.c b/hw/misc/mps2-fpgaio.c
> index b28a1be22cc..b54657a4f07 100644
> --- a/hw/misc/mps2-fpgaio.c
> +++ b/hw/misc/mps2-fpgaio.c
> @@ -35,6 +35,7 @@ REG32(CLK100HZ, 0x14)
>  REG32(COUNTER, 0x18)
>  REG32(PRESCALE, 0x1c)
>  REG32(PSCNTR, 0x20)
> +REG32(SWITCH, 0x28)
>  REG32(MISC, 0x4c)
>  
>  static uint32_t counter_from_tickoff(int64_t now, int64_t tick_offset, int 
> frq)
> @@ -156,7 +157,15 @@ static uint64_t mps2_fpgaio_read(void *opaque, hwaddr 
> offset, unsigned size)
>          resync_counter(s);
>          r = s->pscntr;
>          break;
> +    case A_SWITCH:
> +        if (!s->have_switches) {
> +            goto bad_offset;
> +        }
> +        /* User-togglable board switches. We don't model that, so report 0. 
> */

We should and probably will at some point... This is a feature
I'm thinking about and which could be implemented the same way
as the TempSensor series. My latest problem is to have QOM names
(full path) consistent. That way we can toggle a switch at
runtime via (at least) a QMP command.

Anyway to your patch (including change squashed):
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]