PCI: j721e: Add PCIe support for AM64
authorKishon Vijay Abraham I <kishon@ti.com>
Wed, 11 Aug 2021 12:33:35 +0000 (18:03 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 22 Sep 2021 10:28:01 +0000 (12:28 +0200)
[ Upstream commit c8a375a8e15ac31293d7fda08008d6da8f5df3db ]

AM64 has the same PCIe IP as in J7200 with certain erratas not
applicable (quirk_detect_quiet_flag). Add support for "ti,am64-pcie-host"
compatible and "ti,am64-pcie-ep" compatible that is specific to AM64.

Link: https://lore.kernel.org/r/20210811123336.31357-5-kishon@ti.com
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/pci/controller/cadence/pci-j721e.c

index 2f5a49c770740087714338a7e27512706ef937d2..8a6d68e13f3018ad7470a574da9e00996347234f 100644 (file)
@@ -298,6 +298,17 @@ static const struct j721e_pcie_data j7200_pcie_ep_data = {
        .quirk_detect_quiet_flag = true,
 };
 
+static const struct j721e_pcie_data am64_pcie_rc_data = {
+       .mode = PCI_MODE_RC,
+       .linkdown_irq_regfield = J7200_LINK_DOWN,
+       .byte_access_allowed = true,
+};
+
+static const struct j721e_pcie_data am64_pcie_ep_data = {
+       .mode = PCI_MODE_EP,
+       .linkdown_irq_regfield = J7200_LINK_DOWN,
+};
+
 static const struct of_device_id of_j721e_pcie_match[] = {
        {
                .compatible = "ti,j721e-pcie-host",
@@ -315,6 +326,14 @@ static const struct of_device_id of_j721e_pcie_match[] = {
                .compatible = "ti,j7200-pcie-ep",
                .data = &j7200_pcie_ep_data,
        },
+       {
+               .compatible = "ti,am64-pcie-host",
+               .data = &am64_pcie_rc_data,
+       },
+       {
+               .compatible = "ti,am64-pcie-ep",
+               .data = &am64_pcie_ep_data,
+       },
        {},
 };