]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'u-boot/master' into 'u-boot-arm/master'
authorAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 30 May 2013 12:45:06 +0000 (14:45 +0200)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Thu, 30 May 2013 12:45:06 +0000 (14:45 +0200)
Conflicts:
common/cmd_fpga.c
drivers/usb/host/ohci-at91.c

1  2 
.gitignore
MAINTAINERS
README
board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg
boards.cfg
common/Makefile
common/cmd_fpga.c
drivers/mmc/Makefile
drivers/usb/host/ohci-at91.c
include/netdev.h
include/phy.h

diff --combined .gitignore
index c79d5770c04623fa3430273dff92ee9c49bb866a,41164483ef0a6cadc1840a9ace5584c0f3ad6ffe..771b860ee8ef86f50e66b9e16c9c9ede2a2bcba2
@@@ -46,7 -46,6 +46,7 @@@
  /u-boot.ais
  /u-boot.dtb
  /u-boot.sb
 +/u-boot.bd
  /u-boot.geany
  
  #
@@@ -80,5 -79,11 +80,11 @@@ cscope.
  /ctags
  /etags
  
+ # gnu global files
+ GPATH
+ GRTAGS
+ GSYMS
+ GTAGS
  # spl ais files
  /spl/*.ais
diff --combined MAINTAINERS
index 0e0f203f35ab5a0c8c73b2afccedf7581c7fadeb,2f066300ec91aa157856c37f5ea50ca039adcc99..14075afae484998a5bbb12dd14c3eaf41f5337c8
@@@ -607,7 -607,6 +607,7 @@@ Enric Balletbo i Serra <eballetbo@iseeb
        igep0020        ARM ARMV7 (OMAP3xx SoC)
        igep0030        ARM ARMV7 (OMAP3xx SoC)
        igep0032        ARM ARMV7 (OMAP3xx SoC)
 +      igep0033        ARM ARMV7 (AM33xx Soc)
  
  Eric Benard <eric@eukrea.com>
  
@@@ -665,7 -664,6 +665,7 @@@ Fabio Estevam <fabio.estevam@freescale.
        mx6qsabresd     i.MX6Q
        mx6qsabreauto   i.MX6Q
        wandboard       i.MX6DL/S
 +      mx6slevk        i.MX6SL
  
  Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
  
@@@ -685,7 -683,7 +685,7 @@@ Simon Guinot <simon.guinot@sequanux.org
  
  Igor Grinberg <grinberg@compulab.co.il>
  
 -      cm-t35          ARM ARMV7 (OMAP3xx Soc)
 +      cm_t35          ARM ARMV7 (OMAP3xx Soc)
  
  Stefan Herbrechtsmeier <stefan@code.herbrechtsmeier.net>
  
@@@ -850,10 -848,6 +850,10 @@@ Sricharan R <r.sricharan@ti.com
        omap4_sdp4430   ARM ARMV7 (OMAP4xx SoC)
        omap5_evm       ARM ARMV7 (OMAP5xx Soc)
  
 +Suriyan Ramasami <suriyan.r@gmail.com>
 +
 +      goflexhome      ARM926EJS (Kirkwood SoC)
 +
  Thierry Reding <thierry.reding@avionic-design.de>
  
        plutux          Tegra20 (ARM7 & A9 Dual Core)
@@@ -883,8 -877,6 +883,8 @@@ Stefan Roese <sr@denx.de
  
        x600            ARM926EJS (spear600 Soc)
  
 +      titanium        i.MX6Q
 +
        pdnb3           xscale/ixp
        scpu            xscale/ixp
  
@@@ -922,7 -914,6 +922,7 @@@ Matt Sealey <matt@genesi-usa.com
  
  Bo Shen <voice.shen@atmel.com>
        at91sam9x5ek            ARM926EJS (AT91SAM9G15,G25,G35,X25,X35 SoC)
 +      sama5d3xek              ARMV7 (SAMA5D31, D33, D34, D35 SoC)
  
  Rajeshwari Shinde <rajeshwari.s@samsung.com>
  
@@@ -963,7 -954,6 +963,7 @@@ Marek Vasut <marek.vasut@gmail.com
        mx23_olinuxino  i.MX23
        m28evk          i.MX28
        sc_sps_1        i.MX28
 +      m53evk          i.MX53
  
  Hugo Villeneuve <hugo.villeneuve@lyrtech.com>
  
  
  Matt Waddel <matt.waddel@linaro.org>
  
 -      ca9x4_ct_vxp    ARM ARMV7 (Quad Core)
 +      vexpress_ca9x4  ARM ARMV7 (Quad Core)
 +      vexpress_ca5x2  ARM ARMV7 (Dual Core)
  
  Otavio Salvador <otavio@ossystems.com.br>
  
@@@ -1029,9 -1018,6 +1029,9 @@@ Richard Woodruff <r-woodruff2@ti.com
  
        omap2420h4      ARM1136EJS
  
 +Josh Wu <josh.wu@atmel.com>
 +      at91sam9n12ek   ARM926EJS (AT91SAM9N12 SoC)
 +
  Ilya Yanok <yanok@emcraft.com>
  
        mcx             ARM ARMV7 (AM35x SoC)
@@@ -1086,9 -1072,19 +1086,19 @@@ Unknown / orphaned boards
  #     Board           CPU                                             #
  #########################################################################
  
Graeme Russ <graeme.russ@gmail.com>
Simon Glass <sjg@chromium.org>
  
-       eNET            AMD SC520
+       chromebook-x86  Coreboot runs first, then U-Boot
+                       Supports Intel Sandy Bridge / Ivy Bridge so far
+                       Chromebooks for x86, including:
+                               Samsung Series 5 Chromebook
+                               Acer AC700 Chromebook
+                               Acer C7 Chromebook
+                               Samsung Chromebook 550
+                               HP Pavillion Chromebook
+                               Acer C710 Chromebook
+                               Chromebook Pixel
  
  #########################################################################
  # MIPS Systems:                                                               #
@@@ -1353,6 -1349,17 +1363,17 @@@ Stefan Kristiansson <stefan.kristiansso
  
        openrisc-generic        OpenRISC
  
+ #########################################################################
+ # Sandbox:                                                            #
+ #                                                                     #
+ # Maintainer Name, Email Address                                      #
+ #     Board           CPU                                             #
+ #########################################################################
+ Simon Glass <sjg@chromium.org>
+       sandbox         sandbox
  #########################################################################
  # End of MAINTAINERS list                                             #
  #########################################################################
diff --combined README
index b72ab2fb82280335a58745ef52823d6fdec29cd2,3012dcdc16a4b6ac987fecb002e0140d71079893..b1b3e1788ec92d8ba088dab91175dfb1a44e2e26
--- 1/README
--- 2/README
+++ b/README
@@@ -201,7 -201,6 +201,6 @@@ Directory Hierarchy
        /mpc5xx         Files specific to Freescale MPC5xx CPUs
        /mpc5xxx                Files specific to Freescale MPC5xxx CPUs
        /mpc8xx         Files specific to Freescale MPC8xx CPUs
-       /mpc8220                Files specific to Freescale MPC8220 CPUs
        /mpc824x                Files specific to Freescale MPC824x CPUs
        /mpc8260                Files specific to Freescale MPC8260 CPUs
        /mpc85xx                Files specific to Freescale MPC85xx CPUs
@@@ -844,7 -843,6 +843,7 @@@ The following options need to be config
                CONFIG_CMD_FDOS         * Dos diskette Support
                CONFIG_CMD_FLASH          flinfo, erase, protect
                CONFIG_CMD_FPGA           FPGA device initialization support
 +              CONFIG_CMD_FUSE           Device fuse support
                CONFIG_CMD_GETTIME      * Get time since boot
                CONFIG_CMD_GO           * the 'go' command (exec code)
                CONFIG_CMD_GREPENV      * search environment
                CONFIG_CMD_SF           * Read/write/erase SPI NOR flash
                CONFIG_CMD_SHA1SUM        print sha1 memory digest
                                          (requires CONFIG_CMD_MEMORY)
+               CONFIG_CMD_SOFTSWITCH   * Soft switch setting command for BF60x
                CONFIG_CMD_SOURCE         "source" command Support
                CONFIG_CMD_SPI          * SPI serial bus support
                CONFIG_CMD_TFTPSRV      * TFTP transfer in server mode
@@@ -2997,6 -2996,12 +2997,12 @@@ FIT uImage format
                use an arch-specific makefile fragment instead, for
                example if more than one image needs to be produced.
  
+               CONFIG_FIT_SPL_PRINT
+               Printing information about a FIT image adds quite a bit of
+               code to SPL. So this is normally disabled in SPL. Use this
+               option to re-enable it. This will affect the output of the
+               bootm command when booting a FIT image.
  Modem Support:
  --------------
  
@@@ -3340,10 -3345,6 +3346,10 @@@ Configuration Settings
        offset _bss_start_ofs from CONFIG_SYS_TEXT_BASE, rather than
        directly. You should not need to touch this setting.
  
 +- CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC (OMAP only)
 +      This is set by OMAP boards for the max time that reset should
 +      be asserted. See doc/README.omap-reset-time for details on how
 +      the value can be calulated on a given board.
  
  The following definitions that deal with the placement and management
  of environment data (variable area); in general, we support the
@@@ -5062,7 -5063,7 +5068,7 @@@ On some platforms, it's possible to boo
  using the "bootz" command. The syntax of "bootz" command is the same
  as the syntax of "bootm" command.
  
- Note, defining the CONFIG_SUPPORT_INITRD_RAW allows user to supply
+ Note, defining the CONFIG_SUPPORT_RAW_INITRD allows user to supply
  kernel with raw initrd images. The syntax is slightly different, the
  address of the initrd must be augmented by it's size, in the following
  format: "<initrd addres>:<initrd size>".
index 996d788ddc5f681ed218237af0d38554b6fd9fea,d0f581582113647b06e5f7ab7f72207746613bc6..bae5c23204231ca7e5eb95ac9c2fe102d21786f0
@@@ -20,7 -20,7 +20,7 @@@
   * Foundation Inc. 51 Franklin Street Fifth Floor Boston,
   * MA 02110-1301 USA
   *
-  * Refer docs/README.imxmage for more details about how-to configure
+  * Refer doc/README.imximage for more details about how-to configure
   * and create imximage boot image
   *
   * The syntax is taken as close as possible with the kwbimage
@@@ -172,14 -172,3 +172,14 @@@ DATA 4 0x020e0010 0xF00000C
  /* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */
  DATA 4 0x020e0018 0x007F007F
  DATA 4 0x020e001c 0x007F007F
 +
 +/*
 + * Setup CCM_CCOSR register as follows:
 + *
 + * cko1_en  = 1          --> CKO1 enabled
 + * cko1_div = 111  --> divide by 8
 + * cko1_sel = 1011 --> ahb_clk_root
 + *
 + * This sets CKO1 at ahb_clk_root/8 = 132/8 = 16.5 MHz
 + */
 +DATA 4 0x020c4060 0x000000fb
