# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/phy/qcom,sc8280xp-qmp-ufs-phy.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm QMP PHY controller (UFS, SC8280XP) maintainers: - Vinod Koul <vkoul@kernel.org> description: The QMP PHY controller supports physical layer functionality for a number of controllers on Qualcomm chipsets, such as, PCIe, UFS, and USB. properties: compatible: enum: - qcom,msm8996-qmp-ufs-phy - qcom,msm8998-qmp-ufs-phy - qcom,sa8775p-qmp-ufs-phy - qcom,sc8180x-qmp-ufs-phy - qcom,sc8280xp-qmp-ufs-phy - qcom,sdm845-qmp-ufs-phy - qcom,sm6115-qmp-ufs-phy - qcom,sm6125-qmp-ufs-phy - qcom,sm6350-qmp-ufs-phy - qcom,sm7150-qmp-ufs-phy - qcom,sm8150-qmp-ufs-phy - qcom,sm8250-qmp-ufs-phy - qcom,sm8350-qmp-ufs-phy - qcom,sm8450-qmp-ufs-phy - qcom,sm8550-qmp-ufs-phy reg: maxItems: 1 clocks: minItems: 1 maxItems: 3 clock-names: minItems: 1 items: - const: ref - const: ref_aux - const: qref power-domains: maxItems: 1 resets: maxItems: 1 reset-names: items: - const: ufsphy vdda-phy-supply: true vdda-pll-supply: true "#clock-cells": const: 1 "#phy-cells": const: 0 required: - compatible - reg - clocks - clock-names - power-domains - resets - reset-names - vdda-phy-supply - vdda-pll-supply - "#phy-cells" allOf: - if: properties: compatible: contains: enum: - qcom,sa8775p-qmp-ufs-phy - qcom,sm8450-qmp-ufs-phy then: properties: clocks: minItems: 3 clock-names: minItems: 3 - if: properties: compatible: contains: enum: - qcom,msm8998-qmp-ufs-phy - qcom,sc8180x-qmp-ufs-phy - qcom,sc8280xp-qmp-ufs-phy - qcom,sdm845-qmp-ufs-phy - qcom,sm6115-qmp-ufs-phy - qcom,sm6125-qmp-ufs-phy - qcom,sm6350-qmp-ufs-phy - qcom,sm7150-qmp-ufs-phy - qcom,sm8150-qmp-ufs-phy - qcom,sm8250-qmp-ufs-phy - qcom,sm8350-qmp-ufs-phy - qcom,sm8550-qmp-ufs-phy then: properties: clocks: maxItems: 2 clock-names: maxItems: 2 - if: properties: compatible: contains: enum: - qcom,msm8996-qmp-ufs-phy then: properties: clocks: maxItems: 1 clock-names: maxItems: 1 additionalProperties: false examples: - | #include <dt-bindings/clock/qcom,gcc-sc8280xp.h> ufs_mem_phy: phy@1d87000 { compatible = "qcom,sc8280xp-qmp-ufs-phy"; reg = <0x01d87000 0x1000>; clocks = <&gcc GCC_UFS_REF_CLKREF_CLK>, <&gcc GCC_UFS_PHY_PHY_AUX_CLK>; clock-names = "ref", "ref_aux"; power-domains = <&gcc UFS_PHY_GDSC>; resets = <&ufs_mem_hc 0>; reset-names = "ufsphy"; vdda-phy-supply = <&vreg_l6b>; vdda-pll-supply = <&vreg_l3b>; #phy-cells = <0>; };