[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 0/9] Clock framework API
From: |
Damien Hedde |
Subject: |
Re: [Qemu-devel] [PATCH v6 0/9] Clock framework API |
Date: |
Wed, 4 Sep 2019 15:04:34 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 |
I did a typo in the reply-to address. I just resent the series with the
proper one.
Sorry for that...
Damien
On 9/4/19 11:38 AM, address@hidden wrote:
> From: Damien Hedde <address@hidden>
>
> This series aims to add a way to model clock distribution in qemu. This allows
> to model the clock tree of a platform allowing us to inspect clock
> configuration and detect problems such as disabled clock or bad configured
> pll.
>
> The added clock api is very similar the the gpio api for devices. We can add
> input and output and connect them together.
>
> Very few changes since v5 in the core patches: we were waiting for multi phase
> ability to allow proper initialization of the clock tree. So this is almost a
> simple rebase on top of the current "Multi-phase reset mechanism" series.
> Based-on: <address@hidden>
>
> Changes since v5:
> - drop the "-port" in file names
> - new patch 2, extracted from patch 1 (to fix some problem with linux-user
> builds)
> - patch 3, minor modification to better match gpios api and allow non
> device-related clock
> (I've dropped the reviewed-by, see the patch message for the details of
> what has changed).
> - patch 6, Philippe's comments and various improvement
> - patches 7/8/9, multi-phase reset addition and scope reduced to uart ref
> clocks
>
> The patches are organised as follows:
> + Patches 1 to 5 adds the clock support in qemu (1, 4 and 5 are already
> reviewed and
> also a big part of the 3)
> + Patch 6 add some documentation in docs/devel
> + Patches 7 to 9 adds the uart's clocks to the xilinx_zynq platform as an
> example for this framework. It updates the zynq's slcr clock controller, the
> cadence_uart device, and the zynq toplevel platform.
>
> I've tested this patchset on the xilinx-zynq-a9 machine with the buildroot's
> zynq_zc706_defconfig which package the Xilinx's Linux.
> Clocks are correctly updated and we ends up with a configured baudrate of
> 115601
> on the console uart (for a theoretical 115200) which is nice. "cadence_uart*"
> and
> "clock*" traces can be enabled to see what's going on in this platform.
>
> Any comments and suggestion are welcomed.
>
> Thanks to the Xilinx QEMU team who sponsored this development.
>
> Damien Hedde (9):
> hw/core/clock: introduce clock objects
> hw/core/clock-vmstate: define a vmstate entry for clock state
> qdev: add clock input&output support to devices.
> qdev-monitor: print the device's clock with info qtree
> qdev-clock: introduce an init array to ease the device construction
> docs/clocks: add device's clock documentation
> hw/misc/zynq_slcr: add clock generation for uarts
> hw/char/cadence_uart: add clock support
> hw/arm/xilinx_zynq: connect uart clocks to slcr
>
> Makefile.objs | 1 +
> docs/devel/clock.txt | 246 +++++++++++++++++++++++++++++++++
> hw/arm/xilinx_zynq.c | 64 +++++++--
> hw/char/cadence_uart.c | 85 ++++++++++--
> hw/char/trace-events | 3 +
> hw/core/Makefile.objs | 4 +-
> hw/core/clock-vmstate.c | 25 ++++
> hw/core/clock.c | 144 +++++++++++++++++++
> hw/core/qdev-clock.c | 181 ++++++++++++++++++++++++
> hw/core/qdev.c | 32 +++++
> hw/core/trace-events | 6 +
> hw/misc/zynq_slcr.c | 145 ++++++++++++++++++-
> include/hw/char/cadence_uart.h | 1 +
> include/hw/clock.h | 133 ++++++++++++++++++
> include/hw/qdev-clock.h | 134 ++++++++++++++++++
> include/hw/qdev-core.h | 14 ++
> qdev-monitor.c | 13 ++
> tests/Makefile.include | 1 +
> 18 files changed, 1210 insertions(+), 22 deletions(-)
> create mode 100644 docs/devel/clock.txt
> create mode 100644 hw/core/clock-vmstate.c
> create mode 100644 hw/core/clock.c
> create mode 100644 hw/core/qdev-clock.c
> create mode 100644 include/hw/clock.h
> create mode 100644 include/hw/qdev-clock.h
>
- [Qemu-devel] [PATCH v6 0/9] Clock framework API, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 9/9] hw/arm/xilinx_zynq: connect uart clocks to slcr, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 2/9] hw/core/clock-vmstate: define a vmstate entry for clock state, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 8/9] hw/char/cadence_uart: add clock support, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 3/9] qdev: add clock input&output support to devices., damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 7/9] hw/misc/zynq_slcr: add clock generation for uarts, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 4/9] qdev-monitor: print the device's clock with info qtree, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 5/9] qdev-clock: introduce an init array to ease the device construction, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 6/9] docs/clocks: add device's clock documentation, damien . hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 1/9] hw/core/clock: introduce clock objects, damien . hedde, 2019/09/04
- Re: [Qemu-devel] [PATCH v6 0/9] Clock framework API,
Damien Hedde <=
- [Qemu-devel] [PATCH v6 0/9] Clock framework API, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 2/9] hw/core/clock-vmstate: define a vmstate entry for clock state, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 1/9] hw/core/clock: introduce clock objects, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 4/9] qdev-monitor: print the device's clock with info qtree, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 5/9] qdev-clock: introduce an init array to ease the device construction, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 3/9] qdev: add clock input&output support to devices., Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 9/9] hw/arm/xilinx_zynq: connect uart clocks to slcr, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 8/9] hw/char/cadence_uart: add clock support, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 7/9] hw/misc/zynq_slcr: add clock generation for uarts, Damien Hedde, 2019/09/04
- [Qemu-devel] [PATCH v6 6/9] docs/clocks: add device's clock documentation, Damien Hedde, 2019/09/04