diff --combined boards.cfg
index 33e7549d0ee2bb39f8081a245861479121f45fe9,98a512eef4b6bee2c80adfb0ebad0ba2ea707a0a..e2a8d42ab43194734d56457a1d29fa2b81f13892
@@@ -94,7 -94,6 +94,7 @@@ at91sam9g10ek_dataflash_cs3  ar
  at91sam9g10ek_nandflash      arm         arm926ejs   at91sam9261ek       atmel          at91        at91sam9261ek:AT91SAM9G10,SYS_USE_NANDFLASH
  at91sam9g20ek_dataflash_cs0  arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9G20,SYS_USE_DATAFLASH_CS0
  at91sam9g20ek_dataflash_cs1  arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9G20,SYS_USE_DATAFLASH_CS1
 +at91sam9g20ek_mmc            arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9G20,SYS_USE_MMC
  at91sam9g20ek_nandflash      arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9G20,SYS_USE_NANDFLASH
  at91sam9g20ek_2mmc_nandflash arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_NANDFLASH
  at91sam9m10g45ek_nandflash   arm         arm926ejs   at91sam9m10g45ek    atmel          at91        at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_NANDFLASH
@@@ -107,9 -106,6 +107,9 @@@ at91sam9x5ek_mmc             ar
  at91sam9xeek_dataflash_cs0   arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9XE,SYS_USE_DATAFLASH_CS0
  at91sam9xeek_dataflash_cs1   arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9XE,SYS_USE_DATAFLASH_CS1
  at91sam9xeek_nandflash       arm         arm926ejs   at91sam9260ek       atmel          at91        at91sam9260ek:AT91SAM9XE,SYS_USE_NANDFLASH
 +at91sam9n12ek_nandflash      arm         arm926ejs   at91sam9n12ek       atmel          at91        at91sam9n12ek:AT91SAM9N12,SYS_USE_NANDFLASH
 +at91sam9n12ek_spiflash       arm         arm926ejs   at91sam9n12ek       atmel          at91        at91sam9n12ek:AT91SAM9N12,SYS_USE_SPIFLASH
 +at91sam9n12ek_mmc            arm         arm926ejs   at91sam9n12ek       atmel          at91        at91sam9n12ek:AT91SAM9N12,SYS_USE_MMC
  snapper9260                  arm         arm926ejs   -                   bluewater      at91        snapper9260:AT91SAM9260
  snapper9g20                  arm         arm926ejs   snapper9260         bluewater      at91        snapper9260:AT91SAM9G20
  vl_ma2sc                     arm         arm926ejs   vl_ma2sc            BuS            at91
