1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2c66ec88fSEmmanuel Vadot%YAML 1.2 3c66ec88fSEmmanuel Vadot--- 4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/ingenic,cgu.yaml# 5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6c66ec88fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Ingenic SoCs CGU 8c66ec88fSEmmanuel Vadot 9c66ec88fSEmmanuel Vadotdescription: | 10c66ec88fSEmmanuel Vadot The CGU in an Ingenic SoC provides all the clocks generated on-chip. It 11c66ec88fSEmmanuel Vadot typically includes a variety of PLLs, multiplexers, dividers & gates in order 12c66ec88fSEmmanuel Vadot to provide many different clock signals derived from only 2 external source 13c66ec88fSEmmanuel Vadot clocks. 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel Vadotmaintainers: 16c66ec88fSEmmanuel Vadot - Paul Cercueil <paul@crapouillou.net> 17c66ec88fSEmmanuel Vadot 18c66ec88fSEmmanuel Vadotselect: 19c66ec88fSEmmanuel Vadot properties: 20c66ec88fSEmmanuel Vadot compatible: 21c66ec88fSEmmanuel Vadot contains: 22c66ec88fSEmmanuel Vadot enum: 23c66ec88fSEmmanuel Vadot - ingenic,jz4740-cgu 24c66ec88fSEmmanuel Vadot - ingenic,jz4725b-cgu 258bab661aSEmmanuel Vadot - ingenic,jz4755-cgu 265956d97fSEmmanuel Vadot - ingenic,jz4760-cgu 275956d97fSEmmanuel Vadot - ingenic,jz4760b-cgu 28c66ec88fSEmmanuel Vadot - ingenic,jz4770-cgu 29c66ec88fSEmmanuel Vadot - ingenic,jz4780-cgu 30c66ec88fSEmmanuel Vadot - ingenic,x1000-cgu 31c66ec88fSEmmanuel Vadot - ingenic,x1830-cgu 32c66ec88fSEmmanuel Vadot required: 33c66ec88fSEmmanuel Vadot - compatible 34c66ec88fSEmmanuel Vadot 35c66ec88fSEmmanuel Vadotproperties: 36c66ec88fSEmmanuel Vadot $nodename: 37c66ec88fSEmmanuel Vadot pattern: "^clock-controller@[0-9a-f]+$" 38c66ec88fSEmmanuel Vadot 39c66ec88fSEmmanuel Vadot "#address-cells": 40c66ec88fSEmmanuel Vadot const: 1 41c66ec88fSEmmanuel Vadot 42c66ec88fSEmmanuel Vadot "#size-cells": 43c66ec88fSEmmanuel Vadot const: 1 44c66ec88fSEmmanuel Vadot 45c66ec88fSEmmanuel Vadot "#clock-cells": 46c66ec88fSEmmanuel Vadot const: 1 47c66ec88fSEmmanuel Vadot 48c66ec88fSEmmanuel Vadot ranges: true 49c66ec88fSEmmanuel Vadot 50c66ec88fSEmmanuel Vadot compatible: 51c66ec88fSEmmanuel Vadot items: 52c66ec88fSEmmanuel Vadot - enum: 53c66ec88fSEmmanuel Vadot - ingenic,jz4740-cgu 54c66ec88fSEmmanuel Vadot - ingenic,jz4725b-cgu 558bab661aSEmmanuel Vadot - ingenic,jz4755-cgu 565956d97fSEmmanuel Vadot - ingenic,jz4760-cgu 575956d97fSEmmanuel Vadot - ingenic,jz4760b-cgu 58c66ec88fSEmmanuel Vadot - ingenic,jz4770-cgu 59c66ec88fSEmmanuel Vadot - ingenic,jz4780-cgu 60c66ec88fSEmmanuel Vadot - ingenic,x1000-cgu 61c66ec88fSEmmanuel Vadot - ingenic,x1830-cgu 62c66ec88fSEmmanuel Vadot - const: simple-mfd 63c66ec88fSEmmanuel Vadot minItems: 1 64c66ec88fSEmmanuel Vadot 65c66ec88fSEmmanuel Vadot reg: 66c66ec88fSEmmanuel Vadot maxItems: 1 67c66ec88fSEmmanuel Vadot 68c66ec88fSEmmanuel Vadot clocks: 69c66ec88fSEmmanuel Vadot items: 70c66ec88fSEmmanuel Vadot - description: External oscillator clock 71c66ec88fSEmmanuel Vadot - description: Internal 32 kHz RTC clock 72c66ec88fSEmmanuel Vadot 73c66ec88fSEmmanuel Vadot clock-names: 74c66ec88fSEmmanuel Vadot items: 75c66ec88fSEmmanuel Vadot - const: ext 76c66ec88fSEmmanuel Vadot - enum: 77c66ec88fSEmmanuel Vadot - rtc 78c66ec88fSEmmanuel Vadot - osc32k # Different name, same clock 79c66ec88fSEmmanuel Vadot 80c66ec88fSEmmanuel Vadot assigned-clocks: 81c66ec88fSEmmanuel Vadot minItems: 1 82c66ec88fSEmmanuel Vadot maxItems: 64 83c66ec88fSEmmanuel Vadot 84c66ec88fSEmmanuel Vadot assigned-clock-parents: 85c66ec88fSEmmanuel Vadot minItems: 1 86c66ec88fSEmmanuel Vadot maxItems: 64 87c66ec88fSEmmanuel Vadot 88c66ec88fSEmmanuel Vadot assigned-clock-rates: 89c66ec88fSEmmanuel Vadot minItems: 1 90c66ec88fSEmmanuel Vadot maxItems: 64 91c66ec88fSEmmanuel Vadot 92c66ec88fSEmmanuel Vadotrequired: 93c66ec88fSEmmanuel Vadot - "#clock-cells" 94c66ec88fSEmmanuel Vadot - compatible 95c66ec88fSEmmanuel Vadot - reg 96c66ec88fSEmmanuel Vadot - clocks 97c66ec88fSEmmanuel Vadot - clock-names 98c66ec88fSEmmanuel Vadot 99c66ec88fSEmmanuel VadotpatternProperties: 100c66ec88fSEmmanuel Vadot "^usb-phy@[a-f0-9]+$": 101*f126890aSEmmanuel Vadot $ref: /schemas/phy/ingenic,phy-usb.yaml# 1025956d97fSEmmanuel Vadot "^mac-phy-ctrl@[a-f0-9]+$": 103*f126890aSEmmanuel Vadot $ref: /schemas/net/ingenic,mac.yaml# 104c66ec88fSEmmanuel Vadot 105c66ec88fSEmmanuel VadotadditionalProperties: false 106c66ec88fSEmmanuel Vadot 107c66ec88fSEmmanuel Vadotexamples: 108c66ec88fSEmmanuel Vadot - | 1098cc087a1SEmmanuel Vadot #include <dt-bindings/clock/ingenic,jz4770-cgu.h> 110c66ec88fSEmmanuel Vadot cgu: clock-controller@10000000 { 111c66ec88fSEmmanuel Vadot compatible = "ingenic,jz4770-cgu", "simple-mfd"; 112c66ec88fSEmmanuel Vadot reg = <0x10000000 0x100>; 113c66ec88fSEmmanuel Vadot #address-cells = <1>; 114c66ec88fSEmmanuel Vadot #size-cells = <1>; 115c66ec88fSEmmanuel Vadot ranges = <0x0 0x10000000 0x100>; 116c66ec88fSEmmanuel Vadot 117c66ec88fSEmmanuel Vadot clocks = <&ext>, <&osc32k>; 118c66ec88fSEmmanuel Vadot clock-names = "ext", "osc32k"; 119c66ec88fSEmmanuel Vadot 120c66ec88fSEmmanuel Vadot #clock-cells = <1>; 121c66ec88fSEmmanuel Vadot 122c66ec88fSEmmanuel Vadot otg_phy: usb-phy@3c { 123c66ec88fSEmmanuel Vadot compatible = "ingenic,jz4770-phy"; 124c66ec88fSEmmanuel Vadot reg = <0x3c 0x10>; 125c66ec88fSEmmanuel Vadot 126c66ec88fSEmmanuel Vadot clocks = <&cgu JZ4770_CLK_OTG_PHY>; 127c66ec88fSEmmanuel Vadot 128c66ec88fSEmmanuel Vadot vcc-supply = <&ldo5>; 129c66ec88fSEmmanuel Vadot 130c66ec88fSEmmanuel Vadot #phy-cells = <0>; 131c66ec88fSEmmanuel Vadot }; 132c66ec88fSEmmanuel Vadot }; 133