141 lines
3.4 KiB
YAML
141 lines
3.4 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/clock/renesas,emev2-smu.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Renesas EMMA Mobile EV2 System Management Unit
|
||
|
|
||
|
maintainers:
|
||
|
- Geert Uytterhoeven <geert+renesas@glider.be>
|
||
|
- Magnus Damm <magnus.damm@gmail.com>
|
||
|
|
||
|
description: |
|
||
|
The System Management Unit is described in user's manual R19UH0037EJ1000_SMU.
|
||
|
This is not a clock provider, but clocks under SMU depend on it.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: renesas,emev2-smu
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
|
||
|
'#address-cells':
|
||
|
const: 2
|
||
|
|
||
|
'#size-cells':
|
||
|
const: 0
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- '#address-cells'
|
||
|
- '#size-cells'
|
||
|
|
||
|
patternProperties:
|
||
|
".*sclkdiv@.*":
|
||
|
type: object
|
||
|
|
||
|
description: |
|
||
|
Function block with an input mux and a divider, which corresponds to
|
||
|
"Serial clock generator" in fig. "Clock System Overview" of the manual,
|
||
|
and "xxx frequency division setting register" (XXXCLKDIV) registers.
|
||
|
This makes internal (neither input nor output) clock that is provided
|
||
|
to input of xxxGCLK block.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: renesas,emev2-smu-clkdiv
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
description:
|
||
|
Byte offset from SMU base and Bit position in the register.
|
||
|
|
||
|
clocks:
|
||
|
minItems: 1
|
||
|
maxItems: 4
|
||
|
|
||
|
'#clock-cells':
|
||
|
const: 0
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- clocks
|
||
|
- '#clock-cells'
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
".*sclk@.*":
|
||
|
type: object
|
||
|
|
||
|
description: |
|
||
|
Clock gating node shown as "Clock stop processing block" in the
|
||
|
fig. "Clock System Overview" of the manual.
|
||
|
Registers are "xxx clock gate control register" (XXXGCLKCTRL).
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
const: renesas,emev2-smu-gclk
|
||
|
|
||
|
reg:
|
||
|
maxItems: 1
|
||
|
description:
|
||
|
Byte offset from SMU base and Bit position in the register.
|
||
|
|
||
|
clocks:
|
||
|
maxItems: 1
|
||
|
|
||
|
'#clock-cells':
|
||
|
const: 0
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
- reg
|
||
|
- clocks
|
||
|
- '#clock-cells'
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
additionalProperties: true
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
// Example of clock-tree description:
|
||
|
//
|
||
|
// This describes a clock path in the clock tree
|
||
|
// c32ki -> pll3_fo -> usia_u0_sclkdiv -> usia_u0_sclk
|
||
|
clocks@e0110000 {
|
||
|
compatible = "renesas,emev2-smu";
|
||
|
reg = <0xe0110000 0x10000>;
|
||
|
#address-cells = <2>;
|
||
|
#size-cells = <0>;
|
||
|
|
||
|
c32ki: c32ki {
|
||
|
compatible = "fixed-clock";
|
||
|
clock-frequency = <32768>;
|
||
|
#clock-cells = <0>;
|
||
|
};
|
||
|
pll3_fo: pll3_fo {
|
||
|
compatible = "fixed-factor-clock";
|
||
|
clocks = <&c32ki>;
|
||
|
clock-div = <1>;
|
||
|
clock-mult = <7000>;
|
||
|
#clock-cells = <0>;
|
||
|
};
|
||
|
usia_u0_sclkdiv: usia_u0_sclkdiv@610,0 {
|
||
|
compatible = "renesas,emev2-smu-clkdiv";
|
||
|
reg = <0x610 0>;
|
||
|
clocks = <&pll3_fo>;
|
||
|
#clock-cells = <0>;
|
||
|
};
|
||
|
usia_u0_sclk: usia_u0_sclk@4a0,1 {
|
||
|
compatible = "renesas,emev2-smu-gclk";
|
||
|
reg = <0x4a0 1>;
|
||
|
clocks = <&usia_u0_sclkdiv>;
|
||
|
#clock-cells = <0>;
|
||
|
};
|
||
|
};
|