summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
| * pxa: activate the first usb host port on pxa27x by defaultStefan Herbrechtsmeier2011-12-111-2/+2
| | | | | | | | | | | | | | | | The pxa27x has 3 usb host ports. Activate all by default. Signed-off-by: Stefan Herbrechtsmeier <sherbrec@cit-ec.uni-bielefeld.de> CC: Marek Vasut <marek.vasut@gmail.com> CC: Remy Bohmer <linux@bohmer.net>
| * pxa: fix usb host register mismatchStefan Herbrechtsmeier2011-12-112-1/+3
| | | | | | | | | | | | Signed-off-by: Stefan Herbrechtsmeier <sherbrec@cit-ec.uni-bielefeld.de> CC: Marek Vasut <marek.vasut@gmail.com> CC: Remy Bohmer <linux@bohmer.net>
| * ehci-fsl: correct size of ehci caplengthWolfgang Grandegger2011-12-111-12/+13
| | | | | | | | | | | | | | | | According to the EHCI specification the Capability Register Length has a size of 8 bits. Signed-off-by: Wolfgang Grandegger <wg@denx.de> Acked-by: Kumar Gala <galak@kernel.crashing.org>
| * USB: Add usb_event_poll() to get keyboards working with EHCIMarek Vasut2011-12-111-1/+32
| | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Remy Bohmer <linux@bohmer.net>
| * USB: gadaget: add Marvell controller supportLei Wen2011-12-114-0/+658
| | | | | | | | Signed-off-by: Lei Wen <leiwen@marvell.com>
| * USB: Fix complaints about strict aliasing in OHCI-HCDMarek Vasut2011-12-111-32/+43
| | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
| * USB: Drop dead code from usb_kbd.cMarek Vasut2011-12-111-379/+0
| | | | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Cc: Remy Bohmer <linux@bohmer.net> Cc: Wolfgang Denk <wd@denx.de>
| * USB: Rework usb_kbd.cMarek Vasut2011-12-111-262/+325
| | | | | | | | | | | | | | | | | | | | | | | | | | * Support dynamic allocation of devices * Passing data via usb device privptr * Reorder functions to avoid forward declarations * Introduce generic polling mechanism to fix musb and ehci-hcd breakage due to using "extern new;" to access keyboard driver data! Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Acked-by: Mike Frysinger <vapier@gentoo.org> Cc: Remy Bohmer <linux@bohmer.net> Cc: Wolfgang Denk <wd@denx.de>
| * USB: Add functionality to poll the USB keyboard via control EPMarek Vasut2011-12-111-14/+50
| | | | | | | | | | | | | | | | | | | | | | | | This allows the keyboard to avoid requests via Interrupt Endpoint altogether and run all requests via Control Endpoint. This uses the Get_Report request. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Remy Bohmer <linux@bohmer.net> Rebased on current code. Signed-off-by: Remy Bohmer <linux@bohmer.net>
* | Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2011-12-122-1/+5
|\ \ | | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-arm: arm: add __aeabi_unwind_cpp_pr1() function to avoid linker complaints post: fix compile issue for post tests on kirkwood
| * | arm: add __aeabi_unwind_cpp_pr1() function to avoid linker complaintsWolfgang Grandegger2011-12-111-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the ELDK 5.1 (beta) "armv7a" toolchain I'm get the following build failure: $ ./MAKEALL mx51evk ... /opt/eldk-5.1/armv7a/sysroots/arm-linux-gnueabi/usr/lib/arm-linux- gnueabi/4.6.1/libgcc.a(bpabi.o):(.ARM.exidx+0x0): undefined reference to `__aeabi_unwind_cpp_pr1' make: *** [u-boot] Error 1 This patch fixes the issue similar to commit d442b6e7ad6a86e2fd0e6297291fe8872ff26fc6 but I don't know if it's general enough or if it does harm when using other toolchains. Signed-off-by: Wolfgang Grandegger <wg@denx.de>
| * | post: fix compile issue for post tests on kirkwoodHolger Brunck2011-12-111-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | commit f31a911fe (arm, post: add missing post_time_ms for arm) enables get_ticks and get_tbclk for all arm based boards, but kirkwood has currently no implementation for this. So undefine this for kirkwood boards. Signed-off-by: Holger Brunck <holger.brunck@keymile.com> cc: Heiko Schocher <hs@denx.de> cc: Prafulla Wadaskar <prafulla@marvell.com> cc: Valentin Longchamp <valentin.longchamp@keymile.com>
* | sandbox: fix compiling of cpu/os.cAndreas Bießmann2011-12-101-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U-boot itself generally builds with -nostdinc. This is because the bootloader needs to be completely standalone. In the sandbox arch though, we need a little bit of code to glue the u-boot world to the host operating system, and we need to be able to access the host libc's headers in order to do so. Currently, we're using -I/usr/include to workaround the global -nostdinc, but that doesn't work for everyone and for all headers. Instead, let's filter out -nostdinc when building the os.c code. Without this patch, some distros hit errors such as: ---8<--- In file included from /usr/include/fcntl.h:27:0, from os.c:22: /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory --->8--- Signed-off-by: Andreas Bießmann <biessmann@corscience.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | sandbox: Add timer simulationMatthias Weisser2011-12-105-3/+47
| | | | | | | | | | | | | | Making sleep command work Signed-off-by: Matthias Weisser <weisserm@arcor.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* | sandbox: Add improved RAM simulationMatthias Weisser2011-12-104-10/+25
|/ | | | | | | | | Using mmap to allocate memory from the OS for RAM simulation we can use u-boot own malloc implementation. Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Matthias Weisser <weisserm@arcor.de> Signed-off-by: Mike Frysinger <vapier@gentoo.org>
* post/post.c: Use lldiv for 64-bit divisionsChristian Riesch2011-12-101-1/+2
| | | | | | | Signed-off-by: Christian Riesch <christian.riesch@omicron.at> Cc: Tom Rini <trini@ti.com> Cc: Heiko Schocher <hs@denx.de> Cc: Wolfgang Denk <wd@denx.de>
* arm, davinci: Use lldiv for the 64-bit divisions in timer.cChristian Riesch2011-12-101-2/+4
| | | | | | | Signed-off-by: Christian Riesch <christian.riesch@omicron.at> Cc: Tom Rini <trini@ti.com> Cc: Heiko Schocher <hs@denx.de> Cc: Wolfgang Denk <wd@denx.de>
* ARM: convert "omap730p2" boards to boards.cfgWolfgang Denk2011-12-103-12/+3
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Dave Peverley <dpeverley@mpc-data.co.uk> Acked-by: Tom Rini <trini@ti.com>
* board/ti/omap730p2/flash.c: Fix GCC 4.6 build warningsWolfgang Denk2011-12-101-7/+12
| | | | | | | | | | | | | | | | | Fix: flash.c: In function 'flash_get_offsets': flash.c:122:10: warning: variable 'pOrgDef' set but not used [-Wunused-but-set-variable] flash.c: In function 'flash_erase': flash.c:263:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable] flash.c: In function 'write_data': flash.c:439:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Dave Peverley <dpeverley@mpc-data.co.uk> Acked-by: Tom Rini <trini@ti.com>
* ARM: convert "omap16xx" boards to boards.cfgWolfgang Denk2011-12-103-22/+8
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Kshitij Gupta <kshitij@ti.com> Acked-by: Tom Rini <trini@ti.com>
* board/ti/omap1610inn/flash.c: Fix GCC 4.6 build warningsWolfgang Denk2011-12-101-8/+13
| | | | | | | | | | | | | | | | Fix: flash.c: In function 'flash_get_offsets': flash.c:139:10: warning: variable 'pOrgDef' set but not used [-Wunused-but-set-variable] flash.c: In function 'flash_erase': flash.c:280:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable] flash.c: In function 'write_data': flash.c:456:6: warning: variable 'flag' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Acked-by: Tom Rini <trini@ti.com>
* board/LaCie/edminiv2/edminiv2.c: Fix build warningWolfgang Denk2011-12-101-0/+1
| | | | | | | | | | | Fix: edminiv2.c: In function 'reset_phy': edminiv2.c:98:2: warning: implicit declaration of function 'mv_phy_88e1116_init' [-Wimplicit-function-declaration] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net> Acked-by: Simon Guinot <simon.guinot@sequanux.org>
* ARM: convert "apollon" board to use boards.cfgWolfgang Denk2011-12-104-11/+3
| | | | | | Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com> Cc: Albert Aribaud <albert.u.boot@aribaud.net>
* board/apollon/sys_info.c: Fix GCC 4.6 build warningWolfgang Denk2011-12-101-8/+1
| | | | | | | | | | | | | | Fix: sys_info.c: In function 'display_board_info': sys_info.c:260:16: warning: variable 'db_s' set but not used [-Wunused-but-set-variable] Also fix resulting warnings: sys_info.c:251:7: warning: unused variable 'db_ip' [-Wunused-variable] sys_info.c:250:7: warning: unused variable 'db_men' [-Wunused-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com>
* board/apollon/apollon.c: Fix GCc 4.6 build warnings.Wolfgang Denk2011-12-101-9/+9
| | | | | | | | | | | | | | Fix: apollon.c: In function 'dram_init': apollon.c:188:29: warning: variable 'cpu' set but not used [-Wunused-but-set-variable] apollon.c:188:20: warning: variable 'rev' set but not used [-Wunused-but-set-variable] apollon.c:187:26: warning: variable 'size1' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Kyungmin Park <kyungmin.park@samsung.com>
* boards.cfg: sort listWolfgang Denk2011-12-101-109/+109
| | | | Signed-off-by: Wolfgang Denk <wd@denx.de>
* fs/yaffs2/yaffs_guts.c: Fix GCC 4.6 compile warning (and bug)Wolfgang Denk2011-12-101-1/+1
| | | | | | | | | | | | | | | Fix: yaffs_guts.c: In function 'yaffs_GarbageCollectBlock': yaffs_guts.c:2761:6: warning: variable 'retVal' set but not used [-Wunused-but-set-variable] Here GCC actually detected a bug. The code was always returning OK instead of the previously set retrun code. Fix that. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: William Juul <wiljuul@cisco.com> Cc: Scott Wood <scottwood@freescale.com> Acked-by: William Juul <wiljuul@cisco.com>
* drivers/net/at91_emac.c: Fix GCC 4.6 build warningsWolfgang Denk2011-12-101-19/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix: at91_emac.c: In function 'at91emac_phy_init': at91_emac.c:244:20: warning: variable 'duplex' set but not used [-Wunused-but-set-variable] at91_emac.c:244:13: warning: variable 'speed' set but not used [-Wunused-but-set-variable] Use new debug_cond() to fix these warnings. In the result, anumber of inconsistent printf() formats are detected: at91_emac.c: In function 'at91emac_read': at91_emac.c:147:2: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'struct at91_emac_t *' [-Wformat] at91_emac.c: In function 'at91emac_write': at91_emac.c:157:2: warning: format '%x' expects argument of type 'unsigned int', but argument 2 has type 'struct at91_emac_t *' [-Wformat] at91_emac.c:157:2: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'short unsigned int *' [-Wformat] at91_emac.c: In function 'at91emac_recv': at91_emac.c:451:3: warning: format '%d' expects argument of type 'int', but argument 2 has type 'long unsigned int' [-Wformat] at91_emac.c:451:3: warning: format '%x' expects argument of type 'unsigned int', but argument 4 has type 'long unsigned int' [-Wformat] Fix these, too. Signed-off-by: Wolfgang Denk <wd@denx.de> Cc: Jens Scharsig <js_at_ng@scharsoft.de> Cc: Andreas Bießmann <andreas.devel@gmail.com> Cc: Reinhard Meyer <u-boot@emk-elektronik.de>
* drivers/net/ne2000_base.c: Fix GCC 4.6 build warningsWolfgang Denk2011-12-101-4/+5
| | | | | | | | | | | | | | | | | | | | | | Fix: ne2000_base.c: In function 'dp83902a_send': ne2000_base.c:282:7: warning: variable 'tmp' set but not used [-Wunused-but-set-variable] ne2000_base.c: In function 'dp83902a_RxEvent': ne2000_base.c:376:5: warning: variable 'rsr' set but not used [-Wunused-but-set-variable] ne2000_base.c: In function 'dp83902a_TxEvent': ne2000_base.c:513:5: warning: variable 'tsr' set but not used [-Wunused-but-set-variable] ne2000_base.c: In function 'dp83902a_ClearCounters': ne2000_base.c:550:17: warning: variable 'cnt3' set but not used [-Wunused-but-set-variable] ne2000_base.c:550:11: warning: variable 'cnt2' set but not used [-Wunused-but-set-variable] ne2000_base.c:550:5: warning: variable 'cnt1' set but not used [-Wunused-but-set-variable] Signed-off-by: Wolfgang Denk <wd@denx.de>
* Merge branch 'master' of git://git.denx.de/u-boot-armWolfgang Denk2011-12-1084-703/+4903
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'master' of git://git.denx.de/u-boot-arm: M28: Cleanup memsize.o OOT build i.MX28: Move SPL to arch/arm/cpu/arm926ejs/mx28 M28: Fix typo M28: Document that units has to be set to sectors on SD bootcard i.mx: i.mx6q: add the initial support for i.mx6q ARM2 board i.mx: mxc_gpio: add the i.mx6q support i.mx: add the initial support for freescale i.MX6Q processor i.mx: introduce the armv7/imx-common folder S5PC2XX: Rename S5pc2XX to exynos tegra2: Don't use board pointer before it is set up tegra2: Remove unneeded 'dynamic ram size' message tegra2: Remove unused low-level Tegra2 UART code tegra2: Remove unneeded config option tegra2: Remove unneeded boot code tegra2: Enable instruction cache arm: Move CP15 init out of cpu_init_crit() tegra2: Simplify tegra_start() boot path tegra2: Add arch_cpu_init() to fire up Cortex-A9 tegra2: Use new GPIO APIs in gpio_config_uart() tegra2: Add support for Ventana tegra2: Modify MMC driver to handle power and cd GPIOs tegra2: Move board_mmc_init into board files
| * M28: Cleanup memsize.o OOT buildMarek Vasut2011-12-094-23/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current way memsize.c is built just made a symlink into the directory with SPL and then compiled it like any other file there. This was bad as that broke the out-of-tree build. The new way introduced in this patch uses the standard spl/Makefile methods (CONFIG_SPL_LIBCOMMON_SUPPORT / CONFIG_SPL_LIBGENERIC_SUPPORT) to let files in common/ be built. Because common/Makefile says memsize.c is always built (SPL and non-SPL build), this fixes our issue with memsize.c out-of-tree build. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * i.MX28: Move SPL to arch/arm/cpu/arm926ejs/mx28Marek Vasut2011-12-0911-71/+113
| | | | | | | | | | | | | | | | | | | | This moves SPL to common location so it can be reused by multiple boards. Also, this commit adjusts M28 SoM to avoid breakage due to the move. Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * M28: Fix typoMarek Vasut2011-12-091-1/+1
| | | | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Wolfgang Denk <wd@denx.de> Cc: Detlev Zundel <dzu@denx.de> Cc: Stefano Babic <sbabic@denx.de>
| * M28: Document that units has to be set to sectors on SD bootcardMarek Vasut2011-12-091-1/+2
| | | | | | | | | | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Wolfgang Denk <wd@denx.de>
| * i.mx: i.mx6q: add the initial support for i.mx6q ARM2 boardJason Liu2011-12-096-0/+528
| | | | | | | | | | | | | | | | | | | | | | | | | | Add the initial support for Freescale i.MX6Q Armadillo2 board Support: MMC boot from slot 0/1, debug UART(UART4), usdhc. There is two MMC slots on the boards: mmc dev 0 -> connect USDHC3 -> the lower slot on the board, mmc dev 1 -> connect USDHC4 -> the upper slot on the board, Signed-off-by: Jason Liu <jason.hui@linaro.org> Cc: Stefano Babic <sbabic@denx.de> Tested-by: Dirk Behme <dirk.behme@de.bosch.com>
| * i.mx: mxc_gpio: add the i.mx6q supportJason Liu2011-12-091-2/+2
| | | | | | | | | | | | Signed-off-by: Jason Liu <jason.hui@linaro.org> Cc: Stefano Babic <sbabic@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
| * i.mx: add the initial support for freescale i.MX6Q processorJason Liu2011-12-0912-0/+3628
| | | | | | | | | | | | | | | | i.MX6Q is freescale quad core processors with ARM cortex_a9 complex. This patch is to add the initial support for this processor. Signed-off-by: Jason Liu <jason.hui@linaro.org> Cc:Stefano Babic <sbabic@denx.de>
| * i.mx: introduce the armv7/imx-common folderJason Liu2011-12-097-86/+173
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In order to support the coming MX6 platform and to reducde the duplicated code, we had better move some common files or functions to the imx-common folder for sharing. This patch does the following: - move speed.c file from armv7/mx5/speed.c to armv7/imx-common/speed.c - move armv7/mx5/timer.c to armv7/imx-common/timer.c, no any new feature added but just fix the checkpatch errors in the old file and remove the CONFIG_SYS_MX5_CLK32 reference in the file - create one new file cpu.c file to store the common function with i.mx5/6 Signed-off-by: Jason Liu <jason.hui@linaro.org> Cc:Stefano Babic <sbabic@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
| * S5PC2XX: Rename S5pc2XX to exynosChander Kashyap2011-12-0928-152/+152
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As per new naming convention for Samsung SoC's, all Cortex-A9 and Cortex-A15 based SoC's will be classified under the name Exynos. Cortex-A9 and Cortex-A15 based SoC's will be sub-classified as Exynos4 and Exynos5 respectively. In order to better adapt and reuse code across various upcoming Samsung Exynos based boards, all uses of s5pc210 prefix/suffix/directory-names are renamed in this patch. s5pc210 is renamed as exynos4210 and S5PC210/s5pc210 suffix/prefix are renamed as exynos4/EXYNOS4. Signed-off-by: Chander Kashyap <chander.kashyap@linaro.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
| * tegra2: Don't use board pointer before it is set upSimon Glass2011-12-091-9/+1
| | | | | | | | | | | | | | | | | | | | In board_init_f() the gd->bd pointer is not valid when dram_init() is called. This only avoids dying because DRAM is at zero on Tegra2. The common ARM routine sets up the banks in the same way anyway, so we can just remove this code. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Remove unneeded 'dynamic ram size' messageSimon Glass2011-12-091-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This message is not required, since it is followed by an 'official' U-Boot message. U-Boot 2011.03-00048-gd7cb0d3 (May 11 2011 - 17:17:23) TEGRA2 Board: NVIDIA Seaboard dynamic ram_size = 1073741824 DRAM: 1 GiB becomes: TEGRA2 Board: NVIDIA Seaboard DRAM: 1 GiB This is a separate commit since it changes behavior. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Remove unused low-level Tegra2 UART codeSimon Glass2011-12-093-107/+0
| | | | | | | | | | | | | | | | | | This was used by the AVP in early boot but is no longer used. Unless we plan to enable it somehow it is not needed. In any case we should try to use the ns16550 driver instead as it has the same code. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Remove unneeded config optionSimon Glass2011-12-091-2/+0
| | | | | | | | | | | | | | | | CONFIG_ENABLE_CORTEXA9 and CONFIG_SKIP_RELOCATE_UBOOT are not needed, so remove them. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Remove unneeded boot codeSimon Glass2011-12-095-147/+1
| | | | | | | | | | | | | | | | Since we have cache support built in we can remove Tegra's existing cache initialization code amd other related dead code. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Enable instruction cacheSimon Glass2011-12-091-0/+3
| | | | | | | | | | | | | | | | | | Since low-level init is skipped, the instruction cache is never enabled on Tegra2. This explicitly calls this initialization as soon as the A9 is initialized. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * arm: Move CP15 init out of cpu_init_crit()Simon Glass2011-12-092-6/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Some SOCs have do not start up with their 'main' CPU. The first U-Boot code may then be executed with a CPU which does not have a CP15, or not a useful one. Here we split the initialization of CP15 into a separate call, which can be performed later if required. Once the main CPU is running, you should call cpu_init_cp15() to perform this init as early as possible. Existing ARMv7 boards which define CONFIG_SKIP_LOWLEVEL_INIT should not need to change, this CP15 init is still skipped in that case. The only impact for these boards is that the cpu_init_cp15() will be available even if it is never used on these boards. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Simplify tegra_start() boot pathSimon Glass2011-12-093-25/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The Tegra2 boot path is more complicated than it needs to be. Since we want to move to building most of U-Boot with ARMv7 and only a small part with ARMv4T (for AVP) it should be as simple as possible. This makes tegra2_start() into a simple function which either does AVP init or A9 init depending on which core is running it. Both cores now following the same init path, beginning at _start, and the special Tegra2 boot path code is no longer required. Only two files need to be built for ARMv4T, and this is handled in the Tegra2 CPU Makefile. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Add arch_cpu_init() to fire up Cortex-A9Simon Glass2011-12-095-4/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | We want to move away from a special Tegra2 start-up, and just use arch_cpu_init() instead. However, if we run board_init_f() from boot we need to build it for ARMv4T, since the Tegra's AVP start-up CPU does not support ARMv7. The effect of this is to do the AVP init earlier, and in arch_cpu_init(), rather that board_early_init_f(). Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Use new GPIO APIs in gpio_config_uart()Stephen Warren2011-12-092-18/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... rather than open-coding the register accesses. However, gpio_request() typically stores the "label" parameter in a global data structure. This causes problems when called from gpio_config_uart(), since the code is running before relocation. To solve this, pass a NULL string to gpio_request(), and modify gpio_request() not to touch the string if it's NULL. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> Tested-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
| * tegra2: Add support for VentanaStephen Warren2011-12-095-2/+119
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Ventana is a board which is very similar to Seaboard. Support it by re-using board/nvidia/seaboard/seaboard.c with minor run-time conditionals. v5: Makefile: Use cmd_link_o_target, remove unused clean/distclean targets. v6: Make gpio_config_uart_seaboard() static. v7: Add MAINTAINERS entry for Ventana. Tom Warren doesn't have Ventana, so he asked me to add myself for this board. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Warren <twarren@nvidia.com>
OpenPOWER on IntegriCloud