summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* imximage: delay setting of image sizeTroy Kisky2012-10-20-6/+6
| | | | | | | | When later we change to variable length header, we won't know the file size when set_imx_hdr is called. So this is prep work. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
* imximage: fix size of image to load.Troy Kisky2012-10-20-4/+2
| | | | | | | sbuf->st_size already includes sizeof(struct imx_header), so remove extra addition. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
* imximage: move flash_offset check to common locationTroy Kisky2012-10-20-14/+5
| | | | | | | | Both set_imx_hdr_v1 and set_imx_hdr_v2 perform the same check. Move check to before the set_imx_hdr call. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Stefano Babic <sbabic@denx.de>
* imximage: remove redundant setting of app_dest_ptrTroy Kisky2012-10-20-1/+0
| | | | | Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Stefano Babic <sbabic@denx.de>
* imximage: check dcd_len as entries addedTroy Kisky2012-10-20-15/+11
| | | | | | | Before the len was checked after the entire file was processed, so it could have already overflowed. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com>
* mx6qarm2: Enable DCACHE and CONFIG_MMC_BOUNCE_BUFFERFabio Estevam2012-10-20-2/+1
| | | | | | Data cache and CONFIG_MMC_BOUNCE_BUFFER can be safely enabled now. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx6qsabre_common: Enable DCACHE and CONFIG_MMC_BOUNCE_BUFFERFabio Estevam2012-10-20-2/+1
| | | | | | Data cache and CONFIG_MMC_BOUNCE_BUFFER can be safely enabled now. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx25pdk: Use internal RAM for stack pointerFabio Estevam2012-10-20-2/+9
| | | | | | Use internal RAM for stack pointer as it is done in other i.MX boards. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx5: Add workaround for ARM erratum ID 468414Fabio Estevam2012-10-17-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | Add the software workaround for ARM erratum ID 468414. According to mx53/mx51 errata document: "ENGcm11133 - ARM: NEON load data can be incorrectly forwarded to a subsequent request Description: Under very specific set of conditions, data from a Neon load request can be incorrectly forwarded to a subsequent, unrelated memory request. The conditions are as follows: • Neon loads and stores must be in use • Neon L1 caching must be disabled • Trustzone must be configured and in use • The secure memory address space and the non-secure memory address space both use the same physical addresses, either as an alias or the same memory location or for separate memory locations The issue is reported by ARM, erratum ID 468414, Category 2" Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx6qsabrelite: enable DCache and MMC bounce bufferDirk Behme2012-10-17-2/+1
| | | | | | | | | The recent U-Boot version 2012.07 has improved drivers (e.g. MMC and network/FEC) regarding DCache handling. So it should be safe to use the DCache on the i.MX6, now. Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com> Acked-by: Stefano Babic <sbabic@denx.de>
* configs: mx53evk: Remove CONFIG_HAS_ETH1Fabio Estevam2012-10-17-1/+0
| | | | | | mx53evk has only one Ethernet port, so remove CONFIG_HAS_ETH1 option. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* configs: mx51evk: Remove CONFIG_HAS_ETH1Fabio Estevam2012-10-17-1/+0
| | | | | | mx51evk has only one Ethernet port, so remove CONFIG_HAS_ETH1 option. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* configs: mx53loco: Remove CONFIG_HAS_ETH1Fabio Estevam2012-10-17-1/+0
| | | | | | mx53loco has only one Ethernet port, so remove CONFIG_HAS_ETH1 option. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx53loco: Adapt the IPU clockFabio Estevam2012-10-17-1/+1
| | | | | | | Since PLL2 now has changed, it is necessary to adapt the CONFIG_IPUV3_CLK accordingly. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx5: lowlevel_init.S: Fix PLL settings for mx53Fabio Estevam2012-10-17-33/+67
| | | | | | | | | | | | | | | | | | Currently PLL2 is not explicitely configured for mx53 and it runs at 333MHz. Since PLL2 is the parent clock for DDR2, IPU, VPU, we should set it at 400MHz instead. Without doing so, it is not possible to use a 2.6.35 FSL kernel and display HDMI at 1080p because the IPU clock cannot reach the requested frequency. Set PLL2 to 400MHz, so that 1080p can be played and the DDR2 can run at its maximum frequency. Also, setup the other PLL's as done in FSL U-boot and re-arrange the code a little bit to allow easier comparison with the original clock setup from FSL U-boot. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx5: lowlevel_init.S: Split init_clock macroFabio Estevam2012-10-17-30/+65
| | | | | | | | | | | init_clock is currently shared between mx51 and mx53 and it contains lots of ifdef's which makes it really hard to follow the code. Split the init_clock between mx51 and mx53 to allow easier readability. No functional changes are made. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx25: Clean up imx-regs.hBenoît Thébaudeau2012-10-16-3/+3
| | | | | | | | | | Clean up i.MX25 imx-regs.h: - Update mx31 imx-regs.h filename. - Test for __KERNEL_STRICT_NAMES just in case. - Define internal RAM size. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
* i.MX6: mx6qsabrelite: Add splash screen supportEric Nelson2012-10-16-1/+343
| | | | | | | | | | | | | | | | | | | | | Adds support for HDMI, two LVDS panels and one RGB panel to the SABRE-Lite board. Displays supported: HDMI - 1024 x 768 for maximum compatibility Hannstar-XGA - 1024 x 768 LVDS (Freescale part number MCIMX-LVDS1) wsvga-lvds - 1024 x 600 LVDS (Boundary p/n Nit6X_1024x600) wvga-rgb - 800 x 480 RGB (Boundary p/n Nit6X_800x480) Since the ipuv3_fb display driver currently supports only a single display, this code auto-detects panel by probing the HDMI Phy for Hot Plug Detect or the I2C touch controller of the LVDS and RGB displays in the priority listed above. Setting 'panel' environment variable to one of the names above will override auto-detection. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX6: add HDMI transmitter register declarations from kernel WIP.Eric Nelson2012-10-16-0/+1053
| | | | | | | | Original source from Pengutronix HDMI driver work: http://git.pengutronix.de/?p=imx/linux-2.6.git;a=commitdiff;h=72c31cd67ac880bd90785af86f8e46f8ea7b3bb0 Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX6: set drive strength for parallel RGB padsEric Nelson2012-10-16-29/+29
| | | | | | Default drive strength is disabled and won't function. Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX: ipufb: add const to fb_videomode declarationsEric Nelson2012-10-16-3/+3
| | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX video: struct fb_videomode can be constEric Nelson2012-10-16-4/+8
| | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX: declare iomux_v3_cfg_t arrays as constEric Nelson2012-10-16-27/+27
| | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com>
* i.MX: iomux: input pad array can be constEric Nelson2012-10-16-3/+5
| | | | | Signed-off-by: Eric Nelson <eric.nelson@boundarydevices.com> Signed-off-by: Stefano Babic <sbabic@denx.de>
* mx6qsabreauto: Pass the board revision to the kernelFabio Estevam2012-10-16-2/+52
| | | | | | | | | | | The kernel from Freescale expects that the bootloader passes the board revision. Read the board revision and pass it via get_board_rev(). Without passing the board revision the kernel does not operate properly as the initialization of peripherals are different in revA versus revB boards. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* mx6qsabreauto: Change mmcroot so it works out of boxOtavio Salvador2012-10-16-2/+4
| | | | | | | | The mmcroot setting vary between mx6qsabreauto and mx6qsabresd so we move this to the board configuration file. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Fabio Estevam <fabio.estevam@freescale.com>
* mxc: Fix SDHC multi-instance clockBenoît Thébaudeau2012-10-16-2/+40
| | | | | | | | | | | | | | | | | | On mxc, each SDHC instance has a dedicated clock, so gd->sdhc_clk is not suitable for the multi-instance use case (initialization made directly with fsl_esdhc_initialize()). This patch fixes this issue by adding a configuration field for the SDHC input clock frequency. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Bénard <eric@eukrea.com> Cc: Otavio Salvador <otavio@ossystems.com.br> Cc: Fabio Estevam <fabio.estevam@freescale.com> Cc: Jason Liu <r64343@freescale.com> Cc: Matt Sealey <matt@genesi-usa.com> Cc: Andy Fleming <afleming@gmail.com>
* mx35: Fix eSDHC clocksBenoît Thébaudeau2012-10-16-3/+15
| | | | | | | | | | | | | | Each eSDHC instance has a dedicated clock. gd->sdhc_clk must also be set accordingly. This is good for the case only a single SDHC instance is used (initialization made with fsl_esdhc_mmc_init()). A future patch will fix the multi-instance use case (initialization made directly with fsl_esdhc_initialize()). Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Bénard <eric@eukrea.com> Cc: Otavio Salvador <otavio@ossystems.com.br>
* mx35: Clean up lowlevel_initBenoît Thébaudeau2012-10-16-279/+97
| | | | | | | | | | | | Clean up mx35 lowlevel_init: - Indent with tabs. - Fix comments. - Use defined values instead of literal constants. - Use defined macros instead of duplicating code. - Use macro parameters with default values instead of #define'd configs. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
* Merge branch 'agust@denx.de-next' of git://git.denx.de/u-boot-stagingTom Rini2012-10-15-19/+517
|\
| * bootstage: Add new bootstage IDs for board, LCDSimon Glass2012-10-03-0/+5
| | | | | | | | | | | | Add bootstage IDs for board init and LCD. Signed-off-by: Simon Glass <sjg@chromium.org>
| * bootstage: Add bootstage commandSimon Glass2012-10-03-0/+121
| | | | | | | | | | | | | | | | | | Now that there are a few features, add a bootstage command to access them. bootstage report - prints a report bootstage stash/unstash - stashes bootstage records in memory, reads them back Signed-off-by: Simon Glass <sjg@chromium.org>
| * bootstage: Add feature to stash/unstash bootstage infoSimon Glass2012-10-03-0/+188
| | | | | | | | | | | | | | | | | | | | | | | | It is useful to be able to write the bootstage information to memory for use by a later utility, or the Linux kernel. Provide a function to do this as well as a function to read bootstage information back and incorporate it into the current table. This also makes it possible for U-Boot to chain to another U-Boot and pass on its bootstage information. Signed-off-by: Simon Glass <sjg@chromium.org>
| * bootstage: Store boot timings in device treeSimon Glass2012-10-02-6/+120
| | | | | | | | | | | | | | | | Add an option, CONFIG_BOOTSTAGE_FDT to pass boot timings to the kernel in the device tree, if available. To use this, you must have CONFIG_OF_LIBFDT defined. Signed-off-by: Simon Glass <sjg@chromium.org>
| * bootstage: Add time accumulation featureSimon Glass2012-10-02-3/+60
| | | | | | | | | | | | | | | | | | | | | | Sometimes we want to add up the amount of time spent in a particular activity when it is happening in a number of discrete chunks. Add bootstage_start() to mark the start of an acitivity and bootstage_accum() to accumulate the time since the last start. Calling these function in pairs results in the accumulated time being collected. Signed-off-by: Simon Glass <sjg@chromium.org>
| * bootstage: Export bootstage_add_record() functionSimon Glass2012-10-02-10/+23
| | | | | | | | | | | | | | This function is not static, but not exported either. Add a prototype in the header file and move the required enum to the header also. Signed-off-by: Simon Glass <sjg@chromium.org>
* | tools/env: Fix build failure from missing header includeJoe Hershberger2012-10-15-0/+1
| | | | | | | | | | | | | | | | | | | | This was introduced in: 8679d0ffdcc0beafea8e6942c0c67cf859afa18e - COMMON: Use __stringify() instead of MK_STR() The header is now needed since common.h is not included in this tool. Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
* | kerneldoc: Add myself to the git-mailrc for kerneldocMarek Vasut2012-10-15-0/+1
| | | | | | | | | | | | | | Add entry for kerneldoc into the git-mailrc pointing to the U-Boot ML and myself. Signed-off-by: Marek Vasut <marex@denx.de>
* | kerneldoc: Implement "Example" section handlingMarek Vasut2012-10-15-0/+3
| | | | | | | | | | | | | | | | The default kernel-doc strips starting spaces from every single line in the Example section. This makes the code look bad. Thus, implement special handling for this section. Signed-off-by: Marek Vasut <marex@denx.de>
* | kerneldoc: Add nicer CSS stylesheet for HTML docsMarek Vasut2012-10-15-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | Import basic CSS stylesheet for the HTML documentation. The base for the stylesheet is taken from: http://ds9a.nl/docbook/minimal-page.html I customized the CSS a bit further, for example to add curvy corners to example section and change the tint of gray. The HTML documentation does not look that crude anymore. Signed-off-by: Marek Vasut <marex@denx.de>
* | kerneldoc: Implant DocBook from Linux kernelMarek Vasut2012-10-15-2/+3430
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Pull slightly modified version of Documentation/DocBook, the related perl script scripts/kernel-doc and the scripts/docproc.c from Linux kernel and implant it into U-Boot. This will allow smooth generation of kerneldoc style documentation. It was necessary to modify the DocBook/Makefile to work with U-Boot build system. The changes were only minor though and involved replacing the kbuild specific parts. It was also necessary to replace use of variables like KERNEL_VERSION with U_BOOT_VERSION, strings like Linux kernel with U-Boot Bootloader etc. so the generated result actually matches. Finally, it was necessary to adjust docproc.c, since the documentation in U-Boot is located in doc/DocBook instead of Documentation/DocBook as is in case of the Linux kernel. Some parts of the DocBook Makefile are unused, but to allow easier sync with Linux kernel, these parts are still left in. The targets enabled now are "htmldocs" "pdfdocs" "psdocs" "xmldocs" and "cleandocs" to remove the results of documentation build. Linux scripts/docproc.c: commit f0f3ca8d967462dafb815412b14ca3339b9817a6 Date: Wed Jun 15 11:53:13 2011 +0200 Linux scripts/kernel-doc: commit 1b40c1944db445c1de1c47ffd8cd426167f488e8 Date: Sun Aug 12 10:46:15 2012 +0200 Linux Documentation/DocBook: commit bb8187d35f820671d6dd76700d77a6b55f95e2c5 Date: Thu May 17 19:06:13 2012 -0400 Signed-off-by: Marek Vasut <marex@denx.de>
* | configs: mx6qsabre_common.h: Use default clock definitionsFabio Estevam2012-10-15-2/+0
| | | | | | | | | | | | | | Since commit 50d4a707f0 (mx5/6: Define default SoC input clock frequencies) we can use the default clock values. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* | mx6qsabreauto: Add Ethernet supportFabio Estevam2012-10-15-0/+75
| | | | | | | | | | | | | | | | mx6qsabreauto has a AR8031 Gigabit PHY. Add support for it. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
* | mx25: Clean up lowlevel_initBenoît Thébaudeau2012-10-15-53/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up mx25 lowlevel_init: - Add comments. - Do not use write32 repeatedly with the same value in order not to increase code size. - Make register values configurable. - Use macro parameters with default values instead of literal constants. - Use defined macros instead of duplicating code. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: John Rigby <jcrigby@gmail.com> Cc: Matthias Weisser <weisserm@arcor.de>
* | mx31: Fix PDR0_CSI_PODFBenoît Thébaudeau2012-10-15-12/+14
| | | | | | | | | | | | | | | | | | | | The CSI PODF bit-field used by the previous code for the i.MX31 CCM PDR0 register is actually composed of two bit-fields: one pre-divider and one post-divider. This patch fixes the CCM access macros and the code using them accordingly. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
* | mx35: Define MAX and AIPS registersBenoît Thébaudeau2012-10-15-1/+84
| | | | | | | | | | Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
* | mx31: Add more CCM access macrosBenoît Thébaudeau2012-10-15-0/+10
| | | | | | | | | | Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de>
* | mx5: Optimize lowlevel_init code sizeBenoît Thébaudeau2012-10-15-53/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Optimize mx5 lowlevel_init.S code size: - Compute values at compile time rather than at runtime where possible. - Assign r4 to hold the zero value rather than setting registers to 0 again and again. - Associate a function to setup_pll rather than expanding its large macro code multiple times. - Allocate constant values in section only if used. Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Tested-by: Stefano Babic <sbabic@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
* | mx6qsabreauto: Use ttymxc3 as consoleOtavio Salvador2012-10-15-3/+7
| | | | | | | | | | | | | | | | The mx6qsabreauto console is different than mx6qsabresd so the console configuration is now set in the board file. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Acked-by: Stefano Babic <sbabic@denx.de>
* | mx25: Fix eSDHC supportBenoît Thébaudeau2012-10-15-9/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The MMC driver appropriate for the i.MX25 is fsl_esdhc, which has nothing to do with mxcmmc. Also, each eSDHC instance has a dedicated clock, so gd->sdhc_clk must be set accordingly. This is good for the case only a single SDHC instance is used (initialization made with fsl_esdhc_mmc_init()). A future patch will fix the multi-instance use case (initialization made directly with fsl_esdhc_initialize()). Signed-off-by: Benoît Thébaudeau <benoit.thebaudeau@advansee.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Eric Bénard <eric@eukrea.com> Cc: Otavio Salvador <otavio@ossystems.com.br>