| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/phy/rockchip,pcie3-phy.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Rockchip PCIe v3 phy | |
| maintainers: | |
| - Heiko Stuebner <heiko@sntech.de> | |
| properties: | |
| compatible: | |
| enum: | |
| - rockchip,rk3568-pcie3-phy | |
| - rockchip,rk3588-pcie3-phy | |
| reg: | |
| maxItems: 1 | |
| clocks: | |
| minItems: 1 | |
| maxItems: 3 | |
| clock-names: | |
| minItems: 1 | |
| maxItems: 3 | |
| data-lanes: | |
| description: which lanes (by position) should be mapped to which | |
| controller (value). 0 means lane disabled, higher value means used. | |
| (controller-number +1 ) | |
| $ref: /schemas/types.yaml#/definitions/uint32-array | |
| minItems: 2 | |
| maxItems: 16 | |
| items: | |
| minimum: 0 | |
| maximum: 16 | |
| "#phy-cells": | |
| const: 0 | |
| resets: | |
| maxItems: 1 | |
| reset-names: | |
| const: phy | |
| phy-supply: | |
| description: Single PHY regulator | |
| rockchip,phy-grf: | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| description: phandle to the syscon managing the phy "general register files" | |
| rockchip,pipe-grf: | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| description: phandle to the syscon managing the pipe "general register files" | |
| rockchip,rx-common-refclk-mode: | |
| description: which lanes (by position) should be configured to run in | |
| RX common reference clock mode. 0 means disabled, 1 means enabled. | |
| $ref: /schemas/types.yaml#/definitions/uint32-array | |
| minItems: 1 | |
| maxItems: 16 | |
| items: | |
| minimum: 0 | |
| maximum: 1 | |
| required: | |
| - compatible | |
| - reg | |
| - rockchip,phy-grf | |
| - "#phy-cells" | |
| allOf: | |
| - if: | |
| properties: | |
| compatible: | |
| enum: | |
| - rockchip,rk3588-pcie3-phy | |
| then: | |
| properties: | |
| clocks: | |
| maxItems: 1 | |
| clock-names: | |
| items: | |
| - const: pclk | |
| else: | |
| properties: | |
| clocks: | |
| minItems: 3 | |
| clock-names: | |
| items: | |
| - const: refclk_m | |
| - const: refclk_n | |
| - const: pclk | |
| additionalProperties: false | |
| examples: | |
| - | | |
| #include <dt-bindings/clock/rk3568-cru.h> | |
| pcie30phy: phy@fe8c0000 { | |
| compatible = "rockchip,rk3568-pcie3-phy"; | |
| reg = <0xfe8c0000 0x20000>; | |
| #phy-cells = <0>; | |
| clocks = <&pmucru CLK_PCIE30PHY_REF_M>, | |
| <&pmucru CLK_PCIE30PHY_REF_N>, | |
| <&cru PCLK_PCIE30PHY>; | |
| clock-names = "refclk_m", "refclk_n", "pclk"; | |
| resets = <&cru SRST_PCIE30PHY>; | |
| reset-names = "phy"; | |
| rockchip,phy-grf = <&pcie30_phy_grf>; | |
| }; |