From: Rafał Miłecki <rafal@xxxxxxxxxx> BCM53573 SoC has ILP clock that is part of the PMU block. So far PMU itself didn't have a proper binding and ILP wasn't converted to json-schema. Fix it up. Add custom binding for Broadcom's BCM53573 PMU and include ILP's properties there (it's trivial and non-reusable binding). Signed-off-by: Rafał Miłecki <rafal@xxxxxxxxxx> --- .../bindings/clock/brcm,bcm53573-ilp.txt | 36 ---------- .../bindings/mfd/brcm,bcm53573-pmu.yaml | 67 +++++++++++++++++++ 2 files changed, 67 insertions(+), 36 deletions(-) delete mode 100644 Documentation/devicetree/bindings/clock/brcm,bcm53573-ilp.txt create mode 100644 Documentation/devicetree/bindings/mfd/brcm,bcm53573-pmu.yaml diff --git a/Documentation/devicetree/bindings/clock/brcm,bcm53573-ilp.txt b/Documentation/devicetree/bindings/clock/brcm,bcm53573-ilp.txt deleted file mode 100644 index 2ebb107331dd..000000000000 --- a/Documentation/devicetree/bindings/clock/brcm,bcm53573-ilp.txt +++ /dev/null @@ -1,36 +0,0 @@ -Broadcom BCM53573 ILP clock -=========================== - -This binding uses the common clock binding: - Documentation/devicetree/bindings/clock/clock-bindings.txt - -This binding is used for ILP clock (sometimes referred as "slow clock") -on Broadcom BCM53573 devices using Cortex-A7 CPU. - -ILP's rate has to be calculated on runtime and it depends on ALP clock -which has to be referenced. - -This clock is part of PMU (Power Management Unit), a Broadcom's device -handing power-related aspects. Its node must be sub-node of the PMU -device. - -Required properties: -- compatible: "brcm,bcm53573-ilp" -- clocks: has to reference an ALP clock -- #clock-cells: should be <0> -- clock-output-names: from common clock bindings, should contain clock - name - -Example: - -pmu@18012000 { - compatible = "simple-mfd", "syscon"; - reg = <0x18012000 0x00001000>; - - ilp { - compatible = "brcm,bcm53573-ilp"; - clocks = <&alp>; - #clock-cells = <0>; - clock-output-names = "ilp"; - }; -}; diff --git a/Documentation/devicetree/bindings/mfd/brcm,bcm53573-pmu.yaml b/Documentation/devicetree/bindings/mfd/brcm,bcm53573-pmu.yaml new file mode 100644 index 000000000000..5b0a12bf4fe4 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/brcm,bcm53573-pmu.yaml @@ -0,0 +1,67 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/brcm,bcm53573-pmu.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom PMU + +maintainers: + - Rafał Miłecki <rafal@xxxxxxxxxx> + +description: | + Broadcom PMU ("Power Management Unit"?) is a hardware block grouping smaller + blocks. It contains few clocks and some shared registers (used to power + control more than 1 block). + +properties: + compatible: + items: + - const: brcm,bcm53573-pmu + - const: simple-mfd + - const: syscon + + reg: + maxItems: 1 + + clock-controller-ilp: + description: ILP clock (sometimes referred as "slow clock") + type: object + allOf: + - $ref: /schemas/clock/clock.yaml + - properties: + compatible: + const: brcm,bcm53573-ilp + clocks: + description: ALP clock + maxItems: 1 + clock-output-names: + const: ilp + "#clock-cells": + const: 0 + required: + - compatible + - clocks + - clock-output-names + - "#clock-cells" + unevaluatedProperties: false + +additionalProperties: false + +required: + - reg + - clock-controller-ilp + +examples: + - | + pmu@18012000 { + compatible = "brcm,bcm53573-pmu", "simple-mfd", "syscon"; + reg = <0x18012000 0x00001000>; + + clock-controller-ilp { + compatible = "brcm,bcm53573-ilp"; + clocks = <&alp>; + clock-output-names = "ilp"; + #clock-cells = <0>; + }; + }; -- 2.35.3