summaryrefslogtreecommitdiff
path: root/drivers
Commit message (Collapse)AuthorAgeLines
* fix USB initialisation procedureRemy Bohmer2008-10-14-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | The max packet size is encoded as 0,1,2,3 for 8,16,32,64 bytes. At some places directly 8,16,32,64 was used instead of the encoded value. Made a enum for the options to make this more clear and to help preventing similar errors in the future. After fixing this bug it became clear that another bug existed where the 'pipe' is and-ed with PIPE_* flags, where it should have been 'usb_pipetype(pipe)', or even better usb_pipeint(pipe). Also removed the triple 'get_device_descriptor' sequence, it has no use, and Windows nor Linux behaves that way. There is also a poll going on with a timeout when usb_control_msg() fails. However, the poll is useless, because the flag will never be set on a error, because there is no code that runs in a parallel that can set this flag. Changed this to something more logical. Tested on AT91SAM9261ek and compared the flow on the USB bus to what Linux is doing. There is no difference anymore in the early initialisation sequence. Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* usb: Fix compile warning of r8a66597-hcdNobuhiro Iwamatsu2008-09-19-2/+2
| | | | | Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* Refactoring parts of the common USB OHCI codeRemy Bohmer2008-09-17-451/+556
| | | | | | | | | | | | This patch refactors some large routines of the USB OHCI code by making some routines smaller and more readable which helps debugging and understanding the code. (Makes the code looks somewhat more like the Linux implementation.) Also made entire file compliant to Linux Coding Rules (checkpatch.pl compliant) Signed-off-by: Remy Bohmer <linux@bohmer.net> Signed-off-by: Markus Klotzbuecher <mk@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-nand-flashWolfgang Denk2008-09-13-6/+50
|\
| * fsl_elbc_nand: ecclayout cleanupsAnton Vorontsov2008-09-12-4/+0
| | | | | | | | | | | | | | | | | | | | This patch deletes oobavail assignments, they're calculated by the nand core code in nand_scan_tail, plus current oobavail values are wrong for the LP NANDs. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
| * fsl_elbc_nand: implement support for flash-based BBTAnton Vorontsov2008-09-12-1/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | This patch implements support for flash-based BBT for chips working through ELBC NAND controller, so that NAND core will not have to re-scan for bad blocks on every boot. Because ELBC controller may provide HW-generated ECCs we should adjust bbt pattern and bbt version positions in the OOB free area. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
| * fsl_elbc_nand: fix OOB workability for large page NAND chipsAnton Vorontsov2008-09-12-1/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For large page chips, nand_bbt is looking into OOB area, and checking for "0xff 0xff" pattern at OOB offset 0. That is, two bytes should be reserved for bbt means. But ELBC driver is specifying ecclayout so that oobfree area starts at offset 1, so only one byte left for the bbt purposes. This causes problems with any OOB users, namely JFFS2: after first mount JFFS2 will fill all OOBs with "erased marker", so OOBs will contain: OOB Data: ff 19 85 20 03 00 ff ff ff 00 00 08 ff ff ff ff OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff OOB Data: ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff And on the next boot, NAND core will rescan for bad blocks, then will see "0xff 0x19" pattern, and will mark all blocks as bad ones. To fix the issue we should implement our own bad block pattern: just one byte at OOB start. Though, this will work only for x8 chips. For x16 chips two bytes must be checked. Since ELBC driver does not support x16 NANDs (yet), we're safe for now. Signed-off-by: Anton Vorontsov <avorontsov@ru.mvista.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
* | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2008-09-12-10/+10
|\ \
| * \ Merge branch 'Makefile-next' of git://git.denx.de/u-boot-armWolfgang Denk2008-09-12-10/+10
| |\ \
| | * | rename CFG_ENV macros to CONFIG_ENVJean-Christophe PLAGNIOL-VILLARD2008-09-10-8/+8
| | | | | | | | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * | rename CFG_ENV_IS_IN_FLASH in CONFIG_ENV_IS_IN_FLASHJean-Christophe PLAGNIOL-VILLARD2008-09-10-2/+2
| | | | | | | | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
| | * | rename CFG_ENV_IS_NOWHERE in CONFIG_ENV_IS_NOWHEREJean-Christophe PLAGNIOL-VILLARD2008-09-10-1/+1
| | |/ | | | | | | | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* | | Merge branch 'master' of /home/wd/git/u-boot/custodiansWolfgang Denk2008-09-12-2/+4
|\ \ \ | |/ /
| * | i.MX31: Make the SPI bus and chip select configurable for MC13783Magnus Lilja2008-09-12-2/+4
| |/ | | | | | | | | | | | | | | | | | | | | The i.MX31 has three SPI buses and each bus has several chip selects and the MC13783 chip can be connected to any of these. The current RTC driver for MC13783 is hardcoded for CSPI2/SS2. This patch makes make MC13783 SPI bus and chip select configurable via CONFIG_MC13783_SPI_BUS and CONFIG_MC13783_SPI_CS. Signed-off-by: Magnus Lilja <lilja.magnus@gmail.com>
* | MPC512x: reduce timeout waiting for Ethernet autonegotiation to 2.5sWolfgang Denk2008-09-12-1/+1
|/ | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* ppc4xx: Allow DTT_I2C_DEV_CODE configured by CFG_I2C_DTT_ADDRVictor Gallardo2008-09-10-0/+4
| | | | | | | On AMCC Arches board DTT_I2C_DEV_CODE is different then canyonlands and glacier. Signed-off-by: Victor Gallardo <vgallardo@amcc.com>
* Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxWolfgang Denk2008-09-10-1/+1
|\
| * Fix printf errors under -DDEBUGAndrew Klossner2008-09-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Fix printf format-string/arg mismatches under -DDEBUG. These warnings occur with DEBUG defined for a platform using cpu/mpc85xx. Users of other architectures can unearth similar problems by adding the line "CFLAGS += -DDEBUG=1" in config.mk right after "CFLAGS += $(call cc-option,-fno-stack-protector)". Signed-off-by: Andrew Klossner <andrew@cesa.opbu.xerox.com> Signed-off-by: Andy Fleming <afleming@freescale.com>
* | mtd: SPI Flash: Support the STMicro FlashTsiChung Liew2008-09-09-0/+363
|/ | | | | | | | Add MTD SPI Flash support for M25P16, M25P20, M25P32, M25P40, M25P64, M25P80, M25P128. Signed-off-by: Jason McMullan <mcmullan@netapp.com> Signed-off-by: TsiChung Liew <Tsi-Chung.Liew@freescale.com>
* Make usb-stop() safe to call multiple times in a row.Remy Bohmer2008-09-09-1/+3
| | | | | | | | | | | | | | | | | | | | | | | A recent commit (936897d4d1365452bbbdf8430db5e7769ef08d38) enabled the usb_stop() command in common/cmd_bootm.c which was not enabled for some time, because no board did actually set the CFG_CMD_USB flag. So, now the usb_stop() is executed before loading the linux kernel. However, the usb_ohci driver hangs up (at least on AT91SAM) if the driver is stopped twice (e.g. the peripheral clock is stopped on AT91). If some other piece of code calls usb_stop() before the bootm command, this command will hangup the system during boot. (usb start and stop is typically used while booting from usb memory stick) But, stopping the usb stack twice is useless anyway, and a flag already existed that kept track on the usb_init()/usb_stop() calls. So, we now check if the usb stack is really started before we stop it. This problem is now fixed in both the upper as low-level layer. Signed-off-by: Remy Bohmer <linux@bohmer.net> Acked-by: Markus Klotzbuecher <mk@denx.de>
* Makefile: fix bug introduced by commit 47ffd6c2Wolfgang Denk2008-09-09-2/+2
|
* Makefile: compile and link each module just onceWolfgang Denk2008-09-09-4/+4
| | | | | | | | | | | | Several source files need to be compiled and linked when one or more config options are selected. To allow for easy selection in the Makefiles yet to avoild multiple compilation (which costs build time) and especially multiple linking (which causes errors), we use "COBJS = $(sort COBJS-y)" which eliminates duplicates. By courtesy of Detlev Zundel who suggested this approach. Signed-off-by: Wolfgang Denk <wd@denx.de>
* Moved conditional compile into MakefileAndreas Engel2008-09-09-11/+7
| | | | Signed-off-by: Andreas Engel <andreas.engel@ericsson.com>
* Merged serial_pl010.c and serial_pl011.c.Andreas Engel2008-09-09-178/+69
| | | | | | | They only differ in the init function. This also adds the missing watchdog support for the PL011. Signed-off-by: Andreas Engel <andreas.engel@ericsson.com>
* Update i386 code (sc520_cdp)Graeme Russ2008-09-09-1/+1
| | | | | | Attempt to bring i386 / sc520 inline with master Signed-off-by: Graeme Russ <graeme.russ@gmail.com>
* 85xx: socrates: Enable Lime support.Anatolij Gustschin2008-09-09-1/+2
| | | | | | | | | This patch adds Lime GDC support together with support for the PWM backlight control through the w83782d chip. The reset pin of the latter is attached to GPIO, so we need to reset it in early_board_init_r. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* rs5c372: fix rtc_set prototypeJean-Christophe PLAGNIOL-VILLARD2008-09-09-2/+1
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* mk48t59: fix compile problem introduced by commit d1e23194Wolfgang Denk2008-09-08-1/+1
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* rtc: allow rtc_set to return an error and use it in cmd_dateJean-Christophe PLAGNIOL-VILLARD2008-09-07-41/+101
| | | | Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>
* clean up some #if !defined() in drivers/video/cfb_console.cAndrew Dyer2008-09-07-12/+12
| | | | | | | rearrange some #if !defined() / #else / #endif statements to remove the negative logic. Signed-off-by: Andrew Dyer <adyer@righthandtech.com>
* USB EHCI: reset root hubYuri Tikhonov2008-09-06-0/+38
| | | | | | | | | | | Some of multi-function USB controllers (e.g. ISP1562) allow root hub resetting only via EHCI registers. So, this patch adds the corresponding kind of reset to OHCI's hc_reset() if the newly introduced CONFIG_PCI_EHCI_DEVNO option is set (e.g. for Socrates board). Signed-off-by: Yuri Tikhonov <yur@emcraft.com> Acked-by: Markus Klotzbuecher <mk@denx.de>
* RX 8025 RTC: analyze 12/24-hour mode flag in rtc_get().Yuri Tikhonov2008-09-06-1/+5
| | | | Signed-off-by: Yuri Tikhonov <yur@emcraft.com>
* net: smc911x: Add pkt_data_pull and pkt_data_push functionNobuhiro Iwamatsu2008-09-02-2/+7
| | | | | | | | | | | | The RSK7203 board has the SMSC9118 wired up 'incorrectly'. Byte-swapping is necessary, and so poor performance is inevitable. This problem cannot evade by the swap function of CHIP, this can evade by software Byte-swapping. And this has problem by FIFO access only. pkt_data_pull/pkt_data_push functions necessary to solve this problem. Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of EEPRO100 Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Affected boards: db64360 db64460 katmai taihu taishan yucca cpc45 cpu87 eXalion elppc debris kvme080 mpc8315erdb integratorap ixdp425 oxc pm826 pm828 pm854 pm856 ppmc7xx sc3 sc520_spunk sorcery tqm8272 tqm85xx utx8245 Removed initialization of the driver from net/eth.c Also, wrapped contents of pci_eth_init() by CONFIG_PCI. Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of TULIP Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | | | | | | | | | | | Affected boards: cu824 bab7xx adciop dasa_sim mousse mpc8540eval musenki mvblue pcippc2/pcippc6 sbc8240 stxssa Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of E1000 Ethernet controller to board_eth_init()Ben Warren2008-09-02-1/+2
| | | | | | | | | | | Affected boards: ap1000 mvbc_p PM854 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of plb2800 Ethernet driver to board_eth_initBen Warren2008-09-02-2/+3
| | | | | | | | | Affected boards: purple Removed initialization of controller from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of MPC5xxx_FEC Ethernet driver to CPU directoryBen Warren2008-09-02-0/+1
| | | | | | | | | | | | | | | | | | Modified board_eth_init() functions of boards that have this FEC in addition to other Ethernet controllers. Affected boards: bc3450 icecube mvbc_p o2dnt pm520 total5200 tq5200 Removed initialization of controller from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of MPC512x_FEC Ethernet driver to CPU directoryBen Warren2008-09-02-0/+1
| | | | | | | Added a cpu_eth_init() function to MPC512x CPU directory and removed code from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of IncaIP Ethernet controller to board_eth_initBen Warren2008-09-02-1/+2
| | | | | | | | | Affected boards: IncaIP Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of PCNET Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | | Affected boards: PN62 sc520_cdp Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of NATSEMI Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | Affected boards: a3000 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of NS8382X Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | | | | | | | | | | Affected boards: bc3450 cpci5200 mecp5200 pf2000 icecube o2dnt pm520 sandpoint8245 total5200 tqm5200 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of TSI108 Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | Affected boards: mpc7448hpc2 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of RTL8139 Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | | | | | Affected boards: hidden_dragon MPC8544DS MPC8610HPCN R2DPLUS TB0229 Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Moved initialization of RTL8169 Ethernet controller to board_eth_init()Ben Warren2008-09-02-0/+1
| | | | | | | | | | Affected boards: linkstation r7780mp Removed initialization of the driver from net/eth.c Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Introduce netdev.h header file and remove externsBen Warren2008-09-02-0/+6
| | | | | | | This addresses all drivers whose initializers have already been moved to board_eth_init()/cpu_eth_init(). Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Add SGMII support to the tsecAndy Fleming2008-09-02-26/+48
| | | | | | | Adds support for configuring the TBI to talk properly with the SerDes. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* Pass in tsec_info struct through tsec_initializeAndy Fleming2008-09-02-63/+50
| | | | | | | | | | | | | The tsec driver contains a hard-coded array of configuration information for the tsec ethernet controllers. We create a default function that works for most tsecs, and allow that to be overridden by board code. It creates an array of tsec_info structures, which are then parsed by the corresponding driver instance to determine configuration. Also, add regs, miiregs, and devname fields to the tsec_info structure, so that we don't need the kludgy "index" parameter. Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
* tsec: Move tsec.h to include/Andy Fleming2008-09-02-593/+1
| | | | | | | This is to prepare the way for board code passing in the tsec_info structure Signed-off-by: Andy Fleming <afleming@freescale.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>