[PATCH v4 2/6] dt-bindings: phy: Add rockchip,rk3568-edp-phy

Krzysztof Kozlowski krzk at kernel.org
Tue Nov 3 03:20:34 PST 2026


On Fri, Oct 30, 2026 at 02:49:01PM +0800, Damon Ding wrote:
> Document the eDP transmitter PHY with NaNeng IP block found on the
> RK3568 SoC.  The PHY has its own register window inside the eDP PHY
> GRF, so its node is modeled as a child of the eDP PHY GRF syscon with
> a reg property describing that window.  Also add the
> "rockchip,rk3568-edp-phy-grf" compatible and the phy node reference to
> the Rockchip GRF schema.
> 
> Signed-off-by: Damon Ding <damon.ding at rock-chips.com>
> 
> ---
> 
> Changes in v4:
> - Add the reg entry for the PHY node and the ranges/#address-cells/
>   #size-cells for the parent syscon node.
> ---
>  .../bindings/phy/rockchip,rk3568-edp-phy.yaml | 68 +++++++++++++++++++
>  .../devicetree/bindings/soc/rockchip/grf.yaml | 20 ++++++
>  2 files changed, 88 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/phy/rockchip,rk3568-edp-phy.yaml
> 
> diff --git a/Documentation/devicetree/bindings/phy/rockchip,rk3568-edp-phy.yaml b/Documentation/devicetree/bindings/phy/rockchip,rk3568-edp-phy.yaml
> new file mode 100644
> index 000000000000..b78da00ffefd
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/phy/rockchip,rk3568-edp-phy.yaml
> @@ -0,0 +1,68 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/phy/rockchip,rk3568-edp-phy.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Rockchip eDP Transmitter PHY with NaNeng IP block
> +
> +maintainers:
> +  - Damon Ding <damon.ding at rock-chips.com>
> +  - Heiko Stuebner <heiko at sntech.de>
> +
> +description:
> +  On the RK3568 SoC the eDP PHY is controlled through the eDP PHY GRF
> +  registers, therefore the PHY node is expected to be a child of the
> +  eDP PHY GRF syscon node.
> +
> +properties:
> +  compatible:
> +    const: rockchip,rk3568-edp-phy
> +
> +  reg:
> +    maxItems: 1
> +    description: PHY registers within the eDP PHY GRF.
> +
> +  clocks:
> +    maxItems: 1
> +
> +  clock-names:
> +    const: refclk

Just "ref"

> +
> +  "#phy-cells":
> +    const: 0
> +
> +required:
> +  - compatible
> +  - reg
> +  - clocks
> +  - clock-names
> +  - "#phy-cells"
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/clock/rk3568-cru.h>
> +
> +    soc {
> +      #address-cells = <2>;
> +      #size-cells = <2>;
> +
> +      edp_phy_grf: syscon at fdcb0000 {
> +        compatible = "rockchip,rk3568-edp-phy-grf", "syscon", "simple-mfd";

This is beyond the scope of this binding. Drop entire node.

> +        reg = <0x0 0xfdcb0000 0x0 0x8000>;
> +        clocks = <&cru PCLK_EDPPHY_GRF>;
> +        ranges = <0x0 0x0 0xfdcb0000 0x100>;
> +        #address-cells = <1>;
> +        #size-cells = <1>;
> +
> +        edp_phy: phy at 0 {
> +          compatible = "rockchip,rk3568-edp-phy";
> +          reg = <0x0 0x100>;
> +          clocks = <&pmucru XIN_OSC0_EDPPHY_G>;
> +          clock-names = "refclk";
> +          #phy-cells = <0>;
> +        };
> +      };
> +    };
> diff --git a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> index 7bcb4e2f47ec..c089bd014003 100644
> --- a/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> +++ b/Documentation/devicetree/bindings/soc/rockchip/grf.yaml
> @@ -93,6 +93,7 @@ properties:
>                - rockchip,rk3399-grf
>                - rockchip,rk3399-pmugrf
>                - rockchip,rk3562-pmu-grf
> +              - rockchip,rk3568-edp-phy-grf
>                - rockchip,rk3568-grf
>                - rockchip,rk3568-pmugrf
>                - rockchip,rk3576-ioc-grf
> @@ -119,6 +120,8 @@ properties:
>    "#size-cells":
>      const: 1
>  
> +  ranges: true
> +
>  required:
>    - compatible
>    - reg
> @@ -156,6 +159,22 @@ allOf:
>            $ref: /schemas/phy/rockchip,rk3288-dp-phy.yaml#
>            unevaluatedProperties: false
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: rockchip,rk3568-edp-phy-grf
> +
> +    then:
> +      required:
> +        - "#address-cells"
> +        - "#size-cells"
> +      patternProperties:
> +        "^phy@[0-9a-f]+$":
> +          type: object
> +          $ref: /schemas/phy/rockchip,rk3568-edp-phy.yaml#
> +          unevaluatedProperties: false

Properties should be defined in top level. Here you only narrow them.

This binding is getting close to unreadable/unmaintainable. Split new
devices with children to their own binding.

Best regards,
Krzysztof




More information about the linux-phy mailing list