summaryrefslogtreecommitdiff
path: root/drivers
Commit message (Collapse)AuthorAgeLines
* Make sure that argv[] argument pointers are not modified.Wolfgang Denk2010-07-04-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The hush shell dynamically allocates (and re-allocates) memory for the argument strings in the "char *argv[]" argument vector passed to commands. Any code that modifies these pointers will cause serious corruption of the malloc data structures and crash U-Boot, so make sure the compiler can check that no such modifications are being done by changing the code into "char * const argv[]". This modification is the result of debugging a strange crash caused after adding a new command, which used the following argument processing code which has been working perfectly fine in all Unix systems since version 6 - but not so in U-Boot: int main (int argc, char **argv) { while (--argc > 0 && **++argv == '-') { /* ====> */ while (*++*argv) { switch (**argv) { case 'd': debug++; break; ... default: usage (); } } } ... } The line marked "====>" will corrupt the malloc data structures and usually cause U-Boot to crash when the next command gets executed by the shell. With the modification, the compiler will prevent this with an error: increment of read-only location '*argv' N.B.: The code above can be trivially rewritten like this: while (--argc > 0 && **++argv == '-') { char *arg = *argv; while (*++arg) { switch (*arg) { ... Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Mike Frysinger <vapier@gentoo.org>
* Merge branch 'sf' of git://git.denx.de/u-boot-blackfinWolfgang Denk2010-07-04-16/+44
|\
| * sf: move useful messages from debug to printfMike Frysinger2010-06-30-16/+22
| | | | | | | | | | | | | | | | | | | | At the moment, the default SPI flash subsystem is quite terse. Errors and successes both result in a generic message. So move the useful errors and useful successes to printf output by default. While we're here, also convert the messages to use print_size(). Signed-off-by: Mike Frysinger <vapier@gentoo.org>
| * spi_flash: support old STMicro parts with RESThomas Chou2010-06-30-0/+22
| | | | | | | | | | | | | | | | Some old STMicro parts do not support JEDEC ID (0x9f). This patch uses RES (0xab) to get Electronic ID and translates it to JEDEC ID. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Acked-by: Mike Frysinger <vapier@gentoo.org>
* | drivers/usb/host/ohci-hcd: rename readl/writel to ohci_readl/ohci_writelBecky Bruce2010-06-30-80/+85
| | | | | | | | | | | | | | | | | | This avoids a build warning that you see if anyone in the header chain has included io.h (which is coming shortly). The previous code redefined readl/writel; this patch renames it to be specific to ohci. The defines are also moved from ohci-hcd.c to ohci.h. Signed-off-by: Becky Bruce <beckyb@kernel.crashing.org>
* | musb: Program extvbus for OMAP3EVM Rev >= EAjay Kumar Gupta2010-06-30-0/+7
| | | | | | | | | | | | | | | | OMAP3EVM Rev >=E uses external Vbus supply so setting 'extvbus' to '1' for OMAP3EVM Rev >=E runtime based on EVM revision. CC: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
* | musb: Add Phy programming for using external VbusAjay Kumar Gupta2010-06-30-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MUSB PHY on OMAP3EVM Rev >= E uses external Vbus supply to support 500mA of power.We need to program MUSB PHY to use external Vbus for this purpose. Adding 'extvbus' member in musb_config structure which should be set by all the boards where MUSB interface is using external Vbus supply. Also added ULPI bus control register read/write abstraction for Blackfin processor as it doesn't have ULPI registers. CC: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com> Acked-by: Mike Frysinger <vapier@gentoo.org>
* | musb: Use name based initialization for musb_configAjay Kumar Gupta2010-06-30-9/+9
| | | | | | | | | | | | | | | | | | | | | | Changed musb_config initialization for omap3.c, davinci.c and da8xx.c using name of structure fields. This would cause the uninitialized field to be null by default and thus would help in avoiding to init some flags required to be set only for a few selected platforms. CC: Remy Bohmer <linux@bohmer.net> Signed-off-by: Ajay Kumar Gupta <ajay.gupta@ti.com>
* | USB OHCI support for at91sam9g45 SoCSergey Matyukevich2010-06-30-0/+14
|/ | | | | | | | | | Add USB OHCI support for at91sam9g45ekes/at91sam9m10g45ek boards. Note that according to errata from Atmel, OHCI is not operational on the first revision of at91sam9g45 chip. So this patch enables OHCI support for later revisions. Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
* Merge branch 'master' into nextWolfgang Denk2010-06-30-3/+6
|\
| * EHCI: zero out QH transfer overlay in ehci_submit_async()Sergei Shtylyov2010-06-29-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ehci_submit_async() doesn't really zero out the QH transfer overlay (as the EHCI specification suggests) which leads to the controller seeing the "token" field as the previous call has left it, i.e.: - if a timeout occured on the previous call (Active bit left as 1), controller incorrectly tries to complete a previous transaction on a newly programmed endpoint; - if a halt occured on the previous call (Halted bit set to 1), controller just ignores the newly programmed TD(s) and the function then keeps returning error ad infinitum. This turned out to be caused by the wrong orger of the arguments to the memset() call in ehci_alloc(), so the allocated TDs weren't cleared either. While at it, stop needlessly initializing the alternate next TD pointer in the QH transfer overlay... Signed-off-by: Sergei Shtylyov <sshtylyov@ru.mvista.com> Acked-by: Remy Bohmer <linux@bohmer.net>
| * tsec: Fix eTSEC2 link problem on P2020RDBFelix Radensky2010-06-29-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | On P2020RDB eTSEC2 is connected to Vitesse VSC8221 PHY via SGMII. Current TBI PHY settings for SGMII mode cause link problems on this platform, link never comes up. Fix this by making TBI PHY settings configurable and add a working configuration for P2020RDB. Signed-off-by: Felix Radensky <felix@embedded-sol.com> Acked-by: Andy Fleming <afleming@freescale.com> Acked-by: Peter Tyser <ptyser@xes-inc.com> Tested-by: Peter Tyser <ptyser@xes-inc.com>
* | Merge branch 'next' of git://git.denx.de/u-boot-ti into nextWolfgang Denk2010-06-29-67/+128
|\ \
| * | Davinci: SPI performance enhancementsNick Thompson2010-06-22-67/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following restructuring and optimisations increase the SPI read performance from 1.3MiB/s (on da850) to 2.87MiB/s (on da830): Remove continual revaluation of driver state from the core of the copy loop. State can not change during the copy loop, so it is possible to move these evaluations to before the copy loop. Cost is more code space as loop variants are required for each set of possible configurations. The loops are simpler however, so the extra is only 128bytes on da830 with CONFIG_SPI_HALF_DUPLEX defined. Unrolling the first copy loop iteration allows the TX buffer to be pre-loaded reducing SPI clock starvation. Unrolling the last copy loop iteration removes testing for the final loop iteration every time round the loop. Using the RX buffer empty flag as a transfer throttle allows the assumption that it is always safe to write to the TX buffer, so polling of TX buffer full flag can be removed. Signed-off-by: Nick Thompson <nick.thompson@ge.com> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | | Remove AmigaOneG3SE boardWolfgang Denk2010-06-23-25/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The AmigaOneG3SE board has been orphaned or a very long time, and broken for more than 12 releases resp. more than 3 years. As nobody seems to be interested any more in this stuff we may as well ged rid of it, especially as it clutters many areas of the code so it is a continuous pain for all kinds of ongoing work. Signed-off-by: Wolfgang Denk <wd@denx.de>
* | | Merge branch 'master' into nextWolfgang Denk2010-06-23-0/+1
|\ \ \ | |/ / |/| / | |/
| * UBI: initialise update markerPeter Horton2010-06-23-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | UBI: initialise update marker The in kernel copy of a volume's update marker is not initialised from the volume table. This means that volumes where an update was unfinnished will not be treated as "forbidden to use". This is basically that the update functionality was broken. Signed-off-by: Peter Horton <zero@colonel-panic.org> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Stefan Roese <sr@denx.de>
* | Merge branch 'master' into nextWolfgang Denk2010-06-18-35/+47
|\ \ | |/ | | | | | | | | | | Conflicts: Makefile Signed-off-by: Wolfgang Denk <wd@denx.de>
| * Merge branch 'master' of git://git.denx.de/u-boot-marvellWolfgang Denk2010-06-17-0/+3
| |\
| | * Add Orion5x support to 16550 device driverAlbert Aribaud2010-06-17-0/+3
| | | | | | | | | | | | | | | | | | | | | This patch provides access to the 16550-compatible serial device of the Orion5x SoC. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
| * | Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2010-06-17-35/+44
| |\ \ | | |/
| | * s5pc1xx: gpio: bug fix at gpio_set_pull functionMinkyu Kang2010-06-14-1/+1
| | | | | | | | | | | | | | | | | | | | | When set to PULL_NONE, gpio_set_pull function is returned without write the register. This patch fixed it. Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| | * DaVinci: Improve DaVinci SPI speed.Delio Brignoli2010-06-08-34/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have updated this patch based on the comments [1] by Wolfgang Denk and removed unused variables. [1][http://lists.denx.de/pipermail/u-boot/2010-May/071728.html] Reduce the number of reads per byte transferred on the BUF register from 2 to 1 and take advantage of the TX buffer in the SPI module. On LogicPD OMAP-L138 EVM, SPI read throughput goes up from ~0.8Mbyte/s to ~1.3Mbyte/s. Tested with a 2Mbyte image file. Remove unused variables in the spi_xfer() function. Signed-off-by: Delio Brignoli <dbrignoli@audioscience.com> Tested-by: Ben Gardiner <bengardiner@nanometrics.ca> Signed-off-by: Sandeep Paulraj <s-paulraj@ti.com>
* | | Merge branch 'next' of git://git.denx.de/u-boot-video into nextWolfgang Denk2010-06-17-18/+124
|\ \ \
| * | | video: sm501.c: add weak default functionsAnatolij Gustschin2010-06-14-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For boards using sm501/sm502 on PCI bus some driver functions normaly defined in the board code are not needed and empty. Provide weak default functions for them and do not enforce board code to define empty functions. Signed-off-by: Anatolij Gustschin <agust@denx.de>
| * | | video: sm501: add support for SM501 chips on PCI busAnatolij Gustschin2010-06-14-5/+84
| | | | | | | | | | | | | | | | Signed-off-by: Anatolij Gustschin <agust@denx.de>
| * | | video: cfb_console: add weak default video_set_lut()Anatolij Gustschin2010-06-14-13/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Do not enforce drivers to provide empty video_set_lut() if they do not implement indexed color (8 bpp) frame buffer support. Add default function to the cfb_console driver and remove empty video_set_lut() functions. Signed-off-by: Anatolij Gustschin <agust@denx.de>
* | | PXA: PXAMMC: Add Monahans supportMarek Vasut2010-06-13-3/+6
| | | | | | | | | | | | | | | | | | | | | This patch enables PXAMCI support on PXA3xx CPUs. This patch only enables MMC1 though, MMC2 and PXA31x MMC3 will need further patch to be operational. Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | | PXA: PXAMMC: Drop different delays for PXA27XMarek Vasut2010-06-13-8/+0
|/ / | | | | | | | | | | | | | | In case the delays were set to 10000, the MMC card on PXA27X boards (and PXA3xx boards) didn't initialize on first try. Increasing the delays and leaving just those for PXA25x and 26x (that is 200000) fixes this problem. Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* | Merge branch 'next' of git://git.denx.de/u-boot-niosWolfgang Denk2010-05-28-0/+197
|\ \
| * | spi: add altera spi controller supportThomas Chou2010-05-28-0/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch adds the driver of altera spi controller, which is used as epcs/spi flash controller. It also works with mmc_spi driver. This driver support more than one spi bus, with base list declared #define CONFIG_SYS_ALTERA_SPI_LIST { BASE_0,BASE_1,... } Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Tested-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Scott McNutt <smcnutt@psyent.com>
| * | misc: add gpio based status led driverThomas Chou2010-05-28-0/+31
| |/ | | | | | | | | | | | | | | | | This patch adds a status led driver followed the GPIO access conventions of Linux. The led mask is used to specify the gpio pin. Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Tested-by: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Scott McNutt <smcnutt@psyent.com>
* | Blackfin: nand: drain the write buffer before returningAndrew Caldwell2010-05-26-1/+6
|/ | | | | | | | | | | | | The current Blackfin nand write function fills up the write buffer but returns before it has had a chance to drain. On faster systems, this isn't a problem as the operation finishes before the ECC registers are read, but on slower systems the ECC may be incomplete when the core tries to read it. So wait for the buffer to drain once we're done writing to it. Signed-off-by: Andrew Caldwell <Andrew.Caldwell@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* Coding style cleanup, update CHANGELOG.Wolfgang Denk2010-05-26-10/+12
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* dm9000x.c: fix compile problemsWolfgang Denk2010-05-26-6/+6
| | | | | | | Use readX() / writeX() accessors instead of inX() / outX(). Suggested-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-ubiWolfgang Denk2010-05-21-2/+7
|\
| * UBI: Ensure that "background thread" operations are really executedStefan Roese2010-05-19-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | The current U-Boot UBI implementation is copied from Linux. In this porting the UBI background thread was not handled correctly. Upon write operations ubi_wl_flush() makes sure, that all queued operations, like page-erase, are completed. But this is missing for read operations. This patch now makes sure that such operations (like scrubbing upon bit-flip errors) are not queued, but executed directly. Signed-off-by: Stefan Roese <sr@denx.de>
* | Merge branch 'master' of git://git.denx.de/u-boot-imxWolfgang Denk2010-05-21-93/+458
|\ \
| * | MX31: Added support for the Casio COM57H5M10XRC to QONGStefano Babic2010-05-19-16/+31
| | | | | | | | | | | | | | | | | | | | | The patch adds setup to connect a CASIO COM57H5M10XRC (640x480 TFT display) to the QONG module. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | SPI: added support for MX51 to mxc_spiStefano Babic2010-05-05-20/+211
| | | | | | | | | | | | | | | | | | This patch add SPI support for the MX51 processor. Signed-off-by: Stefano Babic <sbabic@denx.de>
| * | MX: RTC13783 uses general function to access PMICStefano Babic2010-05-05-57/+15
| | | | | | | | | | | | | | | | | | | | | | | | The RTC is part of the Freescale's PMIC controller. Use general function to access to PMIC internal registers. Signed-off-by: Stefano Babic <sbabic@denx.de> Tested-by: Magnus Lilja <lilja.magnus@gmail.com>
| * | MX: Added Freescale Power Management DriverStefano Babic2010-05-05-0/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | The patch add supports for the Freescale's Power Management Controller (known as Atlas) used together with i.MX31/51 processors. It was tested with a MC13783 (MX31) and MC13892 (MX51). Signed-off-by: Stefano Babic <sbabic@denx.de>
* | | lan91c96, smc911x: remove useless free(ptr) calls on NULL ptrSerge Ziryukin2010-05-17-2/+0
| | | | | | | | | | | | Signed-off-by: Serge Ziryukin <ftrvxmtrx@gmail.com>
* | | Merge branch 'master' of git://git.denx.de/u-boot-mpc85xxWolfgang Denk2010-05-17-1/+13
|\ \ \ | |_|/ |/| |
| * | 85xx/fsl-sata: Use is_serdes_configured() to determine if SATA is enabledKumar Gala2010-05-12-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the MPC85xx platform if we have SATA its connected on SERDES. Determing if SATA is enabled via sata_initialize should not be board specific and thus we move it out of the MPC8536DS board code. Additionally, now that we have is_serdes_configured() we can determine if the given SATA port is enabled and error out if its not in the driver. Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
* | | drivers/mmc/fsl_esdhc.c: fix compiler warningsWolfgang Denk2010-05-15-17/+17
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 77c1458d caused the following compiler warnings: fsl_esdhc.c: In function 'esdhc_pio_read_write': fsl_esdhc.c:142: warning: assignment discards qualifiers from pointer target type fsl_esdhc.c: In function 'esdhc_setup_data': fsl_esdhc.c:169: warning: unused variable 'wml_value' fsl_esdhc.c: In function 'esdhc_pio_read_write': fsl_esdhc.c:164: warning: control reaches end of non-void function Fix these. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Dipen Dudhat <dipen.dudhat@freescale.com> Cc: Andy Fleming <afleming@freescale.com>
* | Merge branch 'master' of git://git.denx.de/u-boot-i2cWolfgang Denk2010-05-06-61/+108
|\ \
| * | Blackfin: TWI/I2C: implement multibus supportMike Frysinger2010-05-05-61/+108
| |/ | | | | | | | | | | | | In order to do this cleanly, the register accesses have to be converted to a C struct (base pointer), so do that in the process. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | drivers/*/Makefile: fix conditional compile rule.Ender.Dai2010-05-06-6/+4
| | | | | | | | | | | | Fix conditional compile rule for twl4030.c and videomodes.c. Signed-off-by: Ender.Dai <ender.dai@gmail.com>
* | SERIAL: Enable port-mapped accessGraeme Russ2010-05-06-30/+39
|/ | | | | | | | | The x86 architecture exclusively uses Port-Mapped I/O (inb/outb) to access the 16550 UARTs. This patch mimics how Linux selects between Memory-Mapped and Port-Mapped I/O. This allows x86 boards to use CONFIG_SERIAL_MUTLI and drop the custom serial port driver Signed-off-by: Graeme Russ <graeme.russ@gmail.com>