summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeLines
* fdt: Add basic support for decoding GPIO definitionsSimon Glass2012-03-29-0/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds some support into fdtdec for reading GPIO definitions from the fdt. We permit up to FDT_GPIO_MAX GPIOs in the system. Each GPIO is of the form: gpio-function-name = <phandle gpio_num flags>; where: phandle is a pointer to the GPIO node gpio_num is the number of the GPIO (0 to 223) flags is a flag, as follows: bit meaning 0 0=polarity normal, 1=active low (inverted) An example is: enable-propounder-gpios = <&gpio 43 0>; which means that GPIO 43 is used to enable the propounder (setting the GPIO high), or that you can detect that the propounder is enabled by checking if the GPIO is high (the fdt does not indicate input/output). Two main functions are provided: fdtdec_decode_gpio() reads a GPIO property from an fdt node and decodes it into a structure. fdtdec_setup_gpio() sets up the GPIO by calling gpio_request for you. Both functions can cope with the property being missing, which is taken to mean that that GPIO function is not available or is not needed. [For reference, from Stephen Warren <swarren@nvidia.com>. It may be that we add this extra complexity later if needed: The correct way to parse such a GPIO property in general is: * Read the first cell. * Find the node referenced by the phandle (the controller). * Ensure property gpio-controller is present in the controller node. * Read property #gpio-cells from the controller node. * Extract #gpio-cells from the original property. * Keep processing more cells from the original property; there may be multiple GPIOs listed. According to the binding documentation in the Linux kernel, Samsung Exynos4 doesn't use this format, and while all other chips do have a flags cell, about 50% of the controllers indicate the cell is unused. ] Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
* fdt: Add functions to access phandles, arrays and boolsSimon Glass2012-03-29-0/+39
| | | | | | | | | | | | Add a function to look up a property which is a phandle in a node, and another to read a fixed-length integer array from an fdt property. Also add a function to read boolean properties, although there is no actual boolean type in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Gerald Van Baren <vanbaren@cideas.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
* fdt: Tidy up a few fdtdec problemsSimon Glass2012-03-29-4/+19
| | | | | | | | | | | | | | | | This fixes five trivial issues in fdtdec.c: 1. fdtdec_get_is_enabled() doesn't really need a default value 2. The fdt must be word-aligned, since otherwise it will fail on ARM 3. The compat_names[] array is missing its first element. This is needed only because the first fdt_compat_id is defined to be invalid. 4. Added a header prototype for fdtdec_next_compatible() 5. Change fdtdec_next_alias() to only increment its 'upto' parameter on success, to make the display error messages in the caller easier. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Gerald Van Baren <vanbaren@cideas.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com>
* fdt: Add fdtdec_find_aliases() to deal with alias nodesSimon Glass2012-03-29-0/+47
| | | | | | | | | | | | | | | | Stephen Warren pointed out that we should use nodes whether or not they have an alias in the /aliases section. The aliases section specifies the order so far as it can, but is not essential. Operating without alisses is useful when the enumerated order of nodes does not matter (admittedly rare in U-Boot). This is considerably more complex, and it is important to keep this complexity out of driver code. This patch creates a function fdtdec_find_aliases() which returns an ordered list of node offsets for a particular compatible ID, taking account of alias nodes. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
* net: force PKTALIGN to ARCH_DMA_MINALIGNEric Nelson2012-03-29-1/+2
| | | | | | | This will prevent the need for architectures whose DMA alignment is greater than 32 to have bounce buffers. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX28: Make use of the bounce bufferMarek Vasut2012-03-29-0/+2
| | | | | | | | This allows i.MX28 MMC host to fully utilize DMA transfers and caches, greatly improving speed. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Fabio Estevam <festevam@gmail.com>
* ARM: highbank: change env config to use nvramJason Hobbs2012-03-28-9/+7
| | | | | | | | Update the highbank config to use env from NVRAM. Also remove extra env settings as they are not used unless the default env is used. Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
* ARM: highbank: Add boot counter supportRob Herring2012-03-28-0/+3
| | | | | | Add boot counter support using an sysreg which is persistent across reset. Signed-off-by: Rob Herring <rob.herring@calxeda.com>
* ARM: highbank: change TEXT_BASE to 0x8000Rob Herring2012-03-28-1/+1
| | | | | | | Make some space at the beginning of RAM so the FDT can be loaded to a known fixed address at 0x1000. Signed-off-by: Rob Herring <rob.herring@calxeda.com>
* ARM: davinci: fixes for cam_enc_4xx boardHeiko Schocher2012-03-27-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - change CONFIG_ENV_RANGE to contain 2 nand erase blocks, one for bad block reserve. - remove from the envvariable "img_writeramdisk" the ubifsmount command, as it is not needed. - erase the hole mtd partition containing u-boot - save environment variable "dvn_app_vers" and "dvn_boot_vers" only after installing the new image. changes requested from Marek Vasut: - arm, davinci: fix eldk-4.2 warnings for cam_enc_4xx board - get rid of run_command2 usage needed since patch: commit 009dde1955583e306cf904c864068f3acb0db499 Author: Simon Glass <sjg@chromium.org> Date: Tue Feb 14 19:59:20 2012 +0000 Rename run_command2() to run_command() is now in mainline. - add CONFIG_SPL_LIBGENERIC_SUPPORT support - remove CONFIG_CMD_PXE support - fix warning: cam_enc_4xx.c: In function 'menu_handle': cam_enc_4xx.c:609: warning: dereferencing type-punned pointer will break strict-aliasing rules - fix error: arm-linux-ld: u-boot-spl: Not enough room for program headers, try linking with -N Signed-off-by: Heiko Schocher <hs@denx.de> Cc: Marek Vasut <marex@denx.de> Cc: Tom Rini <tom.rini@gmail.com> Cc: Fletzer Martin <Martin.Fletzer@ait.ac.at> Cc: Wolfgang Denk <wd@denx.de>
* Davinci: ea20: use gpio framework to access gpiosStefano Babic2012-03-27-0/+2
| | | | | | | | | | | | | Drop direct access to SOC's registers and use the function of the GPIO driver for da8xx. [Tom: Remove gpio[68]_base as it's now unused] Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Bastian Ruppert <Bastian.Ruppert@Sewerin.de> CC: dzu@denx.de CC: Sandeep Paulraj <s-paulraj@ti.com> Signed-off-by: Tom Rini <trini@ti.com>
* OMAP3: mt_ventoux: sets its own mtdpartsStefano Babic2012-03-27-0/+10
| | | | | Signed-off-by: Stefano Babic <sbabic@denx.de> Cc: Tom Rini <trini@ti.com>
* OMAP3: twister: add support to boot Linux from SPLStefano Babic2012-03-27-0/+12
| | | | | | | Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Tom Rini <tom.rini@gmail.com> CC: Wolfgang Denk <wd@denx.de> CC: Simon Schwarz <simonschwarzcor@gmail.com>
* devkit8000: Implement and activate direct OS bootSimon Schwarz2012-03-27-2/+5
| | | | | | | | | | - Implements spl_start_uboot() for devkit8000 - Add configs to activate direct OS boot from SPL Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com> CC: Tom Rini <tom.rini@gmail.com> CC: Stefano Babic <sbabic@denx.de> CC: Wolfgang Denk <wd@denx.de>
* devkit8000: add config for spl commandSimon Schwarz2012-03-27-0/+8
| | | | | | | | | This adds some configs for devkit8000 to use the new spl command Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com> CC: Tom Rini <tom.rini@gmail.com> CC: Stefano Babic <sbabic@denx.de> CC: Wolfgang Denk <wd@denx.de>
* Add cmd_spl commandSimon Schwarz2012-03-27-0/+33
| | | | | | | | | | | | | | | This adds a spl command to the u-boot. Related config: CONFIG_CMD_SPL activate/deactivate the command CONFIG_CMD_SPL_NAND_OFS Offset in NAND to use Signed-off-by: Simon Schwarz <simonschwarzcor@gmail.com> Signed-off-by: Stefano Babic <sbabic@denx.de> CC: Tom Rini <tom.rini@gmail.com> CC: Wolfgang Denk <wd@denx.de>
* configs: imx: Use CONFIG_SF_DEFAULT_CSFabio Estevam2012-03-27-3/+3
| | | | | | | | | | CONFIG_SPI_FLASH_CS is not used anywhere. Use CONFIG_SF_DEFAULT_CS instead. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
* mx28evk: Provide default values for SPI bus and chip selectFabio Estevam2012-03-27-0/+2
| | | | | | | | | | Provide default values for SPI bus and chip select. This allows the command "sf probe" to work without passing SPI bus and chip select numbers as arguments. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Marek Vasut <marex@denx.de>
* i.MX6: mx6qsabrelite: add MACH_TYPE_MX6Q_SABRELITEEric Nelson2012-03-27-0/+2
| | | | | | Allow non-dt kernels to boot Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
* i.MX6: mx6q_sabrelite: add CONFIG_REVISION_TAGEric Nelson2012-03-27-0/+1
| | | | | | | | | | | | | | This is needed to support Freescale-supplied userspaces. At the moment, both the IPU and VPU libraries provided by Freescale in the "imx-lib" package contain routines which scrape the system revision from /proc/cpuinfo. In the VPU library, this information is used to load the proper firmware, allowing a single binary to be used across various i.MX processors. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
* mx31pdk: Fix CONFIG_SYS_MEMTEST_ENDFabio Estevam2012-03-27-1/+1
| | | | | | CONFIG_SYS_MEMTEST_END should be higher than CONFIG_SYS_MEMTEST_START. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* efikamx: Fix CONFIG_SYS_MEMTEST_ENDFabio Estevam2012-03-27-1/+1
| | | | | | | | | CONFIG_SYS_MEMTEST_END should be higher than CONFIG_SYS_MEMTEST_START. Cc: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Acked-by: Marek Vasut <marek.vasut@gmail.com> Tested-by: Marek Vasut <marek.vasut@gmail.com>
* mx53smd: Fix CONFIG_SYS_MEMTEST_ENDFabio Estevam2012-03-27-1/+1
| | | | | | CONFIG_SYS_MEMTEST_END should be higher than CONFIG_SYS_MEMTEST_START. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx53evk: Fix CONFIG_SYS_MEMTEST_ENDFabio Estevam2012-03-27-1/+1
| | | | | | | CONFIG_SYS_MEMTEST_END should be higher than CONFIG_SYS_MEMTEST_START. Cc: Jason Liu <r64343@freescale.com> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx51evk: Fix CONFIG_SYS_MEMTEST_ENDFabio Estevam2012-03-27-1/+1
| | | | | | CONFIG_SYS_MEMTEST_END should be higher than CONFIG_SYS_MEMTEST_START. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* i.MX6: mx6qsabrelite: add ext2 supportEric Nelson2012-03-27-0/+1
| | | | | | Current Ubuntu releases from Freescale contain a boot script in ext3 filesystem. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* IXP: Fix missing MACH_TYPE_{ACTUX?,PNB3,DVLHOST}Marek Vasut2012-03-26-0/+12
| | | | | | | | | These symbols are no longer defined in Linux-ARM's mach-types files. Replace these with CONFIG_MACH_TYPE instead. Signed-off-by: Marek Vasut <marex@denx.de> Cc: Bryan Hundven <bryanhundven@gmail.com> Cc: Michael Schwingen <rincewind@discworld.dascon.de>
* SPL: Enable YMODEM support on BeagleBone and AM335x EVMMatt Porter2012-03-26-0/+1
| | | | | | Cc: Chandan Nath <chandan.nath@ti.com> Tested-by: Tom Rini <trini@ti.com> Signed-off-by: Matt Porter <mporter@ti.com>
* mx6qsabrelite: add and enable USB Host 1 supportWolfgang Grandegger2012-03-26-0/+13
| | | | | | Cc: Stefano Babic <sbabic@denx.de> Cc: Jason Liu <jason.hui@linaro.org> Signed-off-by: Wolfgang Grandegger <wg@denx.de>
* PXA: Remove PXA PCMCIA supportMarek Vasut2012-03-26-2/+1
| | | | | | Say good bye to some ancient, very broken and unused code. Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* zipitz2: use pxa_mmc_gen as MMC driverVasily Khoruzhick2012-03-26-2/+4
| | | | Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
* zipitz2: fix boot issue introduced by PXA low level init reworkVasily Khoruzhick2012-03-26-1/+7
| | | | | | | | CONFIG_SYS_INIT_SP_ADDR points to RAM, but it's used before DRAM controller init. Fix it by setting CONFIG_SYS_INIT_SP_ADDR to SRAM Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
* Revert "Add board_pre_console_putc to deal with early console output"Simon Glass2012-03-23-7/+0
| | | | | | | | | | | This reverts commit 295d3942b806552503243f5cfb36aec6f1b5a9bf. It turns that this really doesn't work very nicely. Instead we should have a pre-console panic function so that we know that further execution is impossible and we don't need to worry about trampling on UARTs, etc. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Wolfgang Denk <wd@denx.de>
* Armada100: gplugD: Add FAT & EXT2 command supportAjay Bhargav2012-03-19-0/+2
| | | | | | This patch adds FAT and ext2 command support for marvell gplugD Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
* Armada100: gplugD: Add USB command supportAjay Bhargav2012-03-19-0/+12
| | | | | | | This patch adds support for USB commands and USB storage device for Marvell gplugD Signed-off-by: Ajay Bhargav <ajay.bhargav@einfochips.com>
* usb:udc:samsung:fix Remove the req_config flagƁukasz Majewski2012-03-19-1/+1
| | | | | | | | | | The dev->req_config flag was indicating that the forwarded request needs to perform the usb gadget delayed status. This is however not needed anymore, so it can be removed. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: Marek Vasut <marex@denx.de>
* USB:gadget:designware Support high speedVipin KUMAR2012-03-19-0/+1
| | | | | | | This patch adds the support for usb device high speed for designware peripheral. Signed-off-by: Vipin Kumar <vipin.kumar@st.com> Signed-off-by: Amit Virdi <amit.virdi@st.com>
* USB:gadget:designware USB device controller (UDC) implementationVipin KUMAR2012-03-19-4/+6
| | | | | | | | | | The earlier usb device controller driver was specific to spear platforms. This patch implements the usb device controller driver as a generic controller which can be reused by other platforms using this peripheral. Signed-off-by: Vipin Kumar <vipin.kumar@st.com> Signed-off-by: Amit Virdi <amit.virdi@st.com> Acked-by: Marek Vasut <marex@denx.de>
* usb: replace wait_ms() with mdelay()Mike Frysinger2012-03-19-1/+0
| | | | | | | | | | | | | | | | | | | | | | | Common code has a mdelay() func, so use that instead of the usb-specific wait_ms() func. This also fixes the build errors: ohci-hcd.c: In function 'submit_common_msg': /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1519:9: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1816:10: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1827:10: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1844:10: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1563:11: sorry, unimplemented: called from here /usr/local/src/u-boot/blackfin/include/usb.h:202:44: sorry, unimplemented: inlining failed in call to 'wait_ms': function body not available ohci-hcd.c:1583:9: sorry, unimplemented: called from here make[1]: *** [ohci-hcd.o] Error 1 Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Marek Vasut <marex@denx.de>
* bootstage: Implement core microsecond boot time measurementSimon Glass2012-03-18-0/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This defines the basics of a new boot time measurement feature. This allows logging of very accurate time measurements as the boot proceeds, by using an available microsecond counter. To enable the feature, define CONFIG_BOOTSTAGE in your board config file. Also available is CONFIG_BOOTSTAGE_REPORT which will cause a report to be printed just before handing off to the OS. Most IDs are not named at this stage. For that I would first like to renumber them all. Timer summary in microseconds: Mark Elapsed Stage 0 0 reset 205,000 205,000 board_init_f 6,053,000 5,848,000 bootm_start 6,053,000 0 id=1 6,058,000 5,000 id=101 6,058,000 0 id=100 6,061,000 3,000 id=103 6,064,000 3,000 id=104 6,093,000 29,000 id=107 6,093,000 0 id=106 6,093,000 0 id=105 6,093,000 0 id=108 7,089,000 996,000 id=7 7,089,000 0 id=15 7,089,000 0 id=8 7,097,000 8,000 start_kernel Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Replace show_boot_progress/error() with bootstage_...()Simon Glass2012-03-18-2/+28
| | | | | | | These calls should not be made directly any more, since bootstage will call the show_boot_...() functions as needed. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Define an optional microsecond timerSimon Glass2012-03-18-0/+7
| | | | | | | | | | | | Define timer_get_boot_us() which returns the number of microseconds since boot. If undefined then we use get_timer() * 1000. We can fit this in a 32-bit register which keeps everyone happy on the efficiency side. It will wrap around after about an hour. If we are still looking at it after an hour then we had better not be timing the boot. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Convert FIT progress numbers to enumsSimon Glass2012-03-18-0/+38
| | | | | | | This changes over all the FIT image progress numbers to use enums from bootstage.h. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Convert net progress numbers to enumsSimon Glass2012-03-18-0/+11
| | | | | | | This changes over the network-related progress numbers to use enums from bootstage.h. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Convert NAND progress numbers to enumsSimon Glass2012-03-18-0/+15
| | | | | | | This changes over the NAND progress numbers to use enums from bootstage.h. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Convert IDE progress numbers to enumsSimon Glass2012-03-18-0/+14
| | | | | | This changes over the IDE progress numbers to use enums from bootstage.h. Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Convert progress numbers 20-41 to enumsSimon Glass2012-03-18-0/+25
| | | | Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Convert progress numbers 10-19 to enumsSimon Glass2012-03-18-0/+7
| | | | | Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>
* bootstage: Convert progress numbers 1-9 into enumsSimon Glass2012-03-18-0/+14
| | | | Signed-off-by: Simon Glass <sjg@chromium.org>
* bootstage: Use show_boot_error() for -ve progress numbersSimon Glass2012-03-18-0/+4
| | | | | | | | Rather than the caller negating our progress numbers to indicate an error has occurred, which seems hacky, add a function to indicate this. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Mike Frysinger <vapier@gentoo.org>