| Device tree Clock bindings for Renesas EMMA Mobile EV2 |
| |
| This binding uses the common clock binding. |
| |
| * SMU |
| System Management Unit described in user's manual R19UH0037EJ1000_SMU. |
| This is not a clock provider, but clocks under SMU depend on it. |
| |
| Required properties: |
| - compatible: Should be "renesas,emev2-smu" |
| - reg: Address and Size of SMU registers |
| |
| * SMU_CLKDIV |
| 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. |
| |
| Required properties: |
| - compatible: Should be "renesas,emev2-smu-clkdiv" |
| - reg: Byte offset from SMU base and Bit position in the register |
| - clocks: Parent clocks. Input clocks as described in clock-bindings.txt |
| - #clock-cells: Should be <0> |
| |
| * SMU_GCLK |
| 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). |
| |
| Required properties: |
| - compatible: Should be "renesas,emev2-smu-gclk" |
| - reg: Byte offset from SMU base and Bit position in the register |
| - clocks: Input clock as described in clock-bindings.txt |
| - #clock-cells: Should be <0> |
| |
| Example of provider: |
| |
| usia_u0_sclkdiv: usia_u0_sclkdiv { |
| compatible = "renesas,emev2-smu-clkdiv"; |
| reg = <0x610 0>; |
| clocks = <&pll3_fo>, <&pll4_fo>, <&pll1_fo>, <&osc1_fo>; |
| #clock-cells = <0>; |
| }; |
| |
| usia_u0_sclk: usia_u0_sclk { |
| compatible = "renesas,emev2-smu-gclk"; |
| reg = <0x4a0 1>; |
| clocks = <&usia_u0_sclkdiv>; |
| #clock-cells = <0>; |
| }; |
| |
| Example of consumer: |
| |
| uart@e1020000 { |
| compatible = "renesas,em-uart"; |
| reg = <0xe1020000 0x38>; |
| interrupts = <0 8 0>; |
| clocks = <&usia_u0_sclk>; |
| clock-names = "sclk"; |
| }; |
| |
| Example of clock-tree description: |
| |
| This describes a clock path in the clock tree |
| c32ki -> pll3_fo -> usia_u0_sclkdiv -> usia_u0_sclk |
| |
| smu@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 { |
| compatible = "renesas,emev2-smu-clkdiv"; |
| reg = <0x610 0>; |
| clocks = <&pll3_fo>; |
| #clock-cells = <0>; |
| }; |
| usia_u0_sclk: usia_u0_sclk { |
| compatible = "renesas,emev2-smu-gclk"; |
| reg = <0x4a0 1>; |
| clocks = <&usia_u0_sclkdiv>; |
| #clock-cells = <0>; |
| }; |
| }; |