Message ID | 20210713094745.2586-1-zajec5@gmail.com |
---|---|
State | New |
Headers | show |
Series | [V3,RESEND] dt-bindings: mfd: add Broadcom CRU | expand |
Hi Lee, On 13.07.2021 11:47, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > CRU is a block used in e.g. Northstar devices. It can be seen in the > bcm5301x.dtsi and this binding documents its proper usage. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > Reviewed-by: Rob Herring <robh@kernel.org> > --- > V2: Use complete binding & change additionalProperties to false > V3: Use clock-controller@ for clocks > RESEND: Patch is ready for pushing now since 5.14-rc1 is out > > Lee: last time I sent this patch you couldn't push it because of docs > validation dependency on 3 following commits: > ac5f8197d15c ("dt-bindings: pinctrl: convert Broadcom Northstar to the json-schema") > 08e9fdfbb224 ("dt-bindings: thermal: brcm,ns-thermal: Convert to the json-schema") > 8f711f68cffd ("dt-bindings: clock: brcm, iproc-clocks: convert to the json-schema") > > All above commits made it into the 5.14-rc1. let me kindly ask you about this patch as I don't see it in the https://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd.git/log/?h=for-mfd-next Could you send it to Linus with your upcoming 5.15 pull req, please?
On Tue, 13 Jul 2021, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > CRU is a block used in e.g. Northstar devices. It can be seen in the > bcm5301x.dtsi and this binding documents its proper usage. > > Signed-off-by: Rafał Miłecki <rafal@milecki.pl> > Reviewed-by: Rob Herring <robh@kernel.org> > --- > V2: Use complete binding & change additionalProperties to false > V3: Use clock-controller@ for clocks > RESEND: Patch is ready for pushing now since 5.14-rc1 is out > > Lee: last time I sent this patch you couldn't push it because of docs > validation dependency on 3 following commits: > ac5f8197d15c ("dt-bindings: pinctrl: convert Broadcom Northstar to the json-schema") > 08e9fdfbb224 ("dt-bindings: thermal: brcm,ns-thermal: Convert to the json-schema") > 8f711f68cffd ("dt-bindings: clock: brcm, iproc-clocks: convert to the json-schema") > > All above commits made it into the 5.14-rc1. > --- > .../devicetree/bindings/mfd/brcm,cru.yaml | 86 +++++++++++++++++++ > 1 file changed, 86 insertions(+) > create mode 100644 Documentation/devicetree/bindings/mfd/brcm,cru.yaml Applied, thanks. -- Lee Jones [李琼斯] Senior Technical Lead - Developer Services Linaro.org │ Open source software for Arm SoCs Follow Linaro: Facebook | Twitter | Blog
diff --git a/Documentation/devicetree/bindings/mfd/brcm,cru.yaml b/Documentation/devicetree/bindings/mfd/brcm,cru.yaml new file mode 100644 index 000000000000..fc1317ab3226 --- /dev/null +++ b/Documentation/devicetree/bindings/mfd/brcm,cru.yaml @@ -0,0 +1,86 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/mfd/brcm,cru.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Broadcom CRU + +maintainers: + - Rafał Miłecki <rafal@milecki.pl> + +description: | + Broadcom CRU ("Clock and Reset Unit" or "Central Resource Unit") is a hardware + block grouping smaller blocks. On Broadcom Northstar platform it contains e.g. + clocks, pinctrl, USB PHY and thermal. + +properties: + compatible: + items: + - enum: + - brcm,ns-cru + - const: simple-mfd + + reg: + description: CRU registers + + ranges: true + + "#address-cells": + const: 1 + + "#size-cells": + const: 1 + + pinctrl: + $ref: ../pinctrl/brcm,ns-pinmux.yaml + +patternProperties: + '^clock-controller@[a-f0-9]+$': + $ref: ../clock/brcm,iproc-clocks.yaml + + '^thermal@[a-f0-9]+$': + $ref: ../thermal/brcm,ns-thermal.yaml + +additionalProperties: false + +required: + - reg + +examples: + - | + cru-bus@1800c100 { + compatible = "brcm,ns-cru", "simple-mfd"; + reg = <0x1800c100 0x1d0>; + ranges; + #address-cells = <1>; + #size-cells = <1>; + + clock-controller@100 { + #clock-cells = <1>; + compatible = "brcm,nsp-lcpll0"; + reg = <0x100 0x14>; + clocks = <&osc>; + clock-output-names = "lcpll0", "pcie_phy", "sdio", "ddr_phy"; + }; + + clock-controller@140 { + #clock-cells = <1>; + compatible = "brcm,nsp-genpll"; + reg = <0x140 0x24>; + clocks = <&osc>; + clock-output-names = "genpll", "phy", "ethernetclk", "usbclk", + "iprocfast", "sata1", "sata2"; + }; + + pinctrl { + compatible = "brcm,bcm4708-pinmux"; + offset = <0x1c0>; + }; + + thermal@2c0 { + compatible = "brcm,ns-thermal"; + reg = <0x2c0 0x10>; + #thermal-sensor-cells = <0>; + }; + };