49 lines
1.4 KiB
YAML
49 lines
1.4 KiB
YAML
# Copyright (c) 2021 TOKITA Hiroshi <tokita.hiroshi@gmail.com>
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
description: |
|
|
Nuclei System Timer
|
|
|
|
The Nuclei system timer provides RISC-V privileged mtime and mtimecmp
|
|
registers.
|
|
|
|
compatible: "nuclei,systimer"
|
|
|
|
include: base.yaml
|
|
|
|
properties:
|
|
reg:
|
|
required: true
|
|
|
|
interrupts:
|
|
required: true
|
|
|
|
clk-divider:
|
|
type: int
|
|
description: |
|
|
clk-divider specifies the division ratio to the CPU frequency that
|
|
clock used by the system timer.
|
|
This property supports the case that the system timer and CPU use
|
|
different clock sources.
|
|
This configuration is used sometimes for such as low power consumption.
|
|
|
|
For example, the CPU clock frequency is 108MHz, and the system timer
|
|
uses 27MHz, which is the CPU clock divided by 4.
|
|
In this case, the CPU clock frequency is defined in the CPU node
|
|
as follows
|
|
|
|
clock-frequency = <108000000>;
|
|
|
|
This property takes exponent of the power of 2.
|
|
The relationship with the frequency division ratio is as
|
|
following equation.
|
|
|
|
division_ratio = 2^n
|
|
n = log_2(division_ratio)
|
|
|
|
Setting clk-divider to 2 specifies the system timer uses the clock
|
|
that CPU clock frequency divided by (2^2=)4, or 27MHz.
|
|
|
|
Division ratio constants can be found in the
|
|
dt-bindings/timer/nuclei-systimer.h header file.
|