Since Tesla FSD SoC uses Samsung PCIe PHY, add support in exynos PCIe PHY bindings. In Tesla FSD SoC, the two PHY instances, although having identical hardware design and register maps, are placed in different locations (Placement and routing) inside the SoC and have distinct PHY-to-Controller topologies. (One instance is connected to two PCIe controllers, while the other is connected to only one). As a result, they experience different analog environments, including varying channel losses and noise profiles. Since these PHYs lack internal adaptation mechanisms and f/w based tuning, manual register programming is required for analog tuning. To ensure optimal signal integrity, it is essential to use different register values for each PHY instance, despite their identical hardware design. This is because the same register values may not be suitable for both instances due to their differing environments and topologies. Due to this, we are using two PHY compatibles for different PHY instances. Signed-off-by: Shradha Todi <shradha.t@xxxxxxxxxxx> --- .../bindings/phy/samsung,exynos-pcie-phy.yaml | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/phy/samsung,exynos-pcie-phy.yaml b/Documentation/devicetree/bindings/phy/samsung,exynos-pcie-phy.yaml index 41df8bb08ff7..6295472696db 100644 --- a/Documentation/devicetree/bindings/phy/samsung,exynos-pcie-phy.yaml +++ b/Documentation/devicetree/bindings/phy/samsung,exynos-pcie-phy.yaml @@ -15,10 +15,14 @@ properties: const: 0 compatible: - const: samsung,exynos5433-pcie-phy + enum: + - samsung,exynos5433-pcie-phy + - tesla,fsd-pcie-phy0 + - tesla,fsd-pcie-phy1 reg: - maxItems: 1 + minItems: 1 + maxItems: 2 samsung,pmu-syscon: $ref: /schemas/types.yaml#/definitions/phandle @@ -30,6 +34,25 @@ properties: description: phandle for FSYS sysreg interface, used to control sysreg registers bits for PCIe PHY +allOf: + - if: + properties: + compatible: + contains: + enum: + - tesla,fsd-pcie-phy0 + - tesla,fsd-pcie-phy1 + then: + properties: + reg: + items: + - description: PHY + - description: PCS + else: + properties: + reg: + maxItems: 1 + required: - "#phy-cells" - compatible -- 2.49.0