[PATCH v5 1/9] riscv: Rework riscv timer driver to only support S-mode
Rick Chen
rickchen36 at gmail.com
Tue Sep 22 05:22:38 CEST 2020
> The riscv-timer driver currently serves as a shim for several riscv timer
> drivers. This is not too desirable because it bypasses the usual timer
> selection via the driver model. There is no easy way to specify an
> alternate timing driver, or have the tick rate depend on the cpu's
> configured frequency. The timer drivers also do not have device structs,
> and so have to rely on storing parameters in gd_t. Lastly, there is no
> initialization call, so driver init is done in the same function which
> reads the time. This can result in confusing error messages. To a user, it
> looks like the driver failed when trying to read the time, whereas it may
> have failed while initializing.
>
> This patch removes the shim functionality from the riscv-timer driver, and
> has it instead implement the former rdtime.c timer driver. This is because
> existing u-boot users who pass in a device tree (e.g. qemu) do not create a
> timer device for S-mode u-boot. The existing behavior of creating the
> riscv-timer device in the riscv cpu driver must be kept. The actual reading
> of the CSRs has been redone in the style of Linux's get_cycles64.
>
> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> Reviewed-by: Bin Meng <bin.meng at windriver.com>
> ---
>
> (no changes since v4)
>
> Changes in v4:
> - Modify RISCV_TIMER KConfig
> - Now depends on RISCV
> - Implied by S-Mode (with or without SPL)
>
> Changes in v2:
> - Remove RISCV_RDTIME KConfig option
>
> arch/riscv/Kconfig | 8 -------
> arch/riscv/cpu/ax25/Kconfig | 2 +-
> arch/riscv/cpu/fu540/Kconfig | 2 +-
> arch/riscv/cpu/generic/Kconfig | 2 +-
> arch/riscv/lib/Makefile | 1 -
> arch/riscv/lib/rdtime.c | 38 ---------------------------------
> drivers/timer/Kconfig | 4 ++--
> drivers/timer/riscv_timer.c | 39 +++++++++++++++++-----------------
> 8 files changed, 25 insertions(+), 71 deletions(-)
> delete mode 100644 arch/riscv/lib/rdtime.c
>
Reviewed-by: Rick Chen <rick at andestech.com>
More information about the U-Boot
mailing list