Re: [PATCH V3 robh dt/next] dt-bindings: mfd: add Broadcom CRU

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, May 19, 2021 at 1:40 PM Rafał Miłecki <zajec5@xxxxxxxxx> wrote:
>
> From: Rafał Miłecki <rafal@xxxxxxxxxx>
>
> 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@xxxxxxxxxx>
> Reviewed-by: Rob Herring <robh@xxxxxxxxxx>
> ---
> Rob: would you take this patch through your dt/next?

I can't, I don't have the dependencies. It looks like 08e9fdfbb224 is
already upstream. For ac5f8197d15c, I could get a stable branch from
Linus, but I can't take some random github branch. Even if I got a
stable branch for that, that's a lot of extra work for me for 1 patch
compared to waiting til next cycle.

My suggestion is get a stable branch/tag from Linus, merge that into
the Broadcom branch and then apply this patch. Though really, Linus
needed to know the dependency when applying the patch if he doesn't
rebase his tree. (I realize the dependency probably happened because
of the review).

>
> V2: Use complete binding & change additionalProperties to false
> V3: Use clock-controller@ for clocks
>
> NOTICE: this patch is based on top of the linux-next as it requires:
> ac5f8197d15c ("dt-bindings: pinctrl: convert Broadcom Northstar to the json-schema")
> 08e9fdfbb224 ("dt-bindings: thermal: brcm,ns-thermal: Convert to the json-schema")
> AND merged git@xxxxxxxxxx:Broadcom/stblinux.git devicetree/next as it requires:
> 8f711f68cffd ("dt-bindings: clock: brcm, iproc-clocks: convert to the json-schema")
>
> This is reworked version of the
> [PATCH robh next] dt-bindings: bus: add Broadcom CRU
> https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20210309142241.16259-1-zajec5@xxxxxxxxx/
> ---
>  .../devicetree/bindings/mfd/brcm,cru.yaml     | 86 +++++++++++++++++++
>  1 file changed, 86 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/mfd/brcm,cru.yaml
>
> 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@xxxxxxxxxx>
> +
> +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>;
> +        };
> +    };
> --
> 2.26.2
>




[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux