Commit 55b9b741 authored by Rafał Miłecki's avatar Rafał Miłecki Committed by Vinod Koul
Browse files

dt-bindings: phy: brcm,ns-usb2-phy: bind just a PHY block



The old binding was covering the whole DMU block space (DMU block
contains CRU block which contains USB PHY). It was a bad design,
overkill and a non-generic solution.

Northstar's USB 2.0 PHY is a small block (part of the CRU MFD) and
binding should be designed to represent that properly. Rework the
binding to map just PHY with the "reg" property and use syscon to
reference shared register that controls block access.

The old binding is deprecated now.

Signed-off-by: default avatarRafał Miłecki <rafal@milecki.pl>
Reviewed-by: default avatarRob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20210913080024.6951-2-zajec5@gmail.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 0fd732f8
Loading
Loading
Loading
Loading
+19 −6
Original line number Diff line number Diff line
@@ -18,13 +18,21 @@ properties:
    const: brcm,ns-usb2-phy

  reg:
    items:
      - description: iomem address range of DMU (Device Management Unit)
    anyOf:
      - maxItems: 1
        description: PHY control register
      - maxItems: 1
        description: iomem address range of DMU (Device Management Unit)
        deprecated: true

  reg-names:
    items:
      - const: dmu

  brcm,syscon-clkset:
    description: phandle to syscon for clkset register
    $ref: /schemas/types.yaml#/definitions/phandle

  clocks:
    items:
      - description: USB PHY reference clock
@@ -39,20 +47,25 @@ properties:
required:
  - compatible
  - reg
  - reg-names
  - clocks
  - clock-names
  - "#phy-cells"

oneOf:
  - required:
      - brcm,syscon-clkset
  - required:
      - reg-names

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/bcm-nsp.h>
    phy@1800c000 {
    phy@1800c164 {
        compatible = "brcm,ns-usb2-phy";
        reg = <0x1800c000 0x1000>;
        reg-names = "dmu";
        reg = <0x1800c164 0x4>;
        brcm,syscon-clkset = <&clkset>;
        clocks = <&genpll BCM_NSP_GENPLL_USB_PHY_REF_CLK>;
        clock-names = "phy-ref-clk";
        #phy-cells = <0>;