summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2010-11-10tsec: Wait for both RX and TX to stopAndy Fleming
When gracefully stopping the controller, the driver was continuing if *either* RX or TX had stopped. We need to wait for both, or the controller could get into an invalid state. Signed-off-by: Andy Fleming <afleming@freescale.com>
2010-11-10eSDHC: add the reset function to reset the eSDHC controllerDipen Dudhat
Reset the eSDHC controller first before initialize the eSDHC controller. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com> Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
2010-11-10Workaround for manual CMD12 issue on P1020/P1022 PlatformsDipen Dudhat
Manual CMD12 command can cause the protocol violations and cause read to hang, therefore, the Auto CMD12 is used to avoid it. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com> Signed-off-by: Dipen Dudhat <Dipen.Dudhat@freescale.com>
2010-11-10use maximum timeout for eSDHCDipen Dudhat
The hardware may take longer to timeout, but it's much better than having a too-short timeout value. This patch is derived from P2020DS BSP Release. Signed-off-by: Jin Qing <b24347@freescale.com> Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Dipen Dudhat <Dipen.Dudhat@freescale.com>
2010-11-10Assign Initial clock speed for eSDHC controllerDipen Dudhat
After booting the u-boot, and first using some SD card (such as Sandisk 2G SD card), because the field 'clock' of struct mmc is zero, this will cause the read transfer is always active and SDHC DATA line is always active, therefore, driver can't handle the next command. Therefore, the field 'clock' is assigned the initial clock speed 400000Hz. Signed-off-by: Jerry Huang <Chang-Ming.Huang@freescale.com> Signed-off-by: Dipen Dudhat <Dipen.Dudhat@freescale.com>
2010-11-10fix the voltage validation process in eSDHC DriverDipen Dudhat
The current code use all the voltage range support by the host controller to do the validation. This will cause problem when the host supports Low Voltage Range. Change the validation voltage to be based on board setup. This patch is derived from P2020DS BSP Release. Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Dipen Dudhat <Dipen.Dudhat@freescale.com>
2010-11-10Reverted define of 1.8v eSDHC ErrataDipen Dudhat
Reverted 1.8v voltage selection for eSDHC from P1 and P2 config Signed-off-by: Dipen Dudhat <Dipen.Dudhat@freescale.com>
2010-11-10eSDHC 1.8v erratum workaround for P1022 and P1020Sandeep Gopalpet
On Rev 1.0 of P1022 and P1020 eSDHC controller can't work at 1.8v. To remove the capability of the controller, this work around has added to unset the 1.8v field in Host capabilities register. Signed-off-by: Huang Changming <R66093@freescale.com>
2010-11-10NET: Move MDIO regs out of TSEC SpaceSandeep Kumar
Moved the mdio regs out of the tsec structure,and provided different offsets for tsec base and mdio base so that provision for etsec2.0 can be provided. This patch helps in providing the support for etsec2.0 In etsec2.0, the MDIO register space and the etsec reg space are different. Also, moved the TSEC_BASE_ADDR and MDIO_BASE_ADDR definitons into platform specific files. Signed-off-by: Sandeep Kumar <Sandeep.Kumar@freescale.com>
2010-11-10eSPI controller support under the SPI framework.Poonam Aggrwal
This patch has been borrowed from MPC8536DS SPI Support. Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com> Signed-off-by: Mingkai Hu <Mingkai.hu@freescale.com>
2010-11-10Workaround for AHB2MAG IRQ BypassDipen Dudhat
This is a workaround for the hardware bug found on the P2020 Rev 1.0. The DCR[DMA__AHB2MAG_IRQ_BYPASS]is not set automatically upon SoC reset. This patch sets the bit. Signed-off-by: Vishnu Suresh <Vishnu@freescale.com> Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
2010-11-10Enable PIO mode for eSDHC DriverDipen Dudhat
On some Freescale SoCs, internal DMA of eSDHC controller has a bug. Hence, CPU Programmed I/O mode has been introduced for data transfer. Signed-off-by: Dipen Dudhat <dipen.dudhat@freescale.com>
2009-12-11nand: Fix access to last block in NAND devicesStefan Roese
Currently, the last block of NAND devices can't be accessed. This patch fixes this issue by correcting the boundary checking (off-by-one error). Signed-off-by: Stefan Roese <sr@denx.de> Cc: Scott Wood <scottwood@freescale.com> Cc: Wolfgang Denk <wd@denx.de>
2009-12-07Fix computation in nand_util.c:get_len_incl_badDaniel Hobi
Depending on offset, flash size and the number of bad blocks, get_len_incl_bad may return a too small value which may lead to: 1) If there are no bad blocks, nand_{read,write}_skip_bad chooses the bad block aware read/write code. This may hurt performance, but does not have any adverse effects. 2) If there are bad blocks, the nand_{read,write}_skip_bad may choose the bad block unaware read/write code (if len_incl_bad == *length) which leads to corrupted data. Signed-off-by: Daniel Hobi <daniel.hobi@schmid-telecom.ch>
2009-12-07smc911x: fix typo in smc911x_handle_mac_address nameMike Rapoport
Signed-off-by: Mike Rapoport <mike@compulab.co.il>
2009-12-02RTC: Fix return code in MC13783 RTC driver.Magnus Lilja
Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
2009-12-02m41t11: Remove unused functionsPeter Tyser
Signed-off-by: Peter Tyser <ptyser@xes-inc.com>
2009-11-23Add support for CS2 dataflash for Atmel-SPI.Remy Bohmer
The only missing chipselect line support is CS2, and I need it on CS2... Signed-off-by: Remy Bohmer <linux@bohmer.net>
2009-11-22sf: fix stmicro offset setup while erasingMike Frysinger
Reported-by: Peter Gombos <gombos@protecta.hu> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-11-22sf: new driver for Winbond W25X16/32/64 devicesJason McMullan
Signed-off-by: Jason McMullan <jason.mcmullan@gmail.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
2009-11-22Add driver for FTRTC010 real time clockPo-Yu Chuang
Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com> Edited commit message. Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-11-12smc911x: make smc911x_initialize return correct valueMike Rapoport
Make smc911x_initialize return -1 on error and number of interfaces detected otherwise. Signed-off-by: Mike Rapoport <mike@compulab.co.il> Acked-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-11-11Merge branch 'master' of git://git.denx.de/u-boot-netWolfgang Denk
2009-11-11mxc_fec: avoid free() calls to already freed pointers.javier Martin
Sometimes, inside NetLoop, eth_halt() is called before eth_init() has been called. This is harmless except for free() calls to pointers which have not been allocated yet. This patch initializes those pointers to NULL and allocates them only the first time. This way we can get rid of free calls in halt callback. This has been tested in i.MX27 Litekit board and eldk-4.2 toolchains. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-11-11mxc_fec: fix some erroneous PHY accesses.javier Martin
This patch fixes erroneous access to the ethernet PHY which broke the driver. 1. Selector field in the auto-negotiation register must be 0x00001 for using 802.3, not 0x00000 which is reseved. 2. Access to the PHY address specified by CONFIG_FEC_MXC_PHYADDR, not 0x0 fixed address. This has been tested in i.MX27 Litekit board and eldk-4.2 toolchains. Now using proper defines for auto-negotiation register. Signed-off-by: Javier Martin <javier.martin@vista-silicon.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-11-09SMC91111: Clean up SMC_inx macros on xsengine and xaeniaxBen Warren
This patch fixes the following warnings: Configuring for xaeniax board... smc91111_eeprom.c: In function 'print_macaddr': smc91111_eeprom.c:278: warning: suggest parentheses around + or - in operand of & smc91111_eeprom.c:281: warning: suggest parentheses around + or - in operand of & ... Configuring for xsengine board... smc91111_eeprom.c: In function 'print_macaddr': smc91111_eeprom.c:278: warning: suggest parentheses around + or - inside shift smc91111_eeprom.c:281: warning: suggest parentheses around + or - inside shift Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-11-09Fix CS8900 regression on impa7 boardBen Warren
The following error was seen on impa7 board, due to its use of a 32-bit bus on CS8900. cs8900.c:137:37: error: macro "get_reg_init_bus" passed 2 arguments, but takes just 1 This patch gives the macro the correct number of arguments Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-11-09Fix cs8900 dev->priv not init issueHui.Tang
Ensure all CS8900 data structures are assigned before accessing device Signed-off-by: Hui.Tang <zetalabs@gmail.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-11-04fsl_pci_init_port end-point initialization is brokenEd Swarthout
commit 70ed869e broke fsl pcie end-point initialization. Returning 0 is not correct. The function must return the first free bus number for the next controller. fsl_pci_init() must still be called and a bus allocated even if the controller is an end-point. Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Acked-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-11-04Revert "ppc/85xx/pci: fsl_pci_init: pcie agent mode support"Kumar Gala
This reverts commit 70ed869ea5f6b1d13d7b140c83ec0dcd8a127ddc. There isn't any need to modify the API for fsl_pci_init_port to pass the status of host/agent(end-point) status. We can determine that internally to fsl_pci_init_port. Revert the patch that makes the API change. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-10-29Fix DM9000 MAC address handlingBen Warren
Proper behavior is to pull MAC address from NVRAM in the initialization() an stuff it in dev->address, then program the device from dev->address in the init() function. Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-10-28cfi: Add weak default function for flash_cmd_reset()Stefan Roese
Currently the CFI driver issues both AMD and Intel reset commands. This is because the driver doesn't know yet which chips are connected. This dual reset seems to cause problems with the M29W128G chips as reported by Richard Retanubun. This patch now introduces a weak default function for the CFI reset command, still with both resets. This can be overridden by a board specific version if necessary. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Richard Retanubun <RichardRetanubun@ruggedcom.com>
2009-10-28Coding Style cleanup; update CHANGELOG, prepare -rc1v2009.11-rc1Wolfgang Denk
Signed-off-by: Wolfgang Denk <wd@denx.de>
2009-10-27drivers/net/phy/miiphybb.c: fix warning: no newline at end of fileWolfgang Denk
Add missing newline. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Luigi Mantellini <luigi.mantellini@idf-hit.com> Cc: Ben Warren <biggerbadderben@gmail.com>
2009-10-27mpc85xx: Configure QE USB for MPC8569E-MDS boardsAnton Vorontsov
Setup QE pin multiplexing for USB function, configure needed BCSRs and add some fdt fixups. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-10-27ppc/85xx/pci: fsl_pci_init: pcie agent mode supportVivek Mahajan
Originally written by Jason Jin and Mingkai Hu for mpc8536. When QorIQ based board is configured as a PCIe agent, then unlock/enable inbound PCI configuration cycles and init a 4K inbound memory window; so that a PCIe host can access the PCIe agents SDRAM at address 0x0 * Supported in fsl_pci_init_port() after adding pcie_ep as a param * Revamped copyright in drivers/pci/fsl_pci_init.c * Mods in 85xx based board specific pci init after this change Signed-off-by: Vivek Mahajan <vivek.mahajan@freescale.com> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
2009-10-24sf: add GPL-2 license infoMike Frysinger
Some of the new spi flash files were missing explicit license lines. Signed-off-by: Mike Frysinger <vapier@gentoo.org> CC: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
2009-10-24Merge branch 'master-sync' of git://git.denx.de/u-boot-armWolfgang Denk
2009-10-24ARM: OMAP3: Refactors the SM911x driverSteve Sakoman
Move the test up in the function to not hang on systems without ethernet. Signed-off-by: Steve Sakoman <sakoman@gmail.com> Acked-by: Ben Warren <biggerbadderben@gmail.com>
2009-10-24s5pc1xx: SMDKC100: fix compile warningsMinkyu Kang
fix the following compile warnings warning: dereferencing type-punned pointer will break strict-aliasing rules Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2009-10-19smc911x: add support for LAN9220Daniel Mack
Signed-off-by: Daniel Mack <daniel@caiaq.de> Cc: Sascha Hauer <s.hauer@pengutronix.de> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
2009-10-13Clean-up of s3c24x0 nand driverkevin.morfitt@fearnside-systems.co.uk
This patch re-formats the arm920t s3c24x0 nand driver in preparation for changes to add support for the Embest SBC2440-II Board. The changes are as follows: - re-indent the code using Lindent - make sure register layouts are defined using a C struct - replace the upper-case typedef'ed C struct names with lower case non-typedef'ed ones - make sure registers are accessed using the proper accessor functions - run checkpatch.pl and fix any error reports It assumes the following patch has been applied first: - [U-Boot][PATCH-ARM] CONFIG_SYS_HZ fix for ARM902T S3C24X0 Boards, 05/09/2009 - patches 1/4, 2/4 and 3/4 of this series Tested on an Embest SBC2440-II Board with local u-boot patches as I don't have any s3c2400 or s3c2410 boards but need this patch applying before I can submit patches for the SBC2440-II Board. Also, temporarily modified sbc2410x, smdk2400, smdk2410 and trab configs to use the mtd nand driver (which isn't used by any board at the moment), ran MAKEALL for all ARM9 targets and no new warnings or errors were found. Signed-off-by: Kevin Morfitt <kevin.morfitt@fearnside-systems.co.uk> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2009-10-13Clean-up of s3c24x0 drivers excluding nand driverkevin.morfitt@fearnside-systems.co.uk
This patch re-formats the arm920t s3c24x0 driver files, excluding the nand driver, in preparation for changes to add support for the Embest SBC2440-II Board. The changes are as follows: - re-indent the code using Lindent - make sure register layouts are defined using a C struct - replace the upper-case typedef'ed C struct names with lower case non-typedef'ed ones - make sure registers are accessed using the proper accessor functions - run checkpatch.pl and fix any error reports It assumes the following patch has been applied first: - [U-Boot][PATCH-ARM] CONFIG_SYS_HZ fix for ARM902T S3C24X0 Boards, 05/09/2009 - patches 1/4 and 2/4 of this series Tested on an Embest SBC2440-II Board with local u-boot patches as I don't have any s3c2400 or s3c2410 boards but need this patch applying before I can submit patches for the SBC2440-II Board. Also, temporarily modified sbc2410x, smdk2400, smdk2410 and trab configs to use the mtd nand driver (which isn't used by any board at the moment), ran MAKEALL for all ARM9 targets and no new warnings or errors were found. Signed-off-by: Kevin Morfitt <kevin.morfitt@fearnside-systems.co.uk> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2009-10-13s5pc1xx: support serial driverMinkyu Kang
This patch includes the serial driver for s5pc1xx. s5pc1xx uart driver needs own register setting and clock configuration. So, need to special driver. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2009-10-13s5pc1xx: support onenand driverMinkyu Kang
This patch includes the onenand driver for s5pc100 Signed-off-by: Minkyu Kang <mk7.kang@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
2009-10-13SMC911X: Add chip auto detectionOlof Johansson
Refactor the smc911x driver to allow for detecting when the chip is missing. I.e. the detect_chip() function is called earlier and will abort gracefully when the Chip ID read returns all 1's. Signed-off-by: Olof Johansson <olof@lixom.net> Acked-by: Dirk Behme <dirk.behme@googlemail.com> Acked-by: Ben Warren <biggerbadderben@gmail.com>
2009-10-13OMAP3 MMC: Fix warning dereferencing type-punned pointerDirk Behme
Fix warning Dereferencing type-punned pointer will break strict-aliasing rules Signed-off-by: Dirk Behme <dirk.behme@googlemail.com> CC: Steve Sakoman <sakoman@gmail.com> Acked-by: Tom Rix <Tom.Rix@windriver.com>
2009-10-12Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk
2009-10-12Leave x86emu op code tables in default sectionEd Swarthout
Forcing the tables into got2 caused extra relocation when using -mrelocatable. This patch requires any board defining CONFIG_BIOSEMU to use -mrelocatable. Signed-off-by: Ed Swarthout <Ed.Swarthout@freescale.com> Acked-by: Jin Zhengxiong <Jason.Jin@freescale.com>
2009-10-10Rewrite the miiphybb (Bit-banged MII bus driver) in order to support an ↵Luigi 'Comio' Mantellini
arbitrary number of mii buses. This feature is useful when your board uses different mii buses for different phys and all (or a part) of these buses are implemented via bit-banging mode. The driver requires that the following macros should be defined into the board configuration file: CONFIG_BITBANGMII - Enable the miiphybb driver CONFIG_BITBANGMII_MULTI - Enable the multi bus support If the CONFIG_BITBANGMII_MULTI is not defined, the board's config file needs to define at least the following macros: MII_INIT - Generic code to enable the MII bus (optional) MDIO_DECLARE - Declaration needed to access to the MDIO pin (optional) MDIO_ACTIVE - Activate the MDIO pin as out pin MDIO_TRISTATE - Activate the MDIO pin as input/tristate pin MDIO_READ - Read the MDIO pin MDIO(v) - Write v on the MDIO pin MDC_DECLARE - Declaration needed to access to the MDC pin (optional) MDC(v) - Write v on the MDC pin The previous macros make the driver compatible with the previous version (that didn't support the multi-bus). When the CONFIG_BITBANGMII_MULTI is also defined, the board code needs to fill the bb_miiphy_buses[] array with a record for each required bus and declare the bb_miiphy_buses_num variable with the number of mii buses. The record (struct bb_miiphy_bus) has the following fields/callbacks (see miiphy.h for details): char name[] - The symbolic name that must be equal to the MII bus registered name int (*init)() - Initialization function called at startup time (just before the Ethernet initialization) int (*mdio_active)() - Activate the MDIO pin as output int (*mdio_tristate)() - Activate the MDIO pin as input/tristate pin int (*set_mdio)() - Write the MDIO pin int (*get_mdio)() - Read the MDIO pin int (*set_mdc)() - Write the MDC pin int (*delay)() - Delay function void *priv - Private data used by board specific code The board code will look like: struct bb_miiphy_bus bb_miiphy_buses[] = { { .name = miibus#1, .init = b1_init, .mdio_active = b1_mdio_active, ... }, { .name = miibus#2, .init = b2_init, .mdio_active = b2_mdio_active, ... }, ... int bb_miiphy_buses_num = sizeof(bb_miiphy_buses) / sizeof(bb_miiphy_buses[0]); Signed-off-by: Luigi 'Comio' Mantellini <luigi.mantellini@idf-hit.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>