summaryrefslogtreecommitdiff
path: root/drivers
Commit message (Collapse)AuthorAgeLines
* Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2011-11-08-26/+1008
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-arm: Arm: re-introduce the MACH_TYPE_XXXXXX for EB_CPUX9K2 board arm: jadecpu: Readd MACH_TYPE_JADECPU at91: defined mach-types for otc570 board in board config file at91: defined mach-types for meesc board in board config file mx31pdk: Enable D and I caches ehci-mxc: remove incorrect comment README: Fix supported i.MX SoC list for CONFIG_MXC_SPI mx53: Turn off child clocks before reconfigure perclk_root qong: enable support for compressed images imx: imx31_phycore.h: fix checkpatch warnings vision2: Remove unused get_board_rev function mx53smd: Remove unused get_board_rev function mx53ard: Remove unused get_board_rev function mx53evk: Remove unused get_board_rev function mx53evk: Add RTC support mx53loco: Remove unused get_board_rev function mx53evk: Remove unneeded '1' from mx53evk.h OMAP3: mvblx: Initial support for mvBlueLYNX-X ARM: dig297: Define MACH_TYPE_OMAP3_CPS and CONFIG_MACH_TYPE omap3: mem: Move comments next to definitions omap3: mem: Clean-up whitespaces omap3: mem: Define and use common macros Davinci: ea20: added PREBOOT to configuration Davinci: ea20: added I2C support Davinci: ea20: added video support VIDEO: davinci: add framebuffer to da8xx ARM: Davinci: added missing registers to hardware.h Davinci: ea20: add gpios for LCD backlight control Davinci: ea20: add gpio for keeping power on in board_late_init Davinci: ea20: Add default U-Boot environment Davinci: ea20: Add early init to get early output from console Davinci: ea20: Add NAND support Davinci: ea20: set GPIOs to hold MII-Phy in reset and set UART0-Switch for console Davinci: ea20: set console on UART0 arm, davinci: add cam_enc_4xx support arm926ejs, davinci: add missing spi defines for dm365 arm926ejs, davinci: add cpuinfo for dm365 arm, davinci: add lowlevel function for dm365 soc arm, davinci: add header files for dm365 spl, nand: add 4bit HW ecc oob first nand_read_page function arm, davinci: add support for new spl framework spl: add option for adding post memory test to the SPL framework net, davinci_emac: make clock divider in MDIO control register configurable arm, usb, davinci: make USBPHY_CTL register configurable usb, davinci: add enable_vbus() weak function omap3evm: fix errors caused by multiple definitions omap3evm: Add (quick) configuration for NAND only omap3evm: Add (quick) configuration for MMC/SD only omap3evm: move common config options to new file omap3evm: Prepare to split configuration omap3evm: Reorder related config options omap/spl: actually enable the console davinci_emac: compilation fix, phy is array now omap3evm: Set environment variable 'ethaddr' arm, arm926: fix missing symbols in NAND_SPL mode arm, davinci: Add function lpsc_syncreset() arm, davinci: replace CONFIG_PRELOADER with CONFIG_SPL_BUILD arm/km: portl2 environment address update to P1B arm/km: adapt bootcounter evaluation arm/km: enable jffs2 cmds arm/km: trigger reconfiguration for the Xilinx FPGA arm/km: add boardid and hwkey to kernel command line ARM: Reintroduce MACH_TYPE_KM_KIRKWOOD for keymile ARM boards netspace_v2: enable I2C EEPROM support netspace_v2: fix SDRAM configuration armada100: define CONFIG_SYS_CACHELINE_SIZE pantheon: define CONFIG_SYS_CACHELINE_SIZE kirkwood: define CONFIG_SYS_CACHELINE_SIZE kirkwood: drop empty asm-offsets.s file arm/km/mgcoge3un: enhance "waitforne" feature arm/km: add variable waitforne to mgcoge3un gplugD: Fix for error:MACH_TYPE_SHEEVAD undeclared ARM: dreamplug: fix compilation ARM: DockStar: fix compilation ARM: netspace_v2: fix warnings am335x: Drop board_sysinfo struct am335x: Temporarily add MACH_TYPE define misc:pmic:samsung Enable PMIC driver at C210 Universal target dcache:s5p CONFIG_SYS_CACHELINE_SIZE added for s5p UNIVERSAL C210 target dcache:s5p CONFIG_SYS_CACHELINE_SIZE added for s5p GONI target smdkv310: use macro for mmc data read function address smdkv310: use spl framework for mmc spl SMDKV310: use get_ram_size() to validate dram size SMDKV310: Initialize board id using CONFIG_MACH_TYPE ORIGEN : use absolute paths and fix tool naming ORIGEN : enable device tree support MX25: tx25: Fix building due to missing MACH_TYPE mx31: Add board support for HALE TT-01 mx31: add ESD control registers mx31: define pins and init for UART2 and CSPI3 MX35: add support for flea3 board MX51: vision2: add MACH_TYPE in config file vision2: Remove unused header file mx51evk: Remove unused get_board_rev function mx51evk: Remove unneeded '1' from mx51evk.h I2C: Fix mxc_i2c.c problem on imx31_phycore mx35pdk: Add RTC support mx51evk: Use GPIO API for configuring the IOMUX mx51evk: Add RTC support rtc: Make mc13783-rtc driver generic qong: remove unneeded IOMUX settings qong: Use mx31_set_gpr to setup USBH2 pins mx31: Introduce mx31_set_gpr function mx31pdk: Add MC13783 PMIC support qong: remove unneeded "1" from qong.h misc: pmic: fix regression in pmic_fsl.c (SPI) mx5 configs: CONFIG_PRIME should really be CONFIG_ETHPRIME MX35: Drop unnecessary prototypes from imx-regs.h I2C: added I2C-2 and I2C-3 to MX35 MX35: factorize common assembly code MX35: add reset cause as provided by other i.MX MX35: add pins definition for UART3 MX35: added ESDC structure to imx-regs
| * ehci-mxc: remove incorrect commentWolfgang Grandegger2011-11-04-1/+0
| | | | | | | | | | | | | | The USB port to be used is determined by CONFIG_MXC_USB_PORT. So, it appears that the comment is not correct. Remove it. Signed-off-by: Wolfgang Grandegger <wg@denx.de>
| * VIDEO: davinci: add framebuffer to da8xxStefano Babic2011-11-03-0/+847
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch is a port from the framebuffer driver of the Linux driver drivers/video/da8xx-fb.c, used on davinci da8xx and OMAP-L138 boards. As base for the port, the following commit (last changes for this driver at the moment in the Linux kernel tree) was taken: commit 1db41e032d563eb47deab40dc5595be306b143ba Author: axel lin <axel.lin@gmail.com> Date: Tue Feb 22 01:52:42 2011 +0000 video: da8xx-fb: fix section mismatch warning Signed-off-by: Axel Lin <axel.lin@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org> Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Sandeep Paulraj <s-paulraj@ti.com> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * spl, nand: add 4bit HW ecc oob first nand_read_page functionHeiko Schocher2011-11-03-1/+42
| | | | | | | | | | | | | | | | | | | | | | | | similiar to commit dc7cd8e59ba077f3b4c1a4557c9cd86a31b9ab1f, only adapted for the new spl framework. Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Tom Rini <trini@ti.com> Acked-by: Scott Wood <scottwood@freescale.com> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * arm, davinci: add support for new spl frameworkHeiko Schocher2011-11-03-0/+59
| | | | | | | | | | | | | | | | Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Sandeep Paulraj <s-paulraj@ti.com> Cc: Scott Wood <scottwood@freescale.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * net, davinci_emac: make clock divider in MDIO control register configurableHeiko Schocher2011-11-03-2/+7
| | | | | | | | | | | | | | | | | | | | Define CONFIG_SYS_EMAC_TI_CLKDIV for setting the clkdiv value in the MDIO control register. Signed-off-by: Heiko Schocher <hs@denx.de> cc: Sandeep Paulraj <s-paulraj@ti.com> cc: Wolfgang Denk <wd@denx.de> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * arm, usb, davinci: make USBPHY_CTL register configurableHeiko Schocher2011-11-03-1/+5
| | | | | | | | | | | | | | | | | | | | | | Define CONFIG_DV_USBPHY_CTL for setting the USB PHY control register. Signed-off-by: Heiko Schocher <hs@denx.de> Acked-by: Remy Bohmer <linux@bohmer.net> cc: Sandeep Paulraj <s-paulraj@ti.com> cc: Remy Bohmer <linux@bohmer.net> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * usb, davinci: add enable_vbus() weak functionHeiko Schocher2011-11-03-2/+12
| | | | | | | | | | | | | | | | Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Remy Bohmer <linux@bohmer.net> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Igor Grinberg <grinberg@compulab.co.il> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * davinci_emac: compilation fix, phy is array nowIlya Yanok2011-11-03-1/+1
| | | | | | | | | | | | | | Fix compilation issues introduced by recent multiply PHY patch. Signed-off-by: Ilya Yanok <yanok@emcraft.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
| * ARM: dreamplug: fix compilationAnatolij Gustschin2011-11-03-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix build issues: mvrtc.c: In function 'rtc_get': mvrtc.c:45: warning: implicit declaration of function 'readl' mvrtc.c: In function 'rtc_set': mvrtc.c:100: warning: implicit declaration of function 'writel' dreamplug.c: In function 'board_early_init_f': dreamplug.c:43: warning: implicit declaration of function 'kw_config_gpio' dreamplug.c: In function 'board_init': dreamplug.c:108: warning: implicit declaration of function 'kw_sdram_bar' drivers/rtc/librtc.o: In function `rtc_set': /home/ag/u-boot/u-boot-move-new-host/u-boot-video/drivers/rtc/mvrtc.c:92: undefined reference to `writel' /home/ag/u-boot/u-boot-move-new-host/u-boot-video/drivers/rtc/mvrtc.c:103: undefined reference to `writel' drivers/rtc/librtc.o: In function `rtc_reset': /home/ag/u-boot/u-boot-move-new-host/u-boot-video/drivers/rtc/mvrtc.c:117: undefined reference to `readl' /home/ag/u-boot/u-boot-move-new-host/u-boot-video/drivers/rtc/mvrtc.c:120: undefined reference to `readl' drivers/rtc/librtc.o: In function `rtc_get': /home/ag/u-boot/u-boot-move-new-host/u-boot-video/drivers/rtc/mvrtc.c:45: undefined reference to `readl' /home/ag/u-boot/u-boot-move-new-host/u-boot-video/drivers/rtc/mvrtc.c:48: undefined reference to `readl' ... Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Jason Cooper <u-boot@lakedaemon.net> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Acked-by: Marek Vasut <marek.vasut@gmail.com>
| * ARM: DockStar: fix compilationAnatolij Gustschin2011-11-03-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix build problem: mvgbe.c: In function 'mvgbe_initialize': mvgbe.c:735: warning: implicit declaration of function 'get_random_hex' dockstar.c: In function 'board_early_init_f': dockstar.c:43: warning: implicit declaration of function 'kw_config_gpio' dockstar.c: In function 'board_init': dockstar.c:113: warning: implicit declaration of function 'kw_sdram_bar' dockstar.c: In function 'set_leds': dockstar.c:161: warning: implicit declaration of function 'readl' dockstar.c:161: error: dereferencing pointer to incomplete type dockstar.c:162: warning: implicit declaration of function 'writel' dockstar.c:162: error: dereferencing pointer to incomplete type dockstar.c:163: error: dereferencing pointer to incomplete type dockstar.c:164: error: dereferencing pointer to incomplete type make[1]: *** [dockstar.o] Error 1 make: *** [board/Seagate/dockstar/libdockstar.o] Error 2 Reported-by: Roland Kletzing <devzero@web.de> Signed-off-by: Anatolij Gustschin <agust@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Prafulla Wadaskar <prafulla@marvell.com>
| * I2C: Fix mxc_i2c.c problem on imx31_phycoreMarek Vasut2011-11-03-11/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem was caused by a global variable being used early in the boot process. The symptoms were on imx31_phycore board, reading the environment from I2C EEPROM didn't work correctly and causes default environment to be loaded. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Cc: Heiko Schocher <hs@denx.de> Cc: Stefano Babic <sbabic@denx.de> Acked-by: Heiko Schocher <hs@denx.de> Tested-by: Anatolij Gustschin <agust@denx.de> Tested-by: Stefano Babic <sbabic@denx.de>
| * rtc: Make mc13783-rtc driver genericFabio Estevam2011-11-03-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rename mc13783-rtc so that it can be used for both MC13783 and MC13892 PMICs. efikamx board, for example, does use a MC13892 PMIC, but the RTC selection is currently made as: #define CONFIG_RTC_MC13783 ,which is not very obvious. Let the MC13783 and MC13892 RTC be selected by: #define CONFIG_RTC_MC13XXX Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Stefano Babic <sbabic@denx.de>
| * misc: pmic: fix regression in pmic_fsl.c (SPI)Helmut Raiger2011-11-03-6/+2
| | | | | | | | | | | | | | | | | | This fixes write access to PMIC registers, the bug was introduced partly in commit 64aac65099 and in commit c9fe76dd91. It was tested on an i.mx31 with a mc13783. Signed-off-by: Helmut Raiger <helmut.raiger@hale.at> Acked-by: Stefano Babic <sbabic@denx.de>
| * I2C: added I2C-2 and I2C-3 to MX35Stefano Babic2011-11-03-0/+4
| | | | | | | | | | | | Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Heiko Schocher <hs@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
* | Merge branch 'master' of git://git.denx.de/u-boot-i2cWolfgang Denk2011-11-08-22/+25
|\ \ | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-i2c: Powerpc/i2c: Use the same initialize codes
| * | Powerpc/i2c: Use the same initialize codesJerry Huang2011-11-04-22/+25
| |/ | | | | | | | | | | Make the I2C2 and I2C1 use the same initialize codes. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com>
* | drivers/net/rtl8139.c: Fix GCC 4.6 build warningsWolfgang Denk2011-11-07-30/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: rtl8139.c: In function 'rtl8139_probe': rtl8139.c:256:15: warning: variable 'fullduplex' set but not used [-Wunused-but-set-variable] rtl8139.c:256:6: warning: variable 'speed10' set but not used [-Wunused-but-set-variable] rtl8139.c: In function 'rtl_transmit': rtl8139.c:419:16: warning: variable 'txstatus' set but not used [-Wunused-but-set-variable] Change code to use new debug macros; also fix the new errors and warnigns popping up now, like "error: 'to' undeclared" and some "warning: format '%X' expects argument of type 'unsigned int', but argument X has type 'long unsigned int'" Signed-off-by: Wolfgang Denk <wd@denx.de>
* | drivers/net/rtl8169.c: Fix GCC 4.6 build warningWolfgang Denk2011-11-07-3/+0
| | | | | | | | | | | | | | | | | | Fix: rtl8169.c: In function 'rtl_init': rtl8169.c:742:13: warning: variable 'printed_version' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* | drivers/net/pcnet.c: Change debug code to fix build warningWolfgang Denk2011-11-07-13/+4
| | | | | | | | | | | | | | | | | | | | Fix: pcnet.c: In function 'pcnet_probe': pcnet.c:247:8: warning: variable 'chipname' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Wolfgang Grandegger <wg@denx.de>
* | drivers/pcmcia/mpc8xx_pcmcia.c: Fix GCC 4.6 build warningWolfgang Denk2011-11-07-1/+2
| | | | | | | | | | | | | | | | | | Fix: mpc8xx_pcmcia.c: In function 'pcmcia_on': mpc8xx_pcmcia.c:76:8: warning: variable 'slotbit' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* | drivers/video/cfb_console.c:Fix GCC 4.6 build warningWolfgang Denk2011-11-07-1/+3
| | | | | | | | | | | | | | | | | | | | | | Silence this warning: cfb_console.c: In function 'video_logo': cfb_console.c:1563:18: warning: variable 'y_off' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Anatolij Gustschin <agust@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
* | drivers/video/videomodes.c: fix GCC 4.6 build warningWolfgang Denk2011-11-07-5/+11
| | | | | | | | | | | | | | | | | | | | Fix: videomodes.c: In function 'video_get_params': videomodes.c:162:13: warning: variable 't' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Anatolij Gustschin <agust@denx.de>
* | drivers/rtc/rv3029.c: fix GCC 4.6 build warningsWolfgang Denk2011-11-07-16/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: rv3029.c: In function 'rtc_set': rv3029.c:98:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] rv3029.c: In function 'set_eere_bit': rv3029.c:131:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] rv3029.c: In function 'wait_eebusy': rv3029.c:149:9: warning: variable 'ret' set but not used [-Wunused-but-set-variable] rv3029.c: In function 'rtc_reset': rv3029.c:165:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* | drivers/rtc/ds3231.c: fix GCC 4.6 build warningsWolfgang Denk2011-11-07-13/+3
|/ | | | | | | | | | | Fix: ds3231.c: In function 'rtc_get': ds3231.c:90:52: warning: variable 'control' set but not used [-Wunused-but-set-variable] Fix is done by switching to standard debug() instead of custom macro. Signed-off-by: Wolfgang Denk <wd@denx.de>
* sandbox: put stdin into raw modeMike Frysinger2011-11-03-0/+1
| | | | | | | | This allows us to act like a serial device: we get tab chars and CTRL+C and respond appropriately. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Tested-by: Simon Glass <sjg@chromium.org>
* serial: sandbox: use ssize_t to match os_readMike Frysinger2011-11-03-1/+1
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Simon Glass <sjg@chromium.org>
* serial: sandbox: optimize putsMike Frysinger2011-11-03-2/+1
| | | | | Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Simon Glass <sjg@chromium.org>
* drivers/rtc/ds1337.c: fix GCC 4.6 build warningsWolfgang Denk2011-11-03-13/+3
| | | | | | | | | Fix: ds1337.c: In function 'rtc_get': ds1337.c:88:52: warning: variable 'control' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* 4xx_enet.c: fix GCC 4.6 build warningsWolfgang Denk2011-11-03-3/+0
| | | | | | | | | | Fix: 4xx_enet.c: In function 'enet_rcv': 4xx_enet.c:1772:21: warning: variable 'ef_ptr' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Stefan Roese <sr@denx.de>
* drivers/net/eepro100.c: fix GCC 4.6 build warningsWolfgang Denk2011-11-03-2/+0
| | | | | | | | | Fix: eepro100.c: In function 'read_hw_addr': eepro100.c:926:6: warning: variable 'eeprom' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* drivers/net/ns8382x.c: fix GCC 4.6 build warningsWolfgang Denk2011-11-03-48/+37
| | | | | | | | | | | | | | | | | | Fix: ns8382x.c: In function 'ns8382x_check_duplex': ns8382x.c:704:6: warning: variable 'hun' set but not used [-Wunused-but-set-variable] To fix this, we get rid of the NS8382X_DEBUG code and use standard debug() instead. This will now trigger a so far undetected warning: ns8382x.c:780:2: warning: format '%X' expects argument of type 'unsigned int', but argument 2 has type 'long unsigned int' [-Wformat] Fix that, too. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-mmcWolfgang Denk2011-11-03-36/+549
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-mmc: tegra2: Move MMC clock initialization into MMC driver mmc: sdhci: fix sdma bug for large file transfer mmc: sdhci: add timeout for data transfer mmc: sdhci: add mmc structure for host mmc: sdhci: fix build warning mmc: sdhci: fix cache flush mmc: CMD7:MMC_CMD_SELECT_CARD response fix mmc: test mmc bus width on startup mmc: change magic number to macro define mmc: mv_sdhci: fix 8bus width access for 88SV331xV5 mmc: retry the cmd8 to meet 74 clocks requirement in the spec PXA: Add MMC driver using the generic MMC framework
| * tegra2: Move MMC clock initialization into MMC driverStephen Warren2011-11-03-3/+9
| | | | | | | | | | | | | | | | | | | | | | This centralizes knowledge of MMC clocking into the MMC driver. This also removes clock setup from the board files, which will simplify later changes that modify the Harmony board to support the correct set of MMC controllers. Signed-off-by: Stephen Warren <swarren@nvidia.com> Cc: Andy Fleming <afleming@gmail.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org>
| * mmc: sdhci: fix sdma bug for large file transferLei Wen2011-11-03-1/+1
| | | | | | | | | | | | | | | | | | SDHCI spec need to reset the sdma base address while the software try to accorss the 512k bytes address boundary. When meet such accross behavior, sdhci controller would generate a interrupt automatically, and software need handle this. Signed-off-by: Lei Wen <leiwen@marvell.com>
| * mmc: sdhci: add timeout for data transferLei Wen2011-11-03-1/+8
| | | | | | | | Signed-off-by: Lei Wen <leiwen@marvell.com>
| * mmc: sdhci: add mmc structure for hostLei Wen2011-11-03-0/+1
| | | | | | | | | | | | | | So that sdhci host would tell in the driver that the mmc current attributes. Signed-off-by: Lei Wen <leiwen@marvell.com>
| * mmc: sdhci: fix cache flushLei Wen2011-11-03-1/+1
| | | | | | | | | | | | Only flush the memory range needed. Signed-off-by: Lei Wen <leiwen@marvell.com>
| * mmc: CMD7:MMC_CMD_SELECT_CARD response fixAjay Bhargav2011-11-03-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | As per JEDEC document JESD84-A441 (page 105) response for CMD7 (MMC_CMD_SELECT_CARD) response should be R1 instead of R1b. In uboot we never take MMC to disconnected state and on powerup its always ideal state which later goes to stand-by state. from document footnote: R1 while selecting from Stand-By State to Transfer State; R1b while selecting from Disconnected State to Programming State. Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
| * mmc: test mmc bus width on startupLei Wen2011-11-03-18/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | For we don't know mmc bus width from reading registers, the only way to check is to test. Current compare offset is: EXT_CSD_PARTITIONING_SUPPORT EXT_CSD_ERASE_GROUP_DEF EXT_CSD_REV EXT_CSD_HC_ERASE_GRP_SIZE EXT_CSD_SEC_CNT Signed-off-by: Lei Wen <leiwen@marvell.com>
| * mmc: change magic number to macro defineLei Wen2011-11-03-9/+12
| | | | | | | | | | | | | | | | Previous magic number is hard to parse its meaning, change it to respective macro definition Signed-off-by: Lei Wen <leiwen@marvell.com> Acked-by: WOlfgang Denk <wd@denx.de>
| * mmc: mv_sdhci: fix 8bus width access for 88SV331xV5Lei Wen2011-11-03-0/+33
| | | | | | | | | | | | | | | | | | | | | | | | Marvell 88SV331xV5 platform's sdhci host control is not very standard with the spec in the 8bit handling. It need to set its private register to switch to the 8bit mode which is not included in the standard sdhci registers. This patch mainly hacks the writeb method, and set its private register if it find the driver is going to switch to the 8bit mode. Signed-off-by: Lei Wen <leiwen@marvell.com>
| * mmc: retry the cmd8 to meet 74 clocks requirement in the specLei Wen2011-11-03-2/+14
| | | | | | | | | | | | | | | | | | | | For some controller it has dynamic clock gating, and only toggle out clk when the first cmd0 send out, while some card strictly obey the 74 clocks rule, the interval may not be sufficient between the cmd0 and this cmd8, retry to fulfil the clock requirement. Signed-off-by: Lei Wen <leiwen@marvell.com> Tested-by: Marek Vasut <marek.vasut@gmail.com>
| * PXA: Add MMC driver using the generic MMC frameworkMarek Vasut2011-11-03-0/+443
| | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | e1000: fix bugs from recent commitsWolfgang Denk2011-11-03-5/+6
|/ | | | | | | | | | | | | | Commit 114d7fc0 "e1000: Rewrite EEPROM checksum error to give more information" failed to initialize the checksum variable which should result in random results. Fix that. Commit 2326a94d caused a ton of "unused variable 'x'" warnings. Fix these. While we are at it, remove some bogus parens. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Kyle Moffett <Kyle.D.Moffett@boeing.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Tested-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>
* e1000: Allow direct access to the E1000 SPI EEPROM deviceKyle Moffett2011-10-28-1/+657
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a part of the manufacturing process for some of our custom hardware, we are programming the EEPROMs attached to our Intel 82571EB controllers from software using U-Boot and Linux. This code provides several conditionally-compiled features to assist in our manufacturing process: CONFIG_CMD_E1000: This is a basic "e1000" command which allows querying the controller and (if other config options are set) performing EEPROM programming. In particular, with CONFIG_E1000_SPI this allows you to display a hex-dump of the EEPROM, copy to/from main memory, and verify/update the software checksum. CONFIG_E1000_SPI_GENERIC: Build a generic SPI driver providing the standard U-Boot SPI driver interface. This allows commands such as "sspi" to access the bus attached to the E1000 controller. Additionally, some E1000 chipsets can support user data in a reserved space in the E1000 EEPROM which could be used for U-Boot environment storage. CONFIG_E1000_SPI: The core SPI access code used by the above interfaces. For example, the following commands allow you to program the EEPROM from a USB device (assumes CONFIG_E1000_SPI and CONFIG_CMD_E1000 are enabled): usb start fatload usb 0 $loadaddr 82571EB_No_Mgmt_Discrete-LOM.bin e1000 0 spi program $loadaddr 0 1024 e1000 0 spi checksum update Please keep in mind that the Intel-provided .eep files are organized as 16-bit words. When converting them to binary form for programming you must byteswap each 16-bit word so that it is in little-endian form. This means that when reading and writing words to the SPI EEPROM, the bit ordering for each word looks like this on the wire: Time >>> ------------------------------------------------------------------ ... [7, 6, 5, 4, 3, 2, 1, 0, 15, 14, 13, 12, 11, 10, 9, 8], ... ------------------------------------------------------------------ (MSB is 15, LSB is 0). Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com> Cc: Ben Warren <biggerbadderben@gmail.com>
* e1000: Export core EEPROM access functions for SPI supportKyle Moffett2011-10-28-17/+24
| | | | | | | | | | | | A followup patch will be adding a configurable feature to enable programming of E1000 EEPROMs from the command line or via the generic U-Boot SPI interface. In order for it to work it needs access to certain E1000-internal functions, so export those in the e1000.h header file. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com> Cc: Ben Warren <biggerbadderben@gmail.com>
* e1000: Rewrite EEPROM checksum error to give more informationKyle Moffett2011-10-28-18/+28
| | | | | | | | As an aide to debugging, we should print out the expected value of the EEPROM checksum in addition to just saying that it is wrong. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com> Cc: Ben Warren <biggerbadderben@gmail.com>
* e1000: Restructure and streamline PCI device probingKyle Moffett2011-10-28-71/+74
| | | | | | | | | | | | | | | | | | | | | | | By allocating the e1000 device structures much earlier, we can easily generate better error messages and siginficantly clean things up. The only user-visable change (aside from reworded error messages) is that a detected e1000 device which fails to initialize due to software or hardware error will still be allocated a device number. As one example, consider a system with 2 e1000 PCI devices where the first controller has a corrupted EEPROM. Using the old code the second controller would be "e1000#0", while with this change it would be "e1000#1". This change should hopefully make such EEPROM errors much more straightforward to handle correctly in boot scripts and the like. It is also necessary for a followup patch which allows SPI programming of an e1000 controller's EEPROM even if the checksum is invalid. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com> Cc: Ben Warren <biggerbadderben@gmail.com>
* e1000: Clean up handling of dual-port NICs and support 82571Kyle Moffett2011-10-28-39/+33
| | | | | | | Consolidate the test for a dual-port NIC to one location for easy modification, then fix support for the dual-port 82571. Signed-off-by: Kyle Moffett <Kyle.D.Moffett@boeing.com>