mtd: rawnand: denali: deassert write protect pin
[oweals/u-boot.git] / drivers / pci / pcie_fsl.c
index 31cb5d25ad883ddaaab7b2694e89986d7353d12c..ab33459e28e0df5c1601cd97ac43115b02e80aa4 100644 (file)
@@ -14,7 +14,9 @@
 #include <asm/fsl_pci.h>
 #include <asm/fsl_serdes.h>
 #include <asm/io.h>
+#include <linux/delay.h>
 #include "pcie_fsl.h"
+#include <dm/device_compat.h>
 
 LIST_HEAD(fsl_pcie_list);
 
@@ -42,7 +44,7 @@ static int fsl_pcie_addr_valid(struct fsl_pcie *pcie, pci_dev_t bdf)
        return 0;
 }
 
-static int fsl_pcie_read_config(struct udevice *bus, pci_dev_t bdf,
+static int fsl_pcie_read_config(const struct udevice *bus, pci_dev_t bdf,
                                uint offset, ulong *valuep,
                                enum pci_size_t size)
 {
@@ -616,6 +618,12 @@ static struct fsl_pcie_data p1_p2_data = {
        .stride = 0x1000,
 };
 
+static struct fsl_pcie_data p2041_data = {
+       .block_offset = 0x200000,
+       .block_offset_mask = 0x3fffff,
+       .stride = 0x1000,
+};
+
 static struct fsl_pcie_data t2080_data = {
        .block_offset = 0x240000,
        .block_offset_mask = 0x3fffff,
@@ -623,7 +631,12 @@ static struct fsl_pcie_data t2080_data = {
 };
 
 static const struct udevice_id fsl_pcie_ids[] = {
+       { .compatible = "fsl,pcie-mpc8548", .data = (ulong)&p1_p2_data },
        { .compatible = "fsl,pcie-p1_p2", .data = (ulong)&p1_p2_data },
+       { .compatible = "fsl,pcie-p2041", .data = (ulong)&p2041_data },
+       { .compatible = "fsl,pcie-p3041", .data = (ulong)&p2041_data },
+       { .compatible = "fsl,pcie-p4080", .data = (ulong)&p2041_data },
+       { .compatible = "fsl,pcie-p5040", .data = (ulong)&p2041_data },
        { .compatible = "fsl,pcie-t102x", .data = (ulong)&t2080_data },
        { .compatible = "fsl,pcie-t104x", .data = (ulong)&t2080_data },
        { .compatible = "fsl,pcie-t2080", .data = (ulong)&t2080_data },