Commit e245c725 authored by Shresth Prasad's avatar Shresth Prasad Committed by Vinod Koul
Browse files

dt-bindings: phy: rockchip-emmc-phy: Convert to dtschema



Convert txt bindings of Rockchip EMMC PHY to dtschema to allow
for validation.

Signed-off-by: default avatarShresth Prasad <shresthprasad7@gmail.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240620212806.3011-2-shresthprasad7@gmail.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 3d83abca
Loading
Loading
Loading
Loading
+64 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only
%YAML 1.2
---
$id: http://devicetree.org/schemas/phy/rockchip,rk3399-emmc-phy.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Rockchip EMMC PHY

maintainers:
  - Heiko Stuebner <heiko@sntech.de>

properties:
  compatible:
    const: rockchip,rk3399-emmc-phy

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    const: emmcclk

  drive-impedance-ohm:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Specifies the drive impedance in Ohm.
    enum: [33, 40, 50, 66, 100]
    default: 50

  rockchip,enable-strobe-pulldown:
    type: boolean
    description: |
      Enable internal pull-down for the strobe
      line.  If not set, pull-down is not used.

  rockchip,output-tapdelay-select:
    $ref: /schemas/types.yaml#/definitions/uint32
    description:
      Specifies the phyctrl_otapdlysec register.
    default: 0x4
    maximum: 0xf

  "#phy-cells":
    const: 0

required:
  - compatible
  - reg
  - "#phy-cells"

additionalProperties: false

examples:
  - |
    phy@f780 {
      compatible = "rockchip,rk3399-emmc-phy";
      reg = <0xf780 0x20>;
      clocks = <&sdhci>;
      clock-names = "emmcclk";
      drive-impedance-ohm = <50>;
      #phy-cells = <0>;
    };
+0 −43
Original line number Diff line number Diff line
Rockchip EMMC PHY
-----------------------

Required properties:
 - compatible: rockchip,rk3399-emmc-phy
 - #phy-cells: must be 0
 - reg: PHY register address offset and length in "general
   register files"

Optional properties:
 - clock-names: Should contain "emmcclk".  Although this is listed as optional
		(because most boards can get basic functionality without having
		access to it), it is strongly suggested.
		See ../clock/clock-bindings.txt for details.
 - clocks: Should have a phandle to the card clock exported by the SDHCI driver.
 - drive-impedance-ohm: Specifies the drive impedance in Ohm.
                        Possible values are 33, 40, 50, 66 and 100.
                        If not set, the default value of 50 will be applied.
 - rockchip,enable-strobe-pulldown: Enable internal pull-down for the strobe
                                    line.  If not set, pull-down is not used.
 - rockchip,output-tapdelay-select: Specifies the phyctrl_otapdlysec register.
                                    If not set, the register defaults to 0x4.
                                    Maximum value 0xf.

Example:


grf: syscon@ff770000 {
	compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
	#address-cells = <1>;
	#size-cells = <1>;

...

	emmcphy: phy@f780 {
		compatible = "rockchip,rk3399-emmc-phy";
		reg = <0xf780 0x20>;
		clocks = <&sdhci>;
		clock-names = "emmcclk";
		drive-impedance-ohm = <50>;
		#phy-cells = <0>;
	};
};
+13 −3
Original line number Diff line number Diff line
@@ -176,9 +176,10 @@ allOf:
            Documentation/devicetree/bindings/phy/rockchip-pcie-phy.txt

      patternProperties:
        "phy@[0-9a-f]+$":
          description:
            Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt
        "^phy@[0-9a-f]+$":
          type: object
          $ref: /schemas/phy/rockchip,rk3399-emmc-phy.yaml#
          unevaluatedProperties: false

  - if:
      properties:
@@ -292,6 +293,15 @@ examples:
        #phy-cells = <0>;
      };

      phy@f780 {
        compatible = "rockchip,rk3399-emmc-phy";
        reg = <0xf780 0x20>;
        clocks = <&sdhci>;
        clock-names = "emmcclk";
        drive-impedance-ohm = <50>;
        #phy-cells = <0>;
      };

      u2phy0: usb2phy@e450 {
        compatible = "rockchip,rk3399-usb2phy";
        reg = <0xe450 0x10>;