summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* Merge git://git.denx.de/u-boot-dmTom Rini2015-02-13-381/+2800
|\
| * dm: mx6: sabre: Move driver model CONFIGs to KconfigSimon Glass2015-02-13-3/+12
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: stv0991: Move driver model CONFIGs to KconfigSimon Glass2015-02-13-10/+2
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Add support for all targets which requires MANUAL_RELOCMichal Simek2015-02-12-0/+80
| | | | | | | | | | | | | | | | | | | | Targets with CONFIG_NEEDS_MANUAL_RELOC do not use REL/RELA relocation (mostly only GOT) where functions aray are not updated. This patch is fixing function pointers for DM core and serial-uclass to ensure that relocated functions are called. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Acked-by: Simon Glass <sjg@chromium.org>
| * dm:gpio:mxc add DT supportPeng Fan2015-02-12-17/+64
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch add DT support for mxc gpio driver. There are one place using CONFIG_OF_CONTROL macro. 1. The U_BOOT_DEVICES and mxc_plat array are complied out. To DT, platdata is alloced using calloc, so there is no need to use mxc_plat. The following situations are tested, and all work fine: 1. with DM, without DT 2. with DM and DT 3. without DM Since device tree has not been upstreamed, if want to test this patch. The followings need to be done. + pieces of code does not gpio_request when using gpio_direction_xxx and etc, need to request gpio. + move the gpio settings from board_early_init_f to board_init + define CONFIG_DM ,CONFIG_DM_GPIO and CONFIG_OF_CONTROL + Add device tree file and do related configuration in `make ARCH=arm menuconfig` These will be done in future patches by step. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il> Acked-by: Simon Glass <sjg@chromium.org>
| * dm:gpio:mxc add a bank_index entry in platdataPeng Fan2015-02-12-8/+9
| | | | | | | | | | | | | | | | | | | | | | Add a new entry in platdata structure and intialize bank_index in mxc_plat array. This new entry can avoid using `plat - mxc_plat` by using `plat->bank_index`. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il> Acked-by: Simon Glass <sjg@chromium.org>
| * dm: introduce dev_get_addr interfacePeng Fan2015-02-12-0/+22
| | | | | | | | | | | | | | | | | | Abstracting dev_get_addr can improve drivers that want to get device's address. Signed-off-by: Peng Fan <Peng.Fan@freescale.com> Acked-by: Igor Grinberg <grinberg@compulab.co.il> Acked-by: Simon Glass <sjg@chromium.org>
| * dm: Drop unused driver model config_defaultsSimon Glass2015-02-12-12/+0
| | | | | | | | | | | | These are now in Kconfig so we can drop them from the header file. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Kconfig: Move CONFIG_SYS_MALLOC_F_LEN to KconfigSimon Glass2015-02-12-24/+97
| | | | | | | | | | Move this option to Kconfig and update all boards. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: at91: snapper: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-4/+6
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: at91: Drop use of ATMEL_PIO_PORTS in the header fileSimon Glass2015-02-12-8/+4
| | | | | | | | | | | | | | | | With driver model the number of PIO ports is defined by platform data, so remove it from the header file. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Andreas Bießmann <andreas.devel@googlemail.com>
| * dm: sh: serial: Add support driver modelNobuhiro Iwamatsu2015-02-12-113/+275
| | | | | | | | | | | | | | | | This adds driver model support with this driver. This was tested by Koelsch board and Gose board. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com> Acked-by: Simon Glass <sjg@chromium.org>
| * dm: socfpga: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-7/+3
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: mx6: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-4/+3
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: sunxi: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-2/+2
| | | | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ian Campbell <ijc@hellion.org.uk>
| * dm: sandbox: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-11/+24
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: omap3: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-9/+134
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: tegra: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-10/+18
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: x86: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-5/+9
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: exynos: Move driver model CONFIGs to KconfigSimon Glass2015-02-12-16/+39
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config headers and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Move Raspberry Pi driver model CONFIGs to KconfigSimon Glass2015-02-12-6/+14
| | | | | | | | | | | | | | Remove driver model CONFIGs from the board config header and use Kconfig instead. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Add CMD_DM and CMD_DEMO to KconfigSimon Glass2015-02-12-5/+23
| | | | | | | | | | | | | | Add Kconfig settings for these two options. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
| * dm: test: Add a Kconfig fileSimon Glass2015-02-12-0/+11
| | | | | | | | | | | | | | Add a file to control driver model test features. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
| * dm: Add Kconfig options for driver model SPL supportSimon Glass2015-02-12-0/+50
| | | | | | | | | | | | | | The SPL support cannot be enabled yet, but we can add the Kconfig options in preparation for this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: Expand and complete Kconfig in drivers/Simon Glass2015-02-12-12/+67
| | | | | | | | | | | | | | | | Expand the help messages for each driver. Add missing Kconfig for I2C, SPI flash and thermal. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
| * dm: Add Kconfig for driver/demoSimon Glass2015-02-12-0/+28
| | | | | | | | | | | | | | Add a suitable Kconfig for this directory. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
| * dm: i2c: Make API accessible even without CONFIG_DMSimon Glass2015-02-12-20/+17
| | | | | | | | | | | | | | | | | | | | | | | | Make the driver model I2C API available always, even if driver model is not enabled. This allows for a 'soft' switch-over, where drivers can use the new structures in code which is compiled but not yet used. This makes migration easier in some cases. Fix up the existing drivers which define their own 'struct i2c_msg'. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de>
| * dm: i2c: Add a dm_ prefix to driver model bus speed functionsSimon Glass2015-02-12-17/+12
| | | | | | | | | | | | | | | | As with i2c_read() and i2c_write(), add a dm_ prefix to the driver model versions of these functions to avoid conflicts. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Heiko Schocher <hs@denx.de>
| * net: Use new checksum functionsSimon Glass2015-02-12-33/+6
| | | | | | | | | | | | | | Drop the old checksum functions in favour of the new ones. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Joe Hershberger <joe.hershberger@ni.com>
| * powerpc: ppc4xx: Enable CONFIG_DISPLAY_BOARDINFOStefan Roese2015-02-12-0/+4
| | | | | | | | | | | | | | | | | | | | This also displays the "Board:" line in the bootup text with the generic board support code. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Add defaults for DT based booting to really workStefan Roese2015-02-12-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | These additional nodes need to be provided to get U-Boot to boot correctly on the Canyonlands / Glacier board: - chosen path to the console-uart - reg-shift set to 0 in the uart device nodes Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Change from OF_SEPARATE to OF_EMBEDStefan Roese2015-02-12-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | This is necessary, as ppc4xx has the reset vector located at the end of the U-Boot image. This needs to be flashed to the end of the NOR flash. Adding the dtb to the main U-Boot image will break booting on ppc4xx. This patch now embeds the dtb in the U-Boot image instead. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: Add linkage.h fileSimon Glass2015-02-12-0/+7
| | | | | | | | | | | | This permits us to use linux/linkage.h on PowerPC machines. Signed-off-by: Simon Glass <sjg@chromium.org>
| * dm: powerpc: ppc4xx: Move glacier to use driver model for serialSimon Glass2015-02-12-0/+14
| | | | | | | | | | | | | | Adjust Kconfig to default to driver model for glacier, canyonlands and arches. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: Add serial driver for driver modelSimon Glass2015-02-12-0/+41
| | | | | | | | | | | | | | This uses the ns16550 driver but sets up the clock at run-time. It does not seem to be available in the device tree. Signed-off-by: Simon Glass <sjg@chromium.org>
| * ppc: amcc: Omit unneeded ns16550 CONFIG if using driver modelSimon Glass2015-02-12-0/+4
| | | | | | | | | | | | This comes from the device tree or a call to get_uart_clock(). Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Use CONFIG_OF_CONTROL for canyonlands boardsSimon Glass2015-02-12-2/+20
| | | | | | | | | | | | | | Enable CONFIG_OF_CONTROL so that U-Boot on these three boards uses a device tree for its configuration. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Allow the end of u-boot.bin to be foundSimon Glass2015-02-12-2/+6
| | | | | | | | | | | | | | | | Define an _end symbol indicating the end of u-boot.bin. Also add some dummy words into the link script to ensure that u-boot.bin will always extend that far. There may be a better way of doing this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Add a gpio.h header fileSimon Glass2015-02-12-0/+7
| | | | | | | | | | | | | | This is required at present for device tree control. The ppc4xx does support GPIOs but does not seem to have a proper driver. So this file is empty. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Call board_init_f_mem() for generic boardSimon Glass2015-02-12-1/+17
| | | | | | | | | | | | Call this function to set up our early memory. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: dts: Bring in canyonlands device tree filesSimon Glass2015-02-12-0/+1484
| | | | | | | | | | | | | | The canyonlands.h config file works with canyonlands, glacier and arches boards. Bring in the device tree files for these from Linux 3.17. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: canyonlands: Move to generic boardSimon Glass2015-02-12-0/+4
| | | | | | | | | | | | Switch to generic board so that this board will not be broken/removed. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Add ramboot config for glacierSimon Glass2015-02-12-0/+93
| | | | | | | | | | | | | | Add a new ramboot config for glacier so that it is possible to test U-Boot loaded over Ethernet instead of using JTAG. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: Move CANYONLANDS/GLACIER/ARCHES to KconfigSimon Glass2015-02-12-3/+25
| | | | | | | | | | | | Move these options to Kconfig and remove them from the CONFIG files. Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: ppc4xx: canyonlands: config: Tidy up CONFIGs and config.mkSimon Glass2015-02-12-23/+18
| | | | | | | | | | | | | | | | Many CONFIG options have an unnecessary value of 1. CONFIG_440 is set in the various board config files. Also simplify the CONFIG_440 check in config.mk Signed-off-by: Simon Glass <sjg@chromium.org>
| * powerpc: Permit device tree control of U-Boot (CONFIG_OF_CONTROL)Simon Glass2015-02-12-0/+1
| | | | | | | | | | | | | | Enable this in the Kconfig so that PowerPC boards can use device tree to configure U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org>
| * Introduce board_init_f_mem() to handle early memory layoutSimon Glass2015-02-12-0/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present on some architectures we set up the following before calling board_init_f(): - global_data - stack - early malloc memory Adding the code to support early malloc and global data setup to every arch's assembler start-up is a pain. Also this code is not actually architecture-specific. We can use common code for all architectures and with a bit of care we can write this code in C. Add a new function to deal with this. It should be called after memory is available, with a pointer to the top of the area that should be used before relocation. The function will set things up and return the lowest memory address that it allocated/used. That can then be set as the top of the stack. Note that on some archs this function will use the stack, so the stack pointer should be set to same value as is pased to board_init_f_mem(). A margin of 128 bytes will be left for this stack, so that it is not overwritten. This means that 64 bytes is wasted by this early call. This is not strictly necessary on several more modern archs, so we could remove this at the cost of some arch-dependent code. With this function there is no-longer any need for the assembler code to zero global_data or set up the early malloc pointers. Signed-off-by: Simon Glass <sjg@chromium.org>
| * malloc_simple: Return NULL on malloc failure rather then calling panic()Hans de Goede2015-02-12-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All callers of malloc should already do error checking, and may even be able to continue without the alloc succeeding. Moreover, common/malloc_simple.c is the only user of .rodata.str1.1 in common/built-in.o when building the SPL, triggering this gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54303 Causing .rodata to grow with e.g. 0xc21 bytes, nullifying all benefits of using malloc_simple in the first place. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Simon Glass <sjg@chromium.org>
| * i2c: s3c24x0: reduce transmission status timeoutPrzemyslaw Marczak2015-02-12-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | If no device is connected to I2C bus, the i2c probe command can take a lot of time for probe each address. This commit reduces the busy timeout to 10ms for standard and high speed modes. This doesn't break the transmission an also allow for properly probe the devices. Signed-off-by: Przemyslaw Marczak <p.marczak@samsung.com> Changes v3: - new commit, after split the next one Tested-by: Simon Glass <sjg@chromium.org>
| * gpio: omap: Pass correct argument to _get_gpio_direction()Axel Lin2015-02-12-1/+1
| | | | | | | | | | | | | | Pass bank rather than bank->base to _get_gpio_direction(). Signed-off-by: Axel Lin <axel.lin@ingics.com> Acked-by: Simon Glass <sjg@chromium.org>