ppc4xx: Fix 460EX/GT PCIe port initialization
[oweals/u-boot.git] / cpu / ppc4xx / 4xx_pcie.c
index f9a1988d4174c1c040819ad77545c45bb684c9ff..d50a538e38ab1a055c2182f170d5e449ebf8b542 100644 (file)
@@ -444,8 +444,8 @@ static void ppc4xx_setup_utl(u32 port)
 
 /*
  * TODO: double check PCI express SDR based on the latest user manual
- *              Some registers specified here no longer exist.. has to be
- *              updated based on the final EAS spec.
+ *              Some registers specified here no longer exist.. has to be
+ *              updated based on the final EAS spec.
  */
 static int check_error(void)
 {
@@ -615,22 +615,20 @@ int __ppc4xx_init_pcie_port_hw(int port, int rootport)
 #if defined(CONFIG_460EX) || defined(CONFIG_460GT)
 int __ppc4xx_init_pcie_port_hw(int port, int rootport)
 {
-       u32 val = 1 << 24;
+       u32 val;
        u32 utlset1;
 
-       if (rootport) {
+       if (rootport)
                val = PTYPE_ROOT_PORT << 20;
-               utlset1 = 0x21222222;
-       } else {
+       else
                val = PTYPE_LEGACY_ENDPOINT << 20;
-               utlset1 = 0x20222222;
-       }
 
        if (port == 0) {
                val |= LNKW_X1 << 12;
+               utlset1 = 0x20000000;
        } else {
                val |= LNKW_X4 << 12;
-               utlset1 |= 0x00101101;
+               utlset1 = 0x20101101;
        }
 
        SDR_WRITE(SDRN_PESDR_DLPSET(port), val);