| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- # 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
- 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>;
- };
|