| # 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. |