summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeLines
* usb:gadget:s5p Enable the USB Gadget framework at GONILukasz Majewski2011-12-11-1/+54
| | | | | | | | | | This commit enables support for USB Gadgets on the GONI reference target. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Remy Bohmer <linux@bohmer.net>
* usb:gadget:s5p USB Device Controller (UDC) implementationLukasz Majewski2011-12-11-0/+2848
| | | | | | | | | | | This commit provides UDC driver support for Samsung's SoC family of processors. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: Minkyu Kang <mk7.kang@samsung.com> Cc: Remy Bohmer <linux@bohmer.net>
* ehci: speed up initializationVincent Palatin2011-12-11-1/+1
| | | | | | | | | | According to EHCI specification v1.0, the controller should stabilize the power on a port at most 20 ms after the port power bit transition. So, we put this setting in the virtual descriptor corresponding field, (bPwrOn2PwrGood = 10 => 10 x 2ms = 20ms), this saves about 500ms at each controller initialization/enumeration. Signed-off-by: Vincent Palatin <vpalatin@chromium.org>
* usb: add help for missing start subcommandVeli-Pekka Peltola2011-12-11-2/+4
| | | | | Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com> Cc: Remy Bohmer <linux@bohmer.net>
* cosmetic: remove excess whitespace from usb command helpVeli-Pekka Peltola2011-12-11-5/+5
| | | | | Signed-off-by: Veli-Pekka Peltola <veli-pekka.peltola@bluegiga.com> Cc: Remy Bohmer <linux@bohmer.net>
* usb: align usb_endpoint_descriptor to 16-bit boundaryStefan Kristiansson2011-12-11-1/+1
| | | | | | | | | | | | | | | | | The usb_endpoint_descriptor struct is 7 bytes large and is defined as an array (ep_desc[USB_MAXENDPOINTS]) in the usb_interface struct in include/usb.h This fact will result in that every odd index in that array will start at an uneven address, this in turn makes accesses to u16 wMaxPacketSize unaligned. Such accesses are illegal on the OpenRISC architecture (as well as other architectures) and will render a bus error. Setting the aligned(2) attribute on usb_endpoint_descriptor will force wMaxPacketSize to a 16-bit boundary. Signed-off-by: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
* usbtty: init endpoints prior to startup eventsStefan Herbrechtsmeier2011-12-11-2/+2
| | | | | | | | On some usb device controllers (pxa) the endpoint configuration must be programmed prior to enable it. 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: convert pxa27x_udc to use read and write functionsStefan Herbrechtsmeier2011-12-11-87/+104
| | | | | | 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: activate the first usb host port on pxa27x by defaultStefan Herbrechtsmeier2011-12-11-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-11-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-11-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-11-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-11-0/+658
| | | | Signed-off-by: Lei Wen <leiwen@marvell.com>
* USB: Fix complaints about strict aliasing in OHCI-HCDMarek Vasut2011-12-11-32/+43
| | | | Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
* USB: Drop dead code from usb_kbd.cMarek Vasut2011-12-11-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-11-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-11-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>
* post/post.c: Use lldiv for 64-bit divisionsChristian Riesch2011-12-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-10-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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-09-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>