@@@ -189,7 -185,6 +189,7 @@@ rd6281a                      ar
  sheevaplug                   arm         arm926ejs   -                   Marvell        kirkwood
  ib62x0                       arm         arm926ejs   ib62x0              raidsonic      kirkwood
  dockstar                     arm         arm926ejs   -                   Seagate        kirkwood
 +goflexhome                   arm         arm926ejs   -                   Seagate        kirkwood
  tk71                         arm         arm926ejs   tk71                karo           kirkwood
  devkit3250                   arm         arm926ejs   devkit3250          timll          lpc32xx
  jadecpu                      arm         arm926ejs   jadecpu             syteco         mb86r0x
@@@ -239,9 -234,7 +239,9 @@@ versatilepb                  ar
  versatileqemu                arm         arm926ejs   versatile           armltd         versatile   versatile:ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB
  integratorap_cm946es         arm         arm946es    integrator          armltd         -               integratorap:CM946ES
  integratorcp_cm946es         arm         arm946es    integrator          armltd         -               integratorcp:CM946ES
 -ca9x4_ct_vxp                 arm         armv7       vexpress            armltd
 +vexpress_ca15_tc2            arm         armv7       vexpress            armltd
 +vexpress_ca5x2               arm         armv7       vexpress            armltd
 +vexpress_ca9x4               arm         armv7       vexpress            armltd
  am335x_evm                   arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1
  am335x_evm_spiboot           arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT
  am335x_evm_uart1             arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL2,CONS_INDEX=2
@@@ -252,11 -245,7 +252,11 @@@ am335x_evm_uart5             ar
  am335x_evm_usbspl            arm         armv7       am335x              ti             am33xx      am335x_evm:SERIAL1,CONS_INDEX=1,SPL_USBETH_SUPPORT
  ti814x_evm                   arm         armv7       ti814x              ti             am33xx
  pcm051                       arm         armv7       pcm051              phytec         am33xx      pcm051
 +sama5d3xek_mmc               arm         armv7       sama5d3xek          atmel          at91        sama5d3xek:SAMA5D3,SYS_USE_MMC
 +sama5d3xek_nandflash         arm         armv7       sama5d3xek          atmel          at91        sama5d3xek:SAMA5D3,SYS_USE_NANDFLASH
 +sama5d3xek_spiflash          arm         armv7       sama5d3xek          atmel          at91        sama5d3xek:SAMA5D3,SYS_USE_SERIALFLASH
  highbank                     arm         armv7       highbank            -              highbank
 +m53evk                       arm         armv7       m53evk              denx         mx5             m53evk:IMX_CONFIG=board/denx/m53evk/imximage.cfg
  mx51_efikamx                 arm         armv7       mx51_efikamx        genesi         mx5           mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg
  mx51_efikasb                 arm         armv7       mx51_efikamx        genesi         mx5           mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg
  mx51evk                      arm         armv7       mx51evk             freescale      mx5           mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg
@@@ -270,8 -259,6 +270,8 @@@ mx6qarm2                     ar
  mx6qsabreauto                arm         armv7       mx6qsabreauto       freescale      mx6           mx6qsabreauto:IMX_CONFIG=board/freescale/mx6qsabreauto/imximage.cfg
  mx6qsabrelite                arm         armv7       mx6qsabrelite       freescale      mx6           mx6qsabrelite:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg
  mx6qsabresd                  arm         armv7       mx6qsabresd         freescale      mx6           mx6qsabresd:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg
 +mx6slevk                     arm         armv7       mx6slevk            freescale      mx6           mx6slevk:IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL
 +titanium                     arm         armv7       titanium            freescale      mx6           titanium:IMX_CONFIG=board/freescale/titanium/imximage.cfg
  eco5pk                       arm         armv7       eco5pk              8dtech         omap3
  nitrogen6dl                  arm         armv7       nitrogen6x          boundary       mx6           nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024
  nitrogen6dl2g                arm         armv7       nitrogen6x          boundary       mx6           nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,MX6DL,DDR_MB=2048
@@@ -281,16 -268,15 +281,16 @@@ nitrogen6s                   ar
  nitrogen6s1g                 arm         armv7       nitrogen6x          boundary       mx6           nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024
  wandboard_dl               arm         armv7       wandboard           -              mx6 wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024
  wandboard_solo                     arm         armv7       wandboard           -              mx6 wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512
 -cm_t35                       arm         armv7       cm_t35              -              omap3
  omap3_overo                  arm         armv7       overo               -              omap3
  omap3_pandora                arm         armv7       pandora             -              omap3
  dig297                       arm         armv7       dig297              comelit        omap3
 +cm_t35                       arm         armv7       cm_t35              compulab       omap3
  igep0020                     arm         armv7       igep00x0            isee           omap3         igep00x0:MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND
  igep0020_nand                arm         armv7       igep00x0            isee           omap3         igep00x0:MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND
  igep0030                     arm         armv7       igep00x0            isee           omap3         igep00x0:MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND
  igep0030_nand                arm         armv7       igep00x0            isee           omap3         igep00x0:MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND
  igep0032                     arm         armv7       igep00x0            isee           omap3         igep00x0:MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND
 +igep0033                     arm         armv7       igep0033            isee           am33xx
  am3517_evm                   arm         armv7       am3517evm           logicpd        omap3
  mt_ventoux                   arm         armv7       mt_ventoux          teejet         omap3
  omap3_zoom1                  arm         armv7       zoom1               logicpd        omap3
