summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* dm: Add a uclass for serial devicesSimon Glass2014-09-10-0/+310
| | | | | | | | Serial devices support simple byte input/output and a few operations to find out whether data is available. Add a basic uclass for serial devices to be used by drivers that are converted to driver model. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: Adjust lists_bind_fdt() to return the bound deviceSimon Glass2014-09-10-5/+13
| | | | | | | Allow the caller to find out the device that was bound in response to this call. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: fdt: Add a function to look up a chosen nodeSimon Glass2014-09-10-0/+27
| | | | | | | Within /chosen we may have a node which points to another node, similar to how /aliases works. Add a helper function to do this lookup. Signed-off-by: Simon Glass <sjg@chromium.org>
* serial: Set up the 'priv' pointer when creating a serial deviceSimon Glass2014-09-10-0/+1
| | | | | | | | The stdio_dev structure has a private pointer for its creator, but it is not set up by the serial system. Set it to point to the serial device so that it can be found by code called by stdio. Signed-off-by: Simon Glass <sjg@chromium.org>
* tegra: Convert tegra GPIO driver to use driver modelSimon Glass2014-09-10-62/+283
| | | | | | | | | | | | | | | | This is an implementation of GPIOs for Tegra that uses driver model. It has been tested on trimslice and also using the new iotrace feature. The implementation uses a top-level GPIO device (which has no actual GPIOS). Under this all the banks are created as separate GPIO devices. The GPIOs are named as per the Tegra datasheet/header files: A0..A7, B0..B7, ..., Z0..Z7, AA0..AA7, etc. Since driver model is not yet available before relocation, or in SPL, a special function is provided for seaboard's SPL code. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: tegra: Set up a pre-reloc malloc()Simon Glass2014-09-10-0/+1
| | | | | | Allocate 1KB so that driver model can operate before relocation. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: Make driver model available before board_init()Simon Glass2014-09-10-16/+50
| | | | | | | | | | | For some boards board_init() will change GPIOs, so we need to have driver model available before then. Adjust the board init to arrange this, but enable it for driver model only, just to be safe. This does create additional #ifdef logic, but it is safer than trying to make a pervasive change which may cause some boards to break. Signed-off-by: Simon Glass <sjg@chromium.org>
* Set up stdio earlier when using driver modelSimon Glass2014-09-10-6/+11
| | | | | | | | | | | | | Since driver model registers itself with the stdio subsystem, and we want to avoid delayed registration and other complexity associated with the current serial console, move the stdio subsystem init earlier when driver model is used for serial. This simplifies the implementation. Should there be any problems with this approach they can be dealt with as boards are converted over to use driver model for serial. Signed-off-by: Simon Glass <sjg@chromium.org>
* dm: Move pre-reloc init earlier to cope with board_early_init_f()Simon Glass2014-09-10-2/+2
| | | | | | | | | In order to support GPIO access in board_early_init_f() we must set up driver model before this function is called. In any case, earlier is better since driver model is (or will become) a key function for most init. Signed-off-by: Simon Glass <sjg@chromium.org>
* Merge branch 'master' of git://www.denx.de/git/u-boot-microblazeTom Rini2014-09-10-1/+4
|\
| * microblaze: remove #ident directive to fix build errorMasahiro Yamada2014-09-10-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The microblaze-generic board fails to build at least with the kernel.org crosstool: https://www.kernel.org/pub/tools/crosstool/files/bin/x86_64/4.9.0/ x86_64-gcc-4.9.0-nolibc_microblaze-linux.tar.xz $ make CROSS_COMPILE=microblaze-linux- microblaze-generic_defconfig all [ snip ] CC disk/part.o CC disk/part_dos.o LD disk/built-in.o CC drivers/block/systemace.o {standard input}: Assembler messages: {standard input}:2495: Error: operation combines symbols in different segments {standard input}:2496: Error: operation combines symbols in different segments {standard input}:2499: Error: operation combines symbols in different segments {standard input}:2500: Error: operation combines symbols in different segments {standard input}:2505: Error: operation combines symbols in different segments {standard input}:2506: Error: operation combines symbols in different segments {standard input}:2515: Error: operation combines symbols in different segments {standard input}:2516: Error: operation combines symbols in different segments {standard input}:2519: Error: operation combines symbols in different segments {standard input}:2520: Error: operation combines symbols in different segments {standard input}:2529: Error: operation combines symbols in different segments {standard input}:2530: Error: operation combines symbols in different segments {standard input}:2533: Error: operation combines symbols in different segments {standard input}:2534: Error: operation combines symbols in different segments {standard input}:2539: Error: operation combines symbols in different segments {standard input}:2540: Error: operation combines symbols in different segments {standard input}:2549: Error: operation combines symbols in different segments {standard input}:2550: Error: operation combines symbols in different segments make[3]: *** [drivers/block/systemace.o] Error 1 make[2]: *** [drivers/block] Error 2 make[1]: *** [drivers] Error 2 make: *** [__build_one_by_one] Error 2 It looks like the cause of this error message is the "#ident" directive. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Cc: Michal Simek <michal.simek@xilinx.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
| * microblaze: Fix printf size_t format related warnings (again...)Vasili Galka2014-09-09-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | The basic idea: Define size_t using the __SIZE_TYPE__ compiler-defined type. For detailed explanation see similar patch for the nios2 arch: "nios2: Fix printf size_t format related warnings (again...)" (sha1: 00a2517fcb5159ed016b25130184638b1dbf2f02) Signed-off-by: Vasili Galka <vvv444@gmail.com> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
* | Merge branch 'buildman' of git://git.denx.de/u-boot-x86Tom Rini2014-09-09-172/+972
|\ \
| * | buildman: fix typos of --dry-run help messageMasahiro Yamada2014-09-09-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | try run => dry run no nothing => do nothing "..." => '...' The last one is for consistency with the other option helps. Change-Id: I1d69047d1fae6ef095a18f69f44ee13c448db9b7 Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com> Acked-by: Simon Glass <sjg@chromium.org>
| * | buildman: Create parent directories as necessaryThierry Reding2014-09-09-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | When creating build directories also create parents as necessary. This fixes a failure when building a hierarchical branch (i.e. foo/bar). Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Tom Rini <trini@ti.com>
| * | patman: make run results better visibleVadim Bendebury2014-09-09-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For an occasional user of patman some failures are not obvious: for instance when checkpatch reports warnings, the dry run still reports that the email would be sent. If it is not dry run, the warnings are shown on the screen, but it is not clear that the email was not sent. Add some code to report failure to send email explicitly. Tested by running the script on a patch with style violations, observed error messages in the script output. Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-by: Doug Anderson <dianders@chromium.org> Acked-by: Simon Glass <sjg@chromium.org>
| * | buildman: Ignore conflicting tagsSimon Glass2014-09-09-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tags like Series-version are normally expected to appear once, and with a unique value. But buildman doesn't actually look at these tags. So ignore conflicts. This allows bulidman to build a branch containing multiple patman series. Reported-by: Steve Rae <srae@broadcom.com> Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Permit branch names with an embedded '/'Simon Glass2014-09-09-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | At present buildman naively uses the branch name as part of its directory path, which causes problems if the name has an embedded '/'. Replace these with '_' to fix the problem. Reported-by: Steve Rae <srae@broadcom.com> Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Expand output test to cover directory prefixesSimon Glass2014-09-09-8/+46
| | | | | | | | | | | | | | | | | | | | | | | | Now that buildman supports removing the build directory prefix from output, add a test for it. Also ensure that output directories are removed when the test completes. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Add additional functional testsSimon Glass2014-09-09-18/+306
| | | | | | | | | | | | | | | | | | | | | This adds coverage of core features of the builder, including the command-line options which affect building. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | patman: Start with a clean series when neededSimon Glass2014-09-09-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For reasons that are not well-understood, GetMetaDataForList() can end up adding to an existing series even when it appears that it should be starting a new one. Change from using a default constructor parameter to an explicit one, to work around this problem. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Provide an internal option to clean the outpur dirSimon Glass2014-09-09-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For testing it is useful to clean the output directory before running a test. This avoids a test interfering with the results of a subsequent test by leaving data around. Add this feature as an optional parameter to the control logic. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Correct counting of build failures on retrySimon Glass2014-09-09-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a build is to be performed, buildman checks to see if it has already been done. In most cases it will not bother trying again. However, it was not reading the return code from the 'done' file, so if the result was a failure, it would not be counted. This depresses the 'failure' count stats that buildman prints in this case. Fix this bug by always reading the return code. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Allow tests to have their own boardsSimon Glass2014-09-09-10/+31
| | | | | | | | | | | | | | | | | | | | | Rather than reading boards.cfg, which may take time to generate and is not necessarily suitable for running tests, create our own list of boards. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Avoid looking at config file or toolchains in testsSimon Glass2014-09-09-5/+29
| | | | | | | | | | | | | | | | | | | | | | | | These files may not exist in the environment, or may not be suitable for testing. Provide our own config file and our own toolchains when running tests. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Set up bsettings outside the control moduleSimon Glass2014-09-09-1/+2
| | | | | | | | | | | | | | | | | | | | | Move the bsettings code back to the main buildman.py file, so we can do something different when testing. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Add a functional testSimon Glass2014-09-09-18/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Buildman currently lacks testing in many areas, including its use of git, make and many command-line flags. Add a functional test which covers some of these areas. So far it does a fake 'build' of all boards for the current source tree. This version reads the real ~/.buildman and boards.cfg files. Future work will improve this. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | patman: Provide a way to intercept commands for testingSimon Glass2014-09-09-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a test point for the command module. This allows tests to emulate the execution of commands. This provides more control (since we can make the fake 'commands' do whatever we like), makes it faster to write tests since we don't need to set up as much environment, and speeds up test execution. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Move full help code into the control moduleSimon Glass2014-09-09-6/+8
| | | | | | | | | | | | | | | | | | | | | There is no good reason to keep this code separate. Move it into control.py so it is easier to test. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Move the command line code into its own fileSimon Glass2014-09-09-71/+87
| | | | | | | | | | | | | | | | | | | | | | | | We want to be able to issue parser commands from within buildman for test purposes. Move the parser code into its own file so we don't end up needing the buildman and test modules to reference each other. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | patman: RunPipe() should not pipe stdout/stderr unless askedSimon Glass2014-09-09-3/+7
| | | | | | | | | | | | | | | | | | | | | RunPipe() currently pipes the output of stdout and stderr to a pty, but this is not the intended behaviour. Fix it. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Enhance basic test to check summary outputSimon Glass2014-09-09-5/+96
| | | | | | | | | | | | | | | | | | | | | | | | Adjust the basic test so that it checks all console output. This will help to ensure that the builder is behaving correctly with printing summary information. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | buildman: Send builder output through a function for testingSimon Glass2014-09-09-28/+30
| | | | | | | | | | | | | | | | | | | | | To allow us to verify the builder's console output, send it through a function which can collect it when running in test mode. Signed-off-by: Simon Glass <sjg@chromium.org>
| * | patman: Add a way of recording terminal output for testingSimon Glass2014-09-09-0/+72
| |/ | | | | | | | | | | | | | | When running unit tests we don't want output to go to the terminal. Provide a way of collecting it so that it can be examined by test code later. Signed-off-by: Simon Glass <sjg@chromium.org>
* | Merge branch 'master' of git://git.denx.de/u-boot-fsl-qoriqTom Rini2014-09-09-46/+4322
|\ \ | |/ |/|
| * ls102xa: dcu: Add platform support for DCU on LS1021ATWR boardWang Huan2014-09-08-0/+72
| | | | | | | | | | | | | | This patch adds the TWR_LCD_RGB card/HDMI options and the common configuration for DCU on LS1021ATWR board. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * video: dcu: Add Sii9022A HDMI Transmitter supportWang Huan2014-09-08-0/+168
| | | | | | | | | | | | | | | | On LS1021ATWR, Silicon's Sii9022A HDMI Transmitter is used. This patch adds the common setting for this chip. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * video: dcu: Add DCU driver supportWang Huan2014-09-08-0/+386
| | | | | | | | | | | | | | | | | | This patch is to add DCU driver support. DCU also named 2D-ACE(Two Dimensional Animation and Compositing Engine) is a system master that fetches graphics stored in internal or external memory and displays them on a TFT LCD panel. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * serial: lpuart: add 32-bit registers lpuart supportJingchang Lu2014-09-08-0/+118
| | | | | | | | | | | | | | | | | | On vybrid, lpuart's registers are 8-bit. On LS102xA, lpuart's registers are 32-bit. This patch adds the support for 32-bit registers on LS102xA. Signed-off-by: Jingchang Lu <jingchang.lu@freescale.com> Signed-off-by: Yuan Yao <yao.yuan@freescale.com>
| * net: tsec: Remove tx snooping support from LS1Claudiu Manoil2014-09-08-0/+4
| | | | | | | | | | | | | | | | | | | | Remove the DMCTRL Tx snooping bits (TDSEN and TBDSEN) as a workaround for LS1. It has been observed that currently the Tx stops functioning after a fair amount of Tx traffic with these settings on. These bits are sticky and once set they cannot be reset from Linux, for instance. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
| * arm: ls102xa: Add basic support for LS1021ATWR boardWang Huan2014-09-08-0/+906
| | | | | | | | | | | | | | | | | | | | | | | | | | LS102xA is an ARMv7 implementation. This patch is to add basic support for LS1021ATWR board. One DDR controller DUART1 is used as the console For the detail board information, please refer to README. Signed-off-by: Chen Lu <chen.lu@freescale.com> Signed-off-by: Yuan Yao <yao.yuan@freescale.com> Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * arm: ls102xa: Add basic support for LS1021AQDS boardWang Huan2014-09-08-0/+1229
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | LS102xA is an ARMv7 implementation. This patch is to add basic support for LS1021AQDS board. One DDR controller DUART1 is used as the console For the detail board information, please refer to README. Signed-off-by: Alison Wang <alison.wang@freescale.com> Signed-off-by: Jason Jin <jason.jin@freescale.com> Signed-off-by: York Sun <yorksun@freescale.com> Signed-off-by: Yuan Yao <yao.yuan@freescale.com> Signed-off-by: Prabhakar Kushwaha <prabhakar@freescale.com>
| * driver/ddr/fsl: Add support of overriding chip select write levelingYork Sun2014-09-08-0/+7
| | | | | | | | | | | | | | | | | | | | JEDEC spec allows DRAM vendors to use prime DQ for write leveling. This is not an issue unless some DQ pins are not connected. If a platform uses regular DIMMs but with reduced DDR ECC pins, the prime DQ may end up on those floating pins for the second rank. The workaround is to use a known good chip select for this purpose. Signed-off-by: York Sun <yorksun@freescale.com>
| * driver/ddr/freescale: Fix DDR3 driver for ARMYork Sun2014-09-08-1/+1
| | | | | | | | | | | | | | Reading DDR register should use ddr_in32() for proper endianess. This patch fixes incorrect waiting time for ARM platforms. Signed-off-by: York Sun <yorksun@freescale.com>
| * driver/ddr/freescale: Add support of accumulate ECCYork Sun2014-09-08-0/+5
| | | | | | | | | | | | | | | | | | If less than 8 ECC pins are used for DDR data bus width smaller than 64 bits, the 8-bit ECC code will be transmitted/received across several beats, and it will be used to check 64-bits of data once 8-bits of ECC are accumulated. Signed-off-by: York Sun <yorksun@freescale.com>
| * ls102xa: esdhc: Add esdhc support for LS102xAWang Huan2014-09-08-2/+2
| | | | | | | | | | | | | | | | | | | | | | For LS1, esdhc is big-endian IP. Accessing the registers should be in big-endian mode. So we use esdhc_read32() to read Host controller capabilities register for LS1. For LS1, when using CMD12, cmdtype need to be set to ABORT, otherwise, next read command will hang. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * esdhc: Add CONFIG_SYS_FSL_ESDHC_LE and CONFIG_SYS_FSL_ESDHC_BE macrosWang Huan2014-09-08-1/+18
| | | | | | | | | | | | | | | | | | For LS102xA, the processor is in little-endian mode, while esdhc IP is in big-endian mode. CONFIG_SYS_FSL_ESDHC_LE and CONFIG_SYS_FSL_ESDHC_BE are added. So accessing ESDHC registers can be determined by ESDHC IP's endian mode. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * ls102xa: etsec: Add etsec support for LS102xAAlison Wang2014-09-08-1/+13
| | | | | | | | | | | | | | | | | | This patch is to add etsec support for LS102xA. First, Little-endian descriptor mode should be enabled. So RxBDs and TxBDs are interpreted with little-endian byte ordering. Second, TSEC_SIZE and TSEC_MDIO_OFFSET are different from PowerPC, redefine them for LS1021xA. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * net: mdio: Use mb() to be compatible for both ARM and PowerPCAlison Wang2014-09-08-3/+6
| | | | | | | | | | | | | | Use mb() instead of sync assembly instruction to be compatible for both ARM and PowerPC. Signed-off-by: Alison Wang <alison.wang@freescale.com>
| * net: Merge asm/fsl_enet.h into fsl_mdio.hClaudiu Manoil2014-09-08-35/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fsl_enet.h defines the mapping of the usual MII management registers, which are included in the MDIO register block common to Freescale ethernet controllers. So it shouldn't depend on the CPU architecture but it should be actually part of the arch independent fsl_mdio.h. To remove the arch dependency, merge the content of asm/fsl_enet.h into fsl_mdio.h. Some files (like fm_eth.h) were simply including fsl_enet.h only for phy.h. These were updated to include phy.h instead. Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>