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

Damon Ding damon.ding at rock-chips.com
Wed Nov 4 00:59:58 PST 2026


Hi Krzysztof,

On 11/3/2026 7:20 PM, Krzysztof Kozlowski wrote:
> 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"

Will fix in v5.

> 
>> +
>> +  "#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.

Will Drop in v5. The example should only show the PHY node itself.

> 
>> +        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.

Agreed. The "rockchip,rk3568-edp-phy-grf" syscon will be documented by
its own binding schema in v5.

Best regards,
Damon




More information about the linux-arm-kernel mailing list