@@@ -325,7 -311,7 +325,7 @@@ seaboard                     ar
  ventana                      arm         armv7:arm720t ventana           nvidia         tegra20
  whistler                     arm         armv7:arm720t whistler          nvidia         tegra20
  cardhu                       arm         armv7:arm720t cardhu            nvidia         tegra30
 -beaver                       arm         armv7:arm720t cardhu            nvidia         tegra30
 +beaver                       arm         armv7:arm720t beaver            nvidia         tegra30
  dalmore                      arm         armv7:arm720t dalmore           nvidia         tegra114
  colibri_t20_iris             arm         armv7:arm720t colibri_t20_iris  toradex        tegra20
  u8500_href                   arm         armv7       u8500               st-ericsson    u8500
@@@ -602,9 -588,6 +602,6 @@@ TQM5200_B_HIGHBOOT           powerp
  TQM5200S                     powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:TQM5200_B,TQM5200S
  TQM5200S_HIGHBOOT            powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000
  TQM5200_STK100               powerpc     mpc5xxx     tqm5200             tqc            -           TQM5200:STK52XX_REV100
- Alaska8220                   powerpc     mpc8220     alaska
- sorcery                      powerpc     mpc8220
- Yukon8220                    powerpc     mpc8220     alaska
  A3000                        powerpc     mpc824x     a3000
  CPC45                        powerpc     mpc824x     cpc45               -              -           CPC45
  CPC45_ROMBOOT                powerpc     mpc824x     cpc45               -              -           CPC45:BOOT_ROM
@@@ -897,6 -880,9 +894,9 @@@ P5020DS_SECURE_BOOT          powerp
  P5020DS_SPIFLASH           powerpc     mpc85xx     corenet_ds          freescale      -           P5020DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
  P5020DS_SRIO_PCIE_BOOT          powerpc     mpc85xx     corenet_ds          freescale      -           P5020DS:SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF80000
  P5040DS                      powerpc     mpc85xx     corenet_ds          freescale
+ P5040DS_NAND               powerpc     mpc85xx     corenet_ds          freescale      -           P5040DS:RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF80000
+ P5040DS_SDCARD                     powerpc     mpc85xx     corenet_ds          freescale      -           P5040DS:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF80000
+ P5040DS_SPIFLASH           powerpc     mpc85xx     corenet_ds          freescale      -           P5040DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
  BSC9131RDB_SPIFLASH          powerpc     mpc85xx     bsc9131rdb          freescale      -           BSC9131RDB:BSC9131RDB,SPIFLASH
  BSC9132QDS_NOR_DDRCLK100     powerpc     mpc85xx     bsc9132qds          freescale      -           BSC9132QDS:BSC9132QDS,SYS_CLK_100_DDR_100
  BSC9132QDS_NOR_DDRCLK133     powerpc     mpc85xx     bsc9132qds          freescale      -           BSC9132QDS:BSC9132QDS,SYS_CLK_100_DDR_133
@@@ -907,9 -893,12 +907,12 @@@ BSC9132QDS_SPIFLASH_DDRCLK133 powerp
  stxgp3                       powerpc     mpc85xx     stxgp3              stx
  stxssa                       powerpc     mpc85xx     stxssa              stx            -           stxssa
  stxssa_4M                    powerpc     mpc85xx     stxssa              stx            -           stxssa:STXSSA_4M
- T4240QDS                     powerpc     mpc85xx     t4qds               freescale
- T4240QDS_SDCARD              powerpc     mpc85xx     t4qds               freescale    -           T4240QDS:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF80000
- T4240QDS_SPIFLASH            powerpc     mpc85xx     t4qds               freescale    -           T4240QDS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
+ T4240QDS                     powerpc     mpc85xx     t4qds               freescale      -           T4240QDS:PPC_T4240
+ T4240QDS_SDCARD              powerpc     mpc85xx     t4qds               freescale    -           T4240QDS:PPC_T4240,RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF80000
+ T4240QDS_SPIFLASH            powerpc     mpc85xx     t4qds               freescale    -           T4240QDS:PPC_T4240,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
+ T4160QDS                     powerpc     mpc85xx     t4qds               freescale      -           T4240QDS:PPC_T4160
+ T4160QDS_SDCARD              powerpc     mpc85xx     t4qds               freescale    -           T4240QDS:PPC_T4160,RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF80000
+ T4160QDS_SPIFLASH            powerpc     mpc85xx     t4qds               freescale    -           T4240QDS:PPC_T4160,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
  B4860QDS                     powerpc     mpc85xx     b4860qds            freescale      -           B4860QDS:PPC_B4860
  B4860QDS_NAND              powerpc     mpc85xx     b4860qds            freescale      -           B4860QDS:PPC_B4860,RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF80000
  B4860QDS_SPIFLASH            powerpc     mpc85xx     b4860qds            freescale    -           B4860QDS:PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF80000
diff --combined common/Makefile
index 1cfb13210f17b0150896be047969ee5d66ae54d5,f50bf2ea908d339e45e7a4c35a3d7d39cba8348b..3ba431626336189d93c4e2823c6b79b653f4f7aa
@@@ -111,7 -111,6 +111,7 @@@ ifdef CONFIG_FPG
  COBJS-$(CONFIG_CMD_FPGA) += cmd_fpga.o
  endif
  COBJS-$(CONFIG_CMD_FS_GENERIC) += cmd_fs.o
 +COBJS-$(CONFIG_CMD_FUSE) += cmd_fuse.o
  COBJS-$(CONFIG_CMD_GETTIME) += cmd_gettime.o
  COBJS-$(CONFIG_CMD_GPIO) += cmd_gpio.o
  COBJS-$(CONFIG_CMD_I2C) += cmd_i2c.o
@@@ -165,6 -164,7 +165,7 @@@ COBJS-$(CONFIG_CMD_SF) += cmd_sf.
  COBJS-$(CONFIG_CMD_SCSI) += cmd_scsi.o
  COBJS-$(CONFIG_CMD_SHA1SUM) += cmd_sha1sum.o
  COBJS-$(CONFIG_CMD_SETEXPR) += cmd_setexpr.o
