[U-Boot-Users] [GIT PULL] 85xx updates

Andy Fleming afleming at gmail.com
Fri Jun 8 23:57:02 CEST 2007


The following changes since commit 9045f33c023f698660a2e45d1b2194c0711abebc:
  Wolfgang Denk (1):
        Fix config problems on SC3 board; make ide_reset_timeout work.

are found in the git repository at:

  git://www.denx.de/git/u-boot-mpc85xx.git

Andy Fleming (6):
      Fix Marvell 88e1145 PHY init code
      Add support for CPM device tree configuration to 8560 ADS
      tsec: Fix PHY code to match first driver
      Polished the 85xx ADS config files
      From: eran liberty <eran.liberty at gmail.com>
      Remove erroneous errata code from Marvel 88E1111S driver

Ed Swarthout (1):
      8544ds: Fix Makefile after moving pixis to board/freescale.

 board/freescale/mpc8544ds/Makefile |    6 ++--
 board/mpc8560ads/mpc8560ads.c      |   26 +++++++++++++++++++++++++
 drivers/tsec.c                     |   15 ++++++-------
 include/asm-ppc/immap_85xx.h       |    4 ++-
 include/configs/MPC8540ADS.h       |    4 +-
 include/configs/MPC8560ADS.h       |   37 +++++++++++++++++++++++------------
 6 files changed, 65 insertions(+), 27 deletions(-)
commit 92696b49ed48a99ed975d58ef02ff22ab16215ee
Author: Andy Fleming <afleming at freescale.com>
Date:   Fri Jun 8 16:41:18 2007 -0500

    Remove erroneous errata code from Marvel 88E1111S driver

    The Marvel 88E1111S driver for the TSEC was copied from the
    88E1101 driver, and included a fix for an erratum which does not
    exist on that part.  Now it is removed

    Signed-off-by: Andy Fleming <afleming at freescale.com>

diff --git a/drivers/tsec.c b/drivers/tsec.c
index 31a0aba..3032a39 100644
--- a/drivers/tsec.c
+++ b/drivers/tsec.c
@@ -968,11 +968,6 @@ struct phy_info phy_info_M88E1111S = {
        (struct phy_cmd[]){     /* config */
                           /* Reset and configure the PHY */
                           {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
-                          {0x1d, 0x1f, NULL},
-                          {0x1e, 0x200c, NULL},
-                          {0x1d, 0x5, NULL},
-                          {0x1e, 0x0, NULL},
-                          {0x1e, 0x100, NULL},
                           {0x14, 0x0cd2, NULL}, /* Delay RGMII TX and RX */
                           {MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
                           {MIIM_ANAR, MIIM_ANAR_INIT, NULL},

commit 279095536580ab11b1dda45af93c648ce5f938a0
Author: Andy Fleming <afleming at freescale.com>
Date:   Tue Jun 5 16:38:44 2007 -0500

    From: eran liberty <eran.liberty at gmail.com>

    adds the reset register to 85xx immap

    Signed-off-by: Eran Liberty <eran.liberty at gmail.com>
    Signed-off-by: Andy Fleming <afleming at freescale.com>

diff --git a/include/asm-ppc/immap_85xx.h b/include/asm-ppc/immap_85xx.h
index 5377c2e..e002d28 100644
--- a/include/asm-ppc/immap_85xx.h
+++ b/include/asm-ppc/immap_85xx.h
@@ -1548,7 +1548,9 @@ typedef struct ccsr_gur {
        char    res9[12];
        uint    pvr;            /* 0xe00a0 - Processor version register */
        uint    svr;            /* 0xe00a4 - System version register */
-       char    res10[3416];
+       char    res10a[8];
+       uint    rstcr;          /* 0xe00b0 - Reset control register */
+       char    res10b[3404];
        uint    clkocr;         /* 0xe0e00 - Clock out select register */
        char    res11[12];
        uint    ddrdllcr;       /* 0xe0e10 - DDR DLL control register */

commit 4404fbec2ea482b60a4f32f9ca4050d1b9d1ba7d
Author: Andy Fleming <afleming at freescale.com>
Date:   Thu May 10 17:50:01 2007 -0500

    Polished the 85xx ADS config files

    Made the boot commands use device trees by default.
    Also moved the ramdisk to 1000000 (I think the previous address
    was getting overridden during boot).

    Signed-off-by: Andy Fleming <afleming at freescale.com>

diff --git a/include/configs/MPC8540ADS.h b/include/configs/MPC8540ADS.h
index 5aeea58..3d5588a 100644
--- a/include/configs/MPC8540ADS.h
+++ b/include/configs/MPC8540ADS.h
@@ -520,7 +520,7 @@
 #define        CONFIG_EXTRA_ENV_SETTINGS
         \
    "netdev=eth0\0"                                                      \
    "consoledev=ttyS0\0"                                                 \
-   "ramdiskaddr=600000\0"                                              \
+   "ramdiskaddr=1000000\0"                                             \
    "ramdiskfile=your.ramdisk.u-boot\0"                                 \
    "fdtaddr=400000\0"                                                  \
    "fdtfile=your.fdt.dtb\0"
@@ -540,7 +540,7 @@
    "tftp $ramdiskaddr $ramdiskfile;"                                    \
    "tftp $loadaddr $bootfile;"                                          \
    "tftp $fdtaddr $fdtfile;"                                           \
-   "bootm $loadaddr $ramdiskaddr"
+   "bootm $loadaddr $ramdiskaddr $fdtaddr"

 #define CONFIG_BOOTCOMMAND  CONFIG_NFSBOOTCOMMAND

diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h
index f16e39d..010736f 100644
--- a/include/configs/MPC8560ADS.h
+++ b/include/configs/MPC8560ADS.h
@@ -560,8 +560,8 @@

 #define        CONFIG_EXTRA_ENV_SETTINGS
         \
    "netdev=eth0\0"                                                      \
-   "consoledev=ttyS0\0"                                                 \
-   "ramdiskaddr=600000\0"                                              \
+   "consoledev=ttyCPM\0"                                               \
+   "ramdiskaddr=1000000\0"                                             \
    "ramdiskfile=your.ramdisk.u-boot\0"                                 \
    "fdtaddr=400000\0"                                                  \
    "fdtfile=mpc8560ads.dtb\0"
@@ -580,7 +580,8 @@
       "console=$consoledev,$baudrate $othbootargs;"                     \
    "tftp $ramdiskaddr $ramdiskfile;"                                    \
    "tftp $loadaddr $bootfile;"                                          \
-   "bootm $loadaddr $ramdiskaddr"
+   "tftp $fdtaddr $fdtfile;"                                           \
+   "bootm $loadaddr $ramdiskaddr $fdtaddr"

 #define CONFIG_BOOTCOMMAND  CONFIG_NFSBOOTCOMMAND


commit 213efb8403284372f5e3806fac222b7aa0a4996c
Author: Ed Swarthout <Ed.Swarthout at freescale.com>
Date:   Wed May 9 11:03:32 2007 -0500

    8544ds: Fix Makefile after moving pixis to board/freescale.

    The OBJTREE != SRCTREE build scenario was broken.
    This fixes it.

    Signed-off-by: Ed Swarthout <Ed.Swarthout at freescale.com>
    Signed-off-by: Jon Loeliger <jdl at freescale.com>

diff --git a/board/freescale/mpc8544ds/Makefile
b/board/freescale/mpc8544ds/Makefile
index bec2168..308f707 100644
--- a/board/freescale/mpc8544ds/Makefile
+++ b/board/freescale/mpc8544ds/Makefile
@@ -24,9 +24,9 @@

 include $(TOPDIR)/config.mk

-# ifneq ($(OBJTREE),$(SRCTREE))
-# $(shell mkdir -p $(obj)./common)
-# endif
+ifneq ($(OBJTREE),$(SRCTREE))
+$(shell mkdir -p $(obj)../common)
+endif

 LIB    = $(obj)lib$(BOARD).a


commit ffe8c7488c9d0cdfcc52b83aa1bb655768fc9783
Author: Andy Fleming <afleming at freescale.com>
Date:   Wed May 9 00:54:20 2007 -0500

    tsec: Fix PHY code to match first driver

    Jarrold Wen noticed that the generic PHY code always matches
    under the current implementation.  Change it so the first match
    wins, and *only* unknown PHYs trigger the generic driver

    Signed-off-by: Andy Fleming <afleming at freescale.com>

diff --git a/drivers/tsec.c b/drivers/tsec.c
index 693328d..31a0aba 100644
--- a/drivers/tsec.c
+++ b/drivers/tsec.c
@@ -1327,8 +1327,10 @@ struct phy_info *get_phy_info(struct eth_device *dev)
        /* loop through all the known PHY types, and find one that */
        /* matches the ID we read from the PHY. */
        for (i = 0; phy_info[i]; i++) {
-               if (phy_info[i]->id == (phy_ID >> phy_info[i]->shift))
+               if (phy_info[i]->id == (phy_ID >> phy_info[i]->shift)) {
                        theInfo = phy_info[i];
+                       break;
+               }
        }

        if (theInfo == NULL) {

commit 2bd7d99282b788b2139213217c0982f11c542e62
Author: Andy Fleming <afleming at freescale.com>
Date:   Tue May 8 17:27:43 2007 -0500

    Add support for CPM device tree configuration to 8560 ADS

    * Adds code to modify CPM frequencies
    * Cleans up the config file to #define TSEC and (for now) #undef FCC
    * Adds the MII command for all 8560 ADS configurations
    * Updates config file to provide convenience commands for booting
      with a device tree

    Signed-off-by: Vitaly Bordug <vbordug at ru.mvista.com>
    Signed-off-by: Andy Fleming <afleming at freescale.com>

diff --git a/board/mpc8560ads/mpc8560ads.c b/board/mpc8560ads/mpc8560ads.c
index d19bad6..41acb97 100644
--- a/board/mpc8560ads/mpc8560ads.c
+++ b/board/mpc8560ads/mpc8560ads.c
@@ -550,8 +550,34 @@ pci_init_board(void)

 #if defined(CONFIG_OF_FLAT_TREE) && defined(CONFIG_OF_BOARD_SETUP)
 void
+ft_soc_setup(void *blob, bd_t *bd)
+{
+       u32 *p;
+       int len;
+       ulong data;
+
+       p = ft_get_prop(blob, "/" OF_SOC "/cpm at e0000000/brg-frequency", &len);
+
+       if (p != NULL)
+               *p = cpu_to_be32(bd->bi_brgfreq);
+
+       p = ft_get_prop(blob,
+                       "/" OF_SOC "/cpm at e0000000/scc at 91a00/current-speed",
+                       &len);
+       if (p != NULL)
+               *p = cpu_to_be32(bd->bi_baudrate);
+
+       p = ft_get_prop(blob,
+                       "/" OF_SOC "/cpm at e0000000/scc at 91a20/current-speed",
+                       &len);
+       if (p != NULL)
+               *p = cpu_to_be32(bd->bi_baudrate);
+}
+
+void
 ft_board_setup(void *blob, bd_t *bd)
 {
        ft_cpu_setup(blob, bd);
+       ft_soc_setup(blob, bd);
 }
 #endif
diff --git a/include/configs/MPC8560ADS.h b/include/configs/MPC8560ADS.h
index 21e6637..f16e39d 100644
--- a/include/configs/MPC8560ADS.h
+++ b/include/configs/MPC8560ADS.h
@@ -43,9 +43,7 @@

 #define CONFIG_PCI
 #define CONFIG_TSEC_ENET               /* tsec ethernet support */
-#undef CONFIG_TSEC_ENET                /* tsec ethernet support */
-#undef  CONFIG_ETHER_ON_FCC             /* cpm FCC ethernet support */
-#define  CONFIG_ETHER_ON_FCC             /* cpm FCC ethernet support */
+#undef CONFIG_ETHER_ON_FCC             /* cpm FCC ethernet support */
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_SPD_EEPROM              /* Use SPD EEPROM for DDR setup*/
 #define CONFIG_DDR_DLL                 /* possible DLL fix needed */
@@ -349,13 +347,16 @@
 #endif /* CONFIG_PCI */


-#if defined(CONFIG_TSEC_ENET)
+#ifdef CONFIG_TSEC_ENET

 #ifndef CONFIG_NET_MULTI
 #define CONFIG_NET_MULTI       1
 #endif

+#ifndef CONFIG_MII
 #define CONFIG_MII             1       /* MII PHY management */
+#endif
+
 #define CONFIG_MPC85XX_TSEC1   1
 #define CONFIG_MPC85XX_TSEC1_NAME      "TSEC0"
 #define CONFIG_MPC85XX_TSEC2   1
@@ -369,9 +370,10 @@
 /* Options are: TSEC[0-1] */
 #define CONFIG_ETHPRIME                "TSEC0"

-#elif defined(CONFIG_ETHER_ON_FCC)     /* CPM FCC Ethernet */
+#endif /* CONFIG_TSEC_ENET */
+
+#ifdef CONFIG_ETHER_ON_FCC     /* CPM FCC Ethernet */

-#define CONFIG_ETHER_ON_FCC    /* define if ether on FCC   */
 #undef  CONFIG_ETHER_NONE      /* define if ether on something else */
 #define CONFIG_ETHER_INDEX      2       /* which channel for ether */

@@ -392,7 +394,10 @@
   #define FETH3_RST            0x80
 #endif                                 /* CONFIG_ETHER_INDEX */

-#define CONFIG_MII                     /* MII PHY management */
+#ifndef CONFIG_MII
+#define CONFIG_MII             1       /* MII PHY management */
+#endif
+
 #define CONFIG_BITBANGMII              /* bit-bang MII PHY management */

 /*
@@ -458,11 +463,13 @@
     #define  CONFIG_COMMANDS   (CONFIG_CMD_DFL         \
                                | CFG_CMD_PCI           \
                                | CFG_CMD_PING          \
+                               | CFG_CMD_MII           \
                                | CFG_CMD_I2C)
   #elif defined(CONFIG_TSEC_ENET)
     #define  CONFIG_COMMANDS   (CONFIG_CMD_DFL         \
                                | CFG_CMD_PING          \
-                               | CFG_CMD_I2C)
+                               | CFG_CMD_I2C           \
+                               | CFG_CMD_MII)
   #elif defined(CONFIG_ETHER_ON_FCC)
     #define  CONFIG_COMMANDS   (CONFIG_CMD_DFL         \
                                | CFG_CMD_MII           \
@@ -554,8 +561,10 @@
 #define        CONFIG_EXTRA_ENV_SETTINGS
         \
    "netdev=eth0\0"                                                      \
    "consoledev=ttyS0\0"                                                 \
-   "ramdiskaddr=400000\0"                                              \
-   "ramdiskfile=your.ramdisk.u-boot\0"
+   "ramdiskaddr=600000\0"                                              \
+   "ramdiskfile=your.ramdisk.u-boot\0"                                 \
+   "fdtaddr=400000\0"                                                  \
+   "fdtfile=mpc8560ads.dtb\0"

 #define CONFIG_NFSBOOTCOMMAND                                          \
    "setenv bootargs root=/dev/nfs rw "                                  \
@@ -563,7 +572,8 @@
       "ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname:$netdev:off " \
       "console=$consoledev,$baudrate $othbootargs;"                     \
    "tftp $loadaddr $bootfile;"                                          \
-   "bootm $loadaddr"
+   "tftp $fdtaddr $fdtfile;"                                           \
+   "bootm $loadaddr - $fdtaddr"

 #define CONFIG_RAMBOOTCOMMAND \
    "setenv bootargs root=/dev/ram rw "                                  \

commit 56269ccebff1c9db64e28e084e887fc083bf70e6
Author: Andy Fleming <afleming at freescale.com>
Date:   Tue May 8 17:23:02 2007 -0500

    Fix Marvell 88e1145 PHY init code

    Fix a bug in the Marvell 88e1145 PHY init code in the TSEC driver
    where the reset was being done after the errata code instead of
    before.

    Signed-off-by: Haiying Wang <haiying.wang at freescale.com>
    Signed-off-by: Andy Fleming <afleming at freescale.com>

diff --git a/drivers/tsec.c b/drivers/tsec.c
index b418773..693328d 100644
--- a/drivers/tsec.c
+++ b/drivers/tsec.c
@@ -1012,14 +1012,16 @@ static struct phy_info phy_info_M88E1145 = {
        "Marvell 88E1145",
        4,
        (struct phy_cmd[]){     /* config */
+                          /* Reset the PHY */
+                          {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+
                           /* Errata E0, E1 */
                           {29, 0x001b, NULL},
                           {30, 0x418f, NULL},
                           {29, 0x0016, NULL},
                           {30, 0xa2da, NULL},

-                          /* Reset and configure the PHY */
-                          {MIIM_CONTROL, MIIM_CONTROL_RESET, NULL},
+                          /* Configure the PHY */
                           {MIIM_GBIT_CONTROL, MIIM_GBIT_CONTROL_INIT, NULL},
                           {MIIM_ANAR, MIIM_ANAR_INIT, NULL},
                           {MIIM_88E1011_PHY_SCR, MIIM_88E1011_PHY_MDI_X_AUTO,




More information about the U-Boot mailing list