| # Copyright (c) 2021 TOKITA Hiroshi <tokita.hiroshi@gmail.com> |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| description: RISC-V Machine timer |
| |
| compatible: "riscv,machine-timer" |
| |
| include: base.yaml |
| |
| properties: |
| clk-divider: |
| type: int |
| required: false |
| description: | |
| clk-divider specifies the division ratio to the CPU frequency that |
| clock used by machine timer. |
| This property supports the case that the machine 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 machine 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 machine timer uses the clock |
| that CPU clock frequency divided by (2^2=)4, or 27MHz. |
| |
| Devision ratio constants can be found in the |
| dt-bindings/timer/nuclei-machine-timer.h header file. |