+ COBJS-$(CONFIG_CMD_SOFTSWITCH) += cmd_softswitch.o
  COBJS-$(CONFIG_CMD_SPI) += cmd_spi.o
  COBJS-$(CONFIG_CMD_SPIBOOTLDR) += cmd_spibootldr.o
  COBJS-$(CONFIG_CMD_STRINGS) += cmd_strings.o
@@@ -231,6 -231,8 +232,8 @@@ COBJS-$(CONFIG_BOUNCE_BUFFER) += bounce
  COBJS-y += console.o
  COBJS-y += dlmalloc.o
  COBJS-y += image.o
+ COBJS-$(CONFIG_OF_LIBFDT) += image-fdt.o
+ COBJS-$(CONFIG_FIT) += image-fit.o
  COBJS-y += memsize.o
  COBJS-y += stdio.o
  
diff --combined common/cmd_fpga.c
index 5e1d0378536fa154a5d7b584744855f7837230e8,1341604c5c2a70f226d3dde63db85c5476b354b9..3cd1b13b3376cb7f9b0d58bd551a254a7037bd16
   */
  #include <common.h>
  #include <command.h>
 -#if defined(CONFIG_CMD_NET)
 -#include <net.h>
 -#endif
  #include <fpga.h>
  #include <malloc.h>
  
  /* Local functions */
 -static int fpga_get_op (char *opstr);
 +static int fpga_get_op(char *opstr);
  
  /* Local defines */
  #define FPGA_NONE   -1
  #define FPGA_DUMP   3
  #define FPGA_LOADMK 4
  
 -/* Convert bitstream data and load into the fpga */
 -int fpga_loadbitstream(unsigned long dev, char* fpgadata, size_t size)
 -{
 -#if defined(CONFIG_FPGA_XILINX)
 -      unsigned int length;
 -      unsigned int swapsize;
 -      char buffer[80];
 -      unsigned char *dataptr;
 -      unsigned int i;
 -      int rc;
 -
 -      dataptr = (unsigned char *)fpgadata;
 -
 -      /* skip the first bytes of the bitsteam, their meaning is unknown */
 -      length = (*dataptr << 8) + *(dataptr+1);
 -      dataptr+=2;
 -      dataptr+=length;
 -
 -      /* get design name (identifier, length, string) */
 -      length = (*dataptr << 8) + *(dataptr+1);
 -      dataptr+=2;
 -      if (*dataptr++ != 0x61) {
 -              debug("%s: Design name identifier not recognized "
 -                      "in bitstream\n",
 -                      __func__);
 -              return FPGA_FAIL;
 -      }
 -
 -      length = (*dataptr << 8) + *(dataptr+1);
 -      dataptr+=2;
 -      for(i=0;i<length;i++)
 -              buffer[i] = *dataptr++;
 -
 -      printf("  design filename = \"%s\"\n", buffer);
 -
 -      /* get part number (identifier, length, string) */
 -      if (*dataptr++ != 0x62) {
 -              printf("%s: Part number identifier not recognized "
 -                      "in bitstream\n",
 -                      __func__);
 -              return FPGA_FAIL;
 -      }
 -
 -      length = (*dataptr << 8) + *(dataptr+1);
 -      dataptr+=2;
 -      for(i=0;i<length;i++)
 -              buffer[i] = *dataptr++;
 -      printf("  part number = \"%s\"\n", buffer);
 -
 -      /* get date (identifier, length, string) */
 -      if (*dataptr++ != 0x63) {
 -              printf("%s: Date identifier not recognized in bitstream\n",
 -                     __func__);
 -              return FPGA_FAIL;
 -      }
 -
 -      length = (*dataptr << 8) + *(dataptr+1);
 -      dataptr+=2;
 -      for(i=0;i<length;i++)
 -              buffer[i] = *dataptr++;
 -      printf("  date = \"%s\"\n", buffer);
 -
 -      /* get time (identifier, length, string) */
 -      if (*dataptr++ != 0x64) {
 -              printf("%s: Time identifier not recognized in bitstream\n",
 -                      __func__);
 -              return FPGA_FAIL;
 -      }
 -
 -      length = (*dataptr << 8) + *(dataptr+1);
 -      dataptr+=2;
 -      for(i=0;i<length;i++)
 -              buffer[i] = *dataptr++;
 -      printf("  time = \"%s\"\n", buffer);
 -
 -      /* get fpga data length (identifier, length) */
 -      if (*dataptr++ != 0x65) {
 -              printf("%s: Data length identifier not recognized in bitstream\n",
 -                      __func__);
 -              return FPGA_FAIL;
 -      }
 -      swapsize = ((unsigned int) *dataptr     <<24) +
 -                 ((unsigned int) *(dataptr+1) <<16) +
 -                 ((unsigned int) *(dataptr+2) <<8 ) +
 -                 ((unsigned int) *(dataptr+3)     ) ;
 -      dataptr+=4;
 -      printf("  bytes in bitstream = %d\n", swapsize);
 -
 -      rc = fpga_load(dev, dataptr, swapsize);
 -      return rc;
 -#else
 -      printf("Bitstream support only for Xilinx devices\n");
 -      return FPGA_FAIL;
 -#endif
 -}
 -
  /* ------------------------------------------------------------------------- */
  /* command form:
   *   fpga <op> <device number> <data addr> <datasize>
   * If there is no data addr field, the fpgadata environment variable is used.
   * The info command requires no data address field.
   */
 -int do_fpga (cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[])
 +int do_fpga(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
  {
        int op, dev = FPGA_INVALID_DEVICE;
        size_t data_size = 0;
        void *fpga_data = NULL;
 -      char *devstr = getenv ("fpga");
 -      char *datastr = getenv ("fpgadata");
 +      char *devstr = getenv("fpga");
 +      char *datastr = getenv("fpgadata");
        int rc = FPGA_FAIL;
        int wrong_parms = 0;
 -#if defined (CONFIG_FIT)
 +#if defined(CONFIG_FIT)
        const char *fit_uname = NULL;
        ulong fit_addr;
  #endif
  
        if (devstr)
 -              dev = (int) simple_strtoul (devstr, NULL, 16);
 +              dev = (int) simple_strtoul(devstr, NULL, 16);
        if (datastr)
 -              fpga_data = (void *) simple_strtoul (datastr, NULL, 16);
 +              fpga_data = (void *)simple_strtoul(datastr, NULL, 16);
  
        switch (argc) {
        case 5:         /* fpga <op> <dev> <data> <datasize> */
 -              data_size = simple_strtoul (argv[4], NULL, 16);
 +              data_size = simple_strtoul(argv[4], NULL, 16);
  
        case 4:         /* fpga <op> <dev> <data> */
  #if defined(CONFIG_FIT)
 -              if (fit_parse_subimage (argv[3], (ulong)fpga_data,
 -                                      &fit_addr, &fit_uname)) {
 +              if (fit_parse_subimage(argv[3], (ulong)fpga_data,
 +                                     &fit_addr, &fit_uname)) {
                        fpga_data = (void *)fit_addr;
 -                      debug("*  fpga: subimage '%s' from FIT image "
 -                              "at 0x%08lx\n",
 -                              fit_uname, fit_addr);
 +                      debug("*  fpga: subimage '%s' from FIT image ",
 +                            fit_uname);
 +                      debug("at 0x%08lx\n", fit_addr);
                } else
  #endif
                {
 -                      fpga_data = (void *) simple_strtoul (argv[3], NULL, 16);
 +                      fpga_data = (void *)simple_strtoul(argv[3], NULL, 16);
                        debug("*  fpga: cmdline image address = 0x%08lx\n",
 -                              (ulong)fpga_data);
 +                            (ulong)fpga_data);
                }
 -              debug("%s: fpga_data = 0x%x\n", __func__, (uint) fpga_data);
 +              debug("%s: fpga_data = 0x%x\n", __func__, (uint)fpga_data);
  
        case 3:         /* fpga <op> <dev | data addr> */
 -              dev = (int) simple_strtoul (argv[2], NULL, 16);
 +              dev = (int)simple_strtoul(argv[2], NULL, 16);
                debug("%s: device = %d\n", __func__, dev);
                /* FIXME - this is a really weak test */
 -              if ((argc == 3) && (dev > fpga_count ())) {     /* must be buffer ptr */
 +              if ((argc == 3) && (dev > fpga_count())) {
 +                      /* must be buffer ptr */
                        debug("%s: Assuming buffer pointer in arg 3\n",
 -                              __func__);
 +                            __func__);
  
  #if defined(CONFIG_FIT)
 -                      if (fit_parse_subimage (argv[2], (ulong)fpga_data,
 -                                              &fit_addr, &fit_uname)) {
 +                      if (fit_parse_subimage(argv[2], (ulong)fpga_data,
 +                                             &fit_addr, &fit_uname)) {
                                fpga_data = (void *)fit_addr;
 -                              debug("*  fpga: subimage '%s' from FIT image "
 -                                      "at 0x%08lx\n",
 -                                      fit_uname, fit_addr);
 +                              debug("*  fpga: subimage '%s' from FIT image ",
 +                                    fit_uname);
 +                              debug("at 0x%08lx\n", fit_addr);
                        } else
  #endif
                        {
 -                              fpga_data = (void *) dev;
 -                              debug("*  fpga: cmdline image address = "
 -                                      "0x%08lx\n", (ulong)fpga_data);
 +                              fpga_data = (void *)dev;
 +                              debug("*  fpga: cmdline image addr = 0x%08lx\n",
 +                                    (ulong)fpga_data);
                        }
  
                        debug("%s: fpga_data = 0x%x\n",
 -                              __func__, (uint) fpga_data);
 +                            __func__, (uint)fpga_data);
                        dev = FPGA_INVALID_DEVICE;      /* reset device num */
                }
  
        case 2:         /* fpga <op> */
 -              op = (int) fpga_get_op (argv[1]);
 +              op = (int)fpga_get_op(argv[1]);
                break;
  
        default:
 -              debug("%s: Too many or too few args (%d)\n",
 -                      __func__, argc);
 +              debug("%s: Too many or too few args (%d)\n", __func__, argc);
                op = FPGA_NONE; /* force usage display */
                break;
        }
                return CMD_RET_USAGE;
  
        case FPGA_INFO:
 -              rc = fpga_info (dev);
 +              rc = fpga_info(dev);
                break;
  
        case FPGA_LOAD:
 -              rc = fpga_load (dev, fpga_data, data_size);
 +              rc = fpga_load(dev, fpga_data, data_size);
                break;
  
        case FPGA_LOADB:
                break;
  
        case FPGA_LOADMK:
 -              switch (genimg_get_format (fpga_data)) {
 +              switch (genimg_get_format(fpga_data)) {
                case IMAGE_FORMAT_LEGACY:
                        {
 -                              image_header_t *hdr = (image_header_t *)fpga_data;
 -                              ulong   data;
 +                              image_header_t *hdr =
 +                                              (image_header_t *)fpga_data;
 +                              ulong data;
  
 -                              data = (ulong)image_get_data (hdr);
 -                              data_size = image_get_data_size (hdr);
 -                              rc = fpga_load (dev, (void *)data, data_size);
 +                              data = (ulong)image_get_data(hdr);
 +                              data_size = image_get_data_size(hdr);
 +                              rc = fpga_load(dev, (void *)data, data_size);
                        }
                        break;
  #if defined(CONFIG_FIT)
                                const void *fit_data;
  
                                if (fit_uname == NULL) {
 -                                      puts ("No FIT subimage unit name\n");
 +                                      puts("No FIT subimage unit name\n");
                                        return 1;
                                }
  
 -                              if (!fit_check_format (fit_hdr)) {
 -                                      puts ("Bad FIT image format\n");
 +                              if (!fit_check_format(fit_hdr)) {
 +                                      puts("Bad FIT image format\n");
                                        return 1;
                                }
  
                                /* get fpga component image node offset */
 -                              noffset = fit_image_get_node (fit_hdr, fit_uname);
 +                              noffset = fit_image_get_node(fit_hdr,
 +                                                           fit_uname);
                                if (noffset < 0) {
 -                                      printf ("Can't find '%s' FIT subimage\n", fit_uname);
 +                                      printf("Can't find '%s' FIT subimage\n",
 +                                             fit_uname);
                                        return 1;
                                }
  
                                /* verify integrity */
-                               if (!fit_image_check_hashes(fit_hdr, noffset)) {
-                                       puts("Bad Data Hash\n");
+                               if (!fit_image_verify(fit_hdr, noffset)) {
+                                       puts ("Bad Data Hash\n");
                                        return 1;
                                }
  
                                /* get fpga subimage data address and length */
 -                              if (fit_image_get_data (fit_hdr, noffset, &fit_data, &data_size)) {
 -                                      puts ("Could not find fpga subimage data\n");
 +                              if (fit_image_get_data(fit_hdr, noffset,
 +                                                     &fit_data, &data_size)) {
 +                                      puts("Fpga subimage data not found\n");
                                        return 1;
                                }
  
 -                              rc = fpga_load (dev, fit_data, data_size);
 +                              rc = fpga_load(dev, fit_data, data_size);
                        }
                        break;
  #endif
                default:
 -                      puts ("** Unknown image type\n");
 +                      puts("** Unknown image type\n");
                        rc = FPGA_FAIL;
                        break;
                }
                break;
  
        case FPGA_DUMP:
 -              rc = fpga_dump (dev, fpga_data, data_size);
 +              rc = fpga_dump(dev, fpga_data, data_size);
                break;
  
        default:
 -              printf ("Unknown operation\n");
 +              printf("Unknown operation\n");
                return CMD_RET_USAGE;
        }
 -      return (rc);
 +      return rc;
  }
  
  /*
   * Map op to supported operations.  We don't use a table since we
   * would just have to relocate it from flash anyway.
   */
 -static int fpga_get_op (char *opstr)
 +static int fpga_get_op(char *opstr)
  {
        int op = FPGA_NONE;
  
 -      if (!strcmp ("info", opstr)) {
 +      if (!strcmp("info", opstr))
                op = FPGA_INFO;
 -      } else if (!strcmp ("loadb", opstr)) {
 +      else if (!strcmp("loadb", opstr))
                op = FPGA_LOADB;
 -      } else if (!strcmp ("load", opstr)) {
 +      else if (!strcmp("load", opstr))
                op = FPGA_LOAD;
 -      } else if (!strcmp ("loadmk", opstr)) {
 +      else if (!strcmp("loadmk", opstr))
                op = FPGA_LOADMK;
 -      } else if (!strcmp ("dump", opstr)) {
 +      else if (!strcmp("dump", opstr))
                op = FPGA_DUMP;
 -      }
  
 -      if (op == FPGA_NONE) {
 -              printf ("Unknown fpga operation \"%s\"\n", opstr);
 -      }
 +      if (op == FPGA_NONE)
 +              printf("Unknown fpga operation \"%s\"\n", opstr);
 +
        return op;
  }
  
 -U_BOOT_CMD (fpga, 6, 1, do_fpga,
 -      "loadable FPGA image support",
 -      "[operation type] [device number] [image address] [image size]\n"
 -      "fpga operations:\n"
 -      "  dump\t[dev]\t\t\tLoad device to memory buffer\n"
 -      "  info\t[dev]\t\t\tlist known device information\n"
 -      "  load\t[dev] [address] [size]\tLoad device from memory buffer\n"
 -      "  loadb\t[dev] [address] [size]\t"
 -      "Load device from bitstream buffer (Xilinx only)\n"
 -      "  loadmk [dev] [address]\tLoad device generated with mkimage"
 +U_BOOT_CMD(fpga, 6, 1, do_fpga,
 +         "loadable FPGA image support",
 +         "[operation type] [device number] [image address] [image size]\n"
 +         "fpga operations:\n"
 +         "  dump\t[dev]\t\t\tLoad device to memory buffer\n"
 +         "  info\t[dev]\t\t\tlist known device information\n"
 +         "  load\t[dev] [address] [size]\tLoad device from memory buffer\n"
 +         "  loadb\t[dev] [address] [size]\t"
 +         "Load device from bitstream buffer (Xilinx only)\n"
 +         "  loadmk [dev] [address]\tLoad device generated with mkimage"
  #if defined(CONFIG_FIT)
 -      "\n"
 -      "\tFor loadmk operating on FIT format uImage address must include\n"
 -      "\tsubimage unit name in the form of addr:<subimg_uname>"
 +         "\n"
 +         "\tFor loadmk operating on FIT format uImage address must include\n"
 +         "\tsubimage unit name in the form of addr:<subimg_uname>"
  #endif
  );
diff --combined drivers/mmc/Makefile
index 7cd4281733b683e4eb03a571e491b68bb06ba64f,2b581781d6c546b28cff1f89e90ae1286f60f5f6..24648a29378a2487e0d3220085e58e81a355696b
@@@ -25,14 -25,11 +25,11 @@@ include $(TOPDIR)/config.m
  
  LIB   := $(obj)libmmc.o
  
- ifdef CONFIG_SPL_BUILD
- COBJS-$(CONFIG_SPL_MMC_SUPPORT) += spl_mmc.o
- endif
  
  COBJS-$(CONFIG_BFIN_SDH) += bfin_sdh.o
  COBJS-$(CONFIG_DAVINCI_MMC) += davinci_mmc.o
  COBJS-$(CONFIG_FSL_ESDHC) += fsl_esdhc.o
- COBJS-$(CONFIG_FTSDC010) += ftsdc010_esdhc.o
+ COBJS-$(CONFIG_FTSDC010) += ftsdc010_mci.o
  COBJS-$(CONFIG_GENERIC_MMC) += mmc.o
  COBJS-$(CONFIG_GENERIC_ATMEL_MCI) += gen_atmel_mci.o
  COBJS-$(CONFIG_MMC_SPI) += mmc_spi.o
@@@ -46,10 -43,10 +43,11 @@@ COBJS-$(CONFIG_SDHCI) += sdhci.
  COBJS-$(CONFIG_BCM2835_SDHCI) += bcm2835_sdhci.o
  COBJS-$(CONFIG_S5P_SDHCI) += s5p_sdhci.o
  COBJS-$(CONFIG_SH_MMCIF) += sh_mmcif.o
+ COBJS-$(CONFIG_SPEAR_SDHCI) += spear_sdhci.o
  COBJS-$(CONFIG_TEGRA_MMC) += tegra_mmc.o
  COBJS-$(CONFIG_DWMMC) += dw_mmc.o
  COBJS-$(CONFIG_EXYNOS_DWMMC) += exynos_dw_mmc.o
 +COBJS-$(CONFIG_ZYNQ_SDHCI) += zynq_sdhci.o
  
  COBJS := $(COBJS-y)
  SRCS  := $(COBJS:.o=.c)
index 086cd0fe5dcd39fc817783094866b597d1488770,aa5cf57aedaad332854c6083fa66b80398f429a9..2060a3eb4612b34849a5341f429a0a7325174f99
@@@ -42,7 -42,7 +42,7 @@@ int usb_cpu_init(void
        while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != AT91_PMC_LOCKB)
                ;
  #elif defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) || \
 -      defined(CONFIG_AT91SAM9X5)
 +      defined(CONFIG_AT91SAM9X5) || defined(CONFIG_SAMA5D3)
        /* Enable UPLL */
        writel(readl(&pmc->uckr) | AT91_PMC_UPLLEN | AT91_PMC_BIASEN,
                &pmc->uckr);
  #endif
  
        /* Enable USB host clock. */
 +#ifdef CONFIG_SAMA5D3
 +      writel(1 << (ATMEL_ID_UHP - 32), &pmc->pcer1);
 +#else
        writel(1 << ATMEL_ID_UHP, &pmc->pcer);
- #ifdef CONFIG_AT91SAM9261
 +#endif
 +
+ #if defined(CONFIG_AT91SAM9261) || defined(CONFIG_AT91SAM9G10)
        writel(ATMEL_PMC_UHP | AT91_PMC_HCK0, &pmc->scer);
  #else
        writel(ATMEL_PMC_UHP, &pmc->scer);
@@@ -74,13 -69,8 +74,13 @@@ int usb_cpu_stop(void
        at91_pmc_t *pmc = (at91_pmc_t *)ATMEL_BASE_PMC;
  
        /* Disable USB host clock. */
 +#ifdef CONFIG_SAMA5D3
 +      writel(1 << (ATMEL_ID_UHP - 32), &pmc->pcdr1);
 +#else
        writel(1 << ATMEL_ID_UHP, &pmc->pcdr);
- #ifdef CONFIG_AT91SAM9261
 +#endif
 +
+ #if defined(CONFIG_AT91SAM9261) || defined(CONFIG_AT91SAM9G10)
        writel(ATMEL_PMC_UHP | AT91_PMC_HCK0, &pmc->scdr);
  #else
        writel(ATMEL_PMC_UHP, &pmc->scdr);
@@@ -93,7 -83,7 +93,7 @@@
        while ((readl(&pmc->sr) & AT91_PMC_LOCKB) != 0)
                ;
  #elif defined(CONFIG_AT91SAM9G45) || defined(CONFIG_AT91SAM9M10G45) || \
 -      defined(CONFIG_AT91SAM9X5)
 +      defined(CONFIG_AT91SAM9X5) || defined(CONFIG_SAMA5D3)
        /* Disable UPLL */
        writel(readl(&pmc->uckr) & (~AT91_PMC_UPLLEN), &pmc->uckr);
        while ((readl(&pmc->sr) & AT91_PMC_LOCKU) == AT91_PMC_LOCKU)
diff --combined include/netdev.h
index 516b351ebeb97ad6fc9c774f40b1cbc712422487,3bcb337ee2c5c1e97e10f62563a8daa2fbeff15c..df454b50c3bc4fdcff762313e4b958a165e342f7
@@@ -77,7 -77,6 +77,6 @@@ int mcdmafec_initialize(bd_t *bis)
  int mcffec_initialize(bd_t *bis);
  int mpc512x_fec_initialize(bd_t *bis);
  int mpc5xxx_fec_initialize(bd_t *bis);
- int mpc8220_fec_initialize(bd_t *bis);
  int mpc82xx_scc_enet_initialize(bd_t *bis);
  int mvgbe_initialize(bd_t *bis);
  int natsemi_initialize(bd_t *bis);
@@@ -104,7 -103,7 +103,7 @@@ int xilinx_emaclite_initialize(bd_t *bi
                                                        int txpp, int rxpp);
  int xilinx_ll_temac_eth_init(bd_t *bis, unsigned long base_addr, int flags,
                                                unsigned long ctrl_addr);
 -int zynq_gem_initialize(bd_t *bis, int base_addr);
 +int zynq_gem_initialize(bd_t *bis, int base_addr, int phy_addr, u32 emio);
  /*
   * As long as the Xilinx xps_ll_temac ethernet driver has not its own interface
   * exported by a public hader file, we need a global definition at this point.
diff --combined include/phy.h
index 7b4ce744e11d1cfffdea40b3c50321c6575e8f99,44d5eaf547630429e83a56bb757d78bd81d0af5d..75bf3b4728d62f8c8308b3fa642306d80145471f
@@@ -52,6 -52,7 +52,7 @@@ typedef enum 
        PHY_INTERFACE_MODE_MII,
        PHY_INTERFACE_MODE_GMII,
        PHY_INTERFACE_MODE_SGMII,
+       PHY_INTERFACE_MODE_QSGMII,
        PHY_INTERFACE_MODE_TBI,
        PHY_INTERFACE_MODE_RMII,
        PHY_INTERFACE_MODE_RGMII,
@@@ -67,6 -68,7 +68,7 @@@ static const char *phy_interface_string
        [PHY_INTERFACE_MODE_MII]                = "mii",
        [PHY_INTERFACE_MODE_GMII]               = "gmii",
        [PHY_INTERFACE_MODE_SGMII]              = "sgmii",
+       [PHY_INTERFACE_MODE_QSGMII]             = "qsgmii",
        [PHY_INTERFACE_MODE_TBI]                = "tbi",
        [PHY_INTERFACE_MODE_RMII]               = "rmii",
        [PHY_INTERFACE_MODE_RGMII]              = "rgmii",
@@@ -223,7 -225,6 +225,7 @@@ int gen10g_discover_mmds(struct phy_dev
  int phy_atheros_init(void);
  int phy_broadcom_init(void);
  int phy_davicom_init(void);
 +int phy_et1011c_init(void);
  int phy_lxt_init(void);
  int phy_marvell_init(void);
  int phy_micrel_init(void);