On Thu, 11 Mar 2021 at 13:11, Hao Wu <wuhao...@google.com> wrote: > > This patch set implements the Tachometer (a.k.a Multi Functional Timer/MFT) > device in NPCM7XX SoC. This device is used by NPCM7XX boards to measure > the RPM of PWM fans. > > To provide the RPM of a certain fan, since RPM = MAX_RPM * duty_percentage. > We convert the duty output in NPCM7XX PWM module into GPIOs and feed them > into the MFT module. > > The connection of PWM modules and fan modules are derived from their specific > Linux device trees and coded in hw/arm/npcm7xx_boards.c. > > We amend the QTest for the PWM module to include verifying the reading from > the Tachometer is correct. > > Changes since v1: > - Split implementation of device and addition to board file to separate > patches > - Adapt to new Clock API and address conflicts > - Use the new clock_ns_to_ticks API to calculate tachometer counts > > Hao Wu (5): > hw/misc: Add GPIOs for duty in NPCM7xx PWM > hw/misc: Add NPCM7XX MFT Module > hw/arm: Add MFT device to NPCM7xx Soc > hw/arm: Connect PWM fans in NPCM7XX boards > tests/qtest: Test PWM fan RPM using MFT in PWM test > > docs/system/arm/nuvoton.rst | 2 +- > hw/arm/npcm7xx.c | 45 ++- > hw/arm/npcm7xx_boards.c | 99 ++++++ > hw/misc/meson.build | 1 + > hw/misc/npcm7xx_mft.c | 540 +++++++++++++++++++++++++++++++++ > hw/misc/npcm7xx_pwm.c | 4 + > hw/misc/trace-events | 8 + > include/hw/arm/npcm7xx.h | 13 +- > include/hw/misc/npcm7xx_mft.h | 70 +++++ > include/hw/misc/npcm7xx_pwm.h | 4 +- > tests/qtest/npcm7xx_pwm-test.c | 205 ++++++++++++- > 11 files changed, 974 insertions(+), 17 deletions(-) > create mode 100644 hw/misc/npcm7xx_mft.c > create mode 100644 include/hw/misc/npcm7xx_mft.h
Thanks, queued to target-arm.next. r~