]> git.sur5r.net Git - u-boot/blobdiff - drivers/pci/fsl_pci_init.c
fsl_pci: Update PCIe boot ouput
[u-boot] / drivers / pci / fsl_pci_init.c
index d7623369fea1e0032ba7063e3040fba1cd2df000..6c168c141cab6e4a87369866329ba3a2adab8fc7 100644 (file)
@@ -217,8 +217,10 @@ static int fsl_pci_setup_inbound_windows(struct pci_controller *hose,
        return 1;
 }
 
-void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data)
+void fsl_pci_init(struct pci_controller *hose, struct fsl_pci_info *pci_info)
 {
+       u32 cfg_addr = (u32)&((ccsr_fsl_pci_t *)pci_info->regs)->cfg_addr;
+       u32 cfg_data = (u32)&((ccsr_fsl_pci_t *)pci_info->regs)->cfg_data;
        u16 temp16;
        u32 temp32;
        int enabled, r, inbound = 0;
@@ -235,10 +237,6 @@ void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data)
        u64 out_hi = 0, out_lo = -1ULL;
        u32 pcicsrbar, pcicsrbar_sz;
 
-#ifdef DEBUG
-       int neg_link_w;
-#endif
-
        pci_setup_indirect(hose, cfg_addr, cfg_data);
 
        /* Handle setup of outbound windows first */
@@ -354,20 +352,20 @@ void fsl_pci_init(struct pci_controller *hose, u32 cfg_addr, u32 cfg_data)
 #endif
 
                if (!enabled) {
-                       debug("....PCIE link error.  Skipping scan."
-                             "LTSSM=0x%02x\n", ltssm);
+                       /* Let the user know there's no PCIe link */
+                       printf("no link, regs @ 0x%lx\n", pci_info->regs);
                        hose->last_busno = hose->first_busno;
                        return;
                }
 
                out_be32(&pci->pme_msg_det, 0xffffffff);
                out_be32(&pci->pme_msg_int_en, 0xffffffff);
-#ifdef DEBUG
+
+               /* Print the negotiated PCIe link width */
                pci_hose_read_config_word(hose, dev, PCI_LSR, &temp16);
-               neg_link_w = (temp16 & 0x3f0 ) >> 4;
-               printf("...PCIE LTSSM=0x%x, Negotiated link width=%d\n",
-                     ltssm, neg_link_w);
-#endif
+               printf("x%d, regs @ 0x%lx\n", (temp16 & 0x3f0 ) >> 4,
+                       pci_info->regs);
+
                hose->current_busno++; /* Start scan with secondary */
                pciauto_prescan_setup_bridge(hose, dev, hose->current_busno);
        }
@@ -476,7 +474,7 @@ int fsl_pci_init_port(struct fsl_pci_info *pci_info,
        hose->region_count = r - hose->regions;
        hose->first_busno = busno;
 
-       fsl_pci_init(hose, (u32)&pci->cfg_addr, (u32)&pci->cfg_data);
+       fsl_pci_init(hose, pci_info);
 
        if (fsl_is_pci_agent(hose)) {
                fsl_pci_config_unlock(hose);
@@ -485,7 +483,7 @@ int fsl_pci_init_port(struct fsl_pci_info *pci_info,
 
        pci_hose_read_config_byte(hose, dev, FSL_PCIE_CAP_ID, &pcie_cap);
        printf("PCI%s%x: Bus %02x - %02x\n", pcie_cap == PCI_CAP_ID_EXP ?
-               "E" : "", pci_info->pci_num,
+               "e" : "", pci_info->pci_num,
                hose->first_busno, hose->last_busno);
 
        return(hose->last_busno + 1);
@@ -525,10 +523,14 @@ int fsl_configure_pcie(struct fsl_pci_info *info,
 
        set_next_law(info->mem_phys, law_size_bits(info->mem_size), info->law);
        set_next_law(info->io_phys, law_size_bits(info->io_size), info->law);
+
        is_endpoint = fsl_setup_hose(hose, info->regs);
-       printf("PCIE%u: connected to %s as %s (base addr %lx)\n",
-              info->pci_num, connected,
-              is_endpoint ? "Endpoint" : "Root Complex", info->regs);
+       printf("PCIe%u: %s", info->pci_num,
+               is_endpoint ? "Endpoint" : "Root Complex");
+       if (connected)
+               printf(" of %s", connected);
+       puts(", ");
+
        return fsl_pci_init_port(info, hose, busno);
 }
 
@@ -606,7 +608,7 @@ int fsl_pcie_init_ctrl(int busno, u32 devdisr, enum srds_prtcl dev,
                busno = fsl_configure_pcie(pci_info, hose,
                                board_serdes_name(dev), busno);
        } else {
-               printf("PCIE%d: disabled\n", num + 1);
+               printf("PCIe%d: disabled\n", num + 1);
        }
 
        return busno;