Quoting Chunyan Zhang (2021-09-22 23:41:35) > diff --git a/Documentation/devicetree/bindings/mfd/sprd,ums512-glbreg.yaml b/Documentation/devicetree/bindings/mfd/sprd,ums512-glbreg.yaml > new file mode 100644 > index 000000000000..3522f3d2d8de > --- /dev/null > +++ b/Documentation/devicetree/bindings/mfd/sprd,ums512-glbreg.yaml > @@ -0,0 +1,68 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/mfd/sprd,ums512-glbreg.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Unisoc System Global Register Device Tree Bindings > + > +maintainers: > + - Orson Zhai <orsonzhai@xxxxxxxxx> > + - Baolin Wang <baolin.wang7@xxxxxxxxx> > + - Chunyan Zhang <zhang.lyra@xxxxxxxxx> > + > +description: > + Unisoc system global registers provide register map > + for clocks and some multimedia modules of the SoC. > + > +properties: > + "#address-cells": true > + "#size-cells": true > + > + compatible: > + items: > + - const: sprd,ums512-glbregs > + - const: syscon > + - const: simple-mfd > + > + ranges: > + maxItems: 1 > + > + reg: > + maxItems: 1 > + > +patternProperties: > + "^.*@[0-9a-f]+$": > + # Child node > + type: object > + $ref: "../clock/sprd,ums512-clk.yaml" > + description: > + Clock controller for the SoC clocks. > + > +required: > + - compatible > + - reg > + > +additionalProperties: false > + > +examples: > + - | > + ap_apb_regs: syscon@71000000 { > + compatible = "sprd,ums512-glbregs", "syscon", "simple-mfd"; > + reg = <0x71000000 0x3000>; > + #address-cells = <1>; > + #size-cells = <1>; > + ranges = <0 0x71000000 0x3000>; > + > + clock-controller@0 { > + compatible = "sprd,ums512-apahb-gate"; Why is this a subnode of a syscon and simple-mfd? Why not put the clock-controller@71000000 directly onto the bus? Does making it a child node help somehow? > + reg = <0x0 0x2000>; > + #clock-cells = <1>; > + }; > + };