summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2014-10-23arm: vf610: add SoC detectionStefan Agner
Vybrid product family consists of several rather similar SoC which can be determined by softare during boot time. This allows to use the variable ${soc} for Linux device tree files.
2014-10-23arm: vf610: enable cachesStefan Agner
Enables caches which provides a rather huge speedup of the boot loader. Also mark the on-chip RAM as cachable since this is the area U-Boot runs from.
2014-10-23colibri_vf: disable automatic boot when using recovery modeStefan Agner
Since we use the same UART to download U-Boot and get the U-Boot prompt, it is quite hard to switch between the download program and the terminal emulator within the boot delay. This patch disables the automatic boot by setting the bootdelay to -1 when using the recovery mode (serial downloader).
2014-10-23vf610: improve CPU type detectionStefan Agner
Detect VF5xx CPU's by reading the CPU count register. Also we can guess the second number of the CPU type (VF6x0) which indicates the presence of a L2 cache.
2014-10-23colibri vf50/61: detect bad blocks in U-Boot areaStefan Agner
The boot ROM was not able to detect bad blocks in the U-Boot area due to disabled "bad block marking swap" functionality. The description of this field is a bit unclear, but tests show that skipping bad blocks in U-Boot area only work if this field is set to 0.
2014-10-23vf610: enable external 32KHz oscillatorStefan Agner
Enable the SCSC (Slow Clock Source Controller) and select the external 32KHz oscillator. This improves accuracy of the RTC.
2014-10-17arm: vf610: initial integration for Colibri VF50/VF61Stefan Agner
This adds initial support for Colibri VF50/VF61 based on Freescale Vybrid SoC. The board support package is based on Freescale Tower board, with following differences: - CPU clocked at 500MHz - Use PLL2 as DDR3 clock (400MHz) - New Machine ID - Console on UART1 (Colibri UART_A) - Ethernet on FEC1 - Enabled command line editing - PLL5 based RMII clocking (e.g. no external crystal) - UART_A and UART_C I/O muxing - Boot from OCRAM gfxRAM - Boot from NAND by default Tested on Colibri VF50/VF61 booting using serial loader over UART.
2014-10-16imx: add u-boot-nand.imx targetStefan Agner
Add an additional target which prepends the u-boot.imx image with 0x400 padding bytes. On Vybrid, this is required for NAND boot devices. The configuration CONFIG_IMX_NAND enables this image for a board.
2014-10-16imx: add writebcb commandStefan Agner
Add writebcb command which creates a NAND Boot Configuration Block at the beginning of the active flash device. The offset of the boot firmware are specified using arguments, at least one location is mandatory. Currently only the FCB (Firmware Configuration Block) is supported, the DBBT (Discovered Bad Block Table) is optional and is not used currently. The firmware, e.g. U-Boot (along with the IVT header and a 0x400 long prefix) need to be written to NAND seperatly.
2014-10-16arm: vf610: move DDR initialization to imx-commonStefan Agner
In order to avoid code duplication move the DDR initialization to the common place under imx-common. Currently, only TREF, TRFC, COL_DIFF and ROW_DIFF can be choosen from board file.
2014-10-14Merge tag 'v2014.10' into 2014.10-toradex-nextMarcel Ziswiler
Prepare v2014.10
2014-10-11ARM: Implement non-cached memory supportThierry Reding
Implement an API that can be used by drivers to allocate memory from a pool that is mapped uncached. This is useful if drivers would otherwise need to do extensive cache maintenance (or explicitly maintaining the cache isn't safe). The API is protected using the new CONFIG_SYS_NONCACHED_MEMORY setting. Boards can set this to the size to be used for the non-cached area. The area will typically be right below the malloc() area, but architectures should take care of aligning the beginning and end of the area to honor any mapping restrictions. Architectures must also ensure that mappings established for this area do not overlap with the malloc() area (which should remain cached for improved performance). While the API is currently only implemented for ARM v7, it should be generic enough to allow other architectures to implement it as well. Signed-off-by: Thierry Reding <treding@nvidia.com> Conflicts: README
2014-10-11Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-10-11ARM: cache-cp15: Use more accurate typesThierry Reding
size_t is the canonical type to represent variables that contain a size. Use it instead of signed integer. Physical addresses can be larger than 32-bit, so use a more appropriate type for them as well. phys_addr_t is a type that is 32-bit on systems that use 32-bit addresses and 64-bit if the system is 64-bit or uses a form of physical address extension to use a larger address space on 32-bit systems. Using these types the same API can be implemented on a wider range of systems. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: cache_v7: Various minor cleanupsThierry Reding
Remove two gratuituous blank lines, uses u32 (instead of int) as the type for values that will be written to a register, moves the beginning of the variable declaration section to a separate line (rather than the one with the opening brace) and keeps the function signature on a single line where possible. Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
2014-10-11ARM: tegra: Enable PCIe on Jetson TK1Thierry Reding
The Jetson TK1 has an ethernet NIC connected to the PCIe bus and routes the second root port to a miniPCIe slot. Enable the PCIe controller and the network driver to allow the device to boot over the network. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Add Tegra124 PCIe device tree nodeThierry Reding
Add the device tree node for the PCIe controller found on Tegra124 SoCs. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Add GIC for Tegra124Thierry Reding
Add a device tree node for the GIC v2 found on the Cortex-A15 CPU complex of Tegra124. U-Boot doesn't use this but subsequent patches will add device tree nodes that reference it by phandle. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Enable PCIe on BeaverThierry Reding
The Beaver has an ethernet NIC connected to the PCIe bus. Enable the PCIe controller and the network device driver so that the device can boot over the network. In addition the board has a mini-PCIe expansion slot. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Enable PCIe on CardhuThierry Reding
The PCIe bus on Cardhu is routed to the dock connector. An ethernet NIC is available on the dock over the PCIe bus. Enable the PCIe controller and the network device driver so that the device can boot over the network. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Add Tegra30 PCIe device tree nodeThierry Reding
Add the device tree node for the PCIe controller found on Tegra30 SoCs. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Add GIC for Tegra30Thierry Reding
Add a device tree node for the GIC found on Tegra30. U-Boot doesn't use it directly but subsequent patches will add device tree nodes that reference it by phandle. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Enable PCIe on TrimSliceThierry Reding
The TrimSlice has an ethernet NIC connected to the PCIe bus. Enable the PCIe controller and the network driver so that the device can boot over the network. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Add Tegra20 PCIe device tree nodeThierry Reding
Add the device tree node for the PCIe controller found on Tegra20 SoCs. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Enable XUSB pad controller on Jetson TK1Thierry Reding
Add the PCIe and SATA lane configuration to the Jetson TK1 device tree, so that the XUSB pad controller can be appropriately configured. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Add XUSB pad controller on Tegra124Thierry Reding
The XUSB pad controller is used for pinmuxing of the XUSB, PCIe and SATA lanes. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Implement XUSB pad controllerThierry Reding
This controller was introduced on Tegra114 to handle XUSB pads. On Tegra124 it is also used for PCIe and SATA pin muxing and PHY control. Only the Tegra124 PCIe and SATA functionality is currently implemented, with weak symbols on Tegra114. Tegra20 and Tegra30 also provide weak symbols for these functions so that drivers can use the same API irrespective of which SoC they're being built for. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Implement powergate supportThierry Reding
Implement the powergate API that allows various power partitions to be power up and down. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Provide PCIEXCLK reset IDThierry Reding
This reset is required for PCIe and the corresponding ID therefore needs to be defined. The enumeration value for this was properly defined on some SoCs but not on others. Similarly, some contained it in the mapping of peripheral IDs to clock IDs, other didn't. This patch defines it consistently for all supported SoC generations. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Implement tegra_plle_enable()Thierry Reding
This function is required by PCIe and SATA. This patch implements it on Tegra20, Tegra30 and Tegra124. It isn't implemented for Tegra114 because it doesn't support PCIe or SATA. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11tegra: apalis_t30: master revampMarcel Ziswiler
Update Apalis T30 as per the following commits c369139234c03b1494394d12cd27009f47aa6606 tegra: dts: Add serial port details 461be2f96e4b87e5065208c6659a47dd0ad9e9f8 kconfig: remove redundant "string" type in arch and board Kconfigs f1ef2b62339526df3b921bcfefd174ce76d4c624 kconfig: move CONFIG_DEFAULT_DEVICE_TREE to kconfig Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
2014-10-11tegra: dts: colibri_t30 add serial port detailsMarcel Ziswiler
Add missing chosen stdout-path device tree node. This got missed by commit c369139234c03b1494394d12cd27009f47aa6606 tegra: dts: Add serial port details Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
2014-10-10ARM: tegra: Use mem size from MC in combination with get_ram_size()Marcel Ziswiler
On popular request this now completes the Warren's work started for TK1: aeb3fcb35956461077804720b8a252d50758d7e0 ARM: tegra: Use mem size from MC rather than ODMDATA In addition to the move of using the Tegra memory controller (MC) register rather than ODMDATA for T20, T30 and T114 as well it further uses the generic get_ram_size() function (see "common/memsize.c") <supposed to be used in each and every U-Boot port>TM. Added benefit is that it should <catch 99% of hardware related (i. e. reliably reproducible) memory errors> as well. Thoroughly tested on the various Toradex line of Tegra modules available which unfortunately does not include T114 and T124 (yet at least) plus on the Jetson TK1. Based-on-work-by: Stephen Warren <swarren@nvidia.com> Based-on-work-by: Tom Warren <twarren@nvidia.com> Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
2014-10-10powerpc: mpc5xxx: remove board support for MVBC_P and MVSMRMasahiro Yamada
These boards have been orphaned for more than 6 months. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-10-10powerpc: mpc83xx: remove board support for MERGERBOX and MVBLM7Masahiro Yamada
These boards have been orphaned for more than 6 months. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-10-10powerpc: ppc4xx: remove board support for bluestoneMasahiro Yamada
This board has been orphaned for more than 6 months. It is the last board defining CONFIG_APM821XX. The code inside #ifdef CONFIG_APM821XX should be removed too. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-10-10powerpc: ppc4xx: remove board support for CRAYL1Masahiro Yamada
This board has been orphaned for more than 6 months. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-10-10powerpc: ppc4xx: remove board support for KAREF and METROBOXMasahiro Yamada
These boards have been orphaned for more than 6 months. Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
2014-10-10ARM: keystone: clock: fix main pll ratio div definitionsKhoronzhuk, Ivan
The definitions for div ratio supposed to be in hex and were added in dec by mistake. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@ti.com>
2014-10-10ARM: OMAP5+: sata: Move scsi_scan() to the right placeRoger Quadros
scsi_scan() must be called as part of scsi_init() and not as part of sata_init(). Signed-off-by: Roger Quadros <rogerq@ti.com>
2014-10-10OMAP5+: sata/scsi: Implement scsi_init()Roger Quadros
On OMAP platforms, SATA controller provides the SCSI subsystem so implement scsi_init(). Get rid of the unnecessary sata_init() call from dra7xx-evm and omap5-uevm board files. Signed-off-by: Roger Quadros <rogerq@ti.com>
2014-10-10Merge branch 'u-boot-samsung/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-10-09arm: tegra: initial support for apalis t30Marcel Ziswiler
This patch adds board support for the Toradex Apalis T30 a computer on module which can be used on different carrier boards. For the sake of ease of use we do not distinguish between different carrier boards for now as the base module features are deemed sufficient enough for regular booting. The following functionality is working so far: - eMMC boot and environment storage - Gigabit Ethernet (once Thierry's PCIe as well as my E1000 resp. i210 fixes hit mainline) - MMC/SD cards (both 8-bit as well as 4-bit slot) - USB client/host (dual role port as client e.g. for DFU/UMS, other two ports as host) Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Tom Warren <twarren@nvidia.com> (cherry picked from commit 90a565acf3a18c61170ec0e0b2046c98cb7ecc85)
2014-10-09arm: rmobile: r8a7794: Skip initialize L2 cacheNobuhiro Iwamatsu
rmobile/lowlevel_init_ca15.S are common in r8a7790, r8a7791 and r8a7794 of rmobile SoCs. The initialize L2 cache in lowlevel_init_ca15.S only needed for Cortex-A15. The r8a7794 is Cortex-A7, not Cortex-A15. This adds Skip to initialize L2 cache when r8a7794. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
2014-10-09arm: rmobile: r8a7791: Fix initialize L2 cacheNobuhiro Iwamatsu
rmobile/lowlevel_init_ca15.S are common in r8a7790 and r8a7791 of rmobile SoC. But L2 cache of r8a7791 does not use L2CTLR[5]. This adds fix to set L2CTLR [5] only when the r8a7790. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
2014-10-09arm: rmobile: Remove unnecessary initialization for l2ctlrNobuhiro Iwamatsu
This removes duplicate initialization of l2ctlr. Signed-off-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
2014-10-08Merge remote-tracking branch 'u-boot-imx/master'Albert ARIBAUD
The single file conflict below is actually trivial. Conflicts: board/boundary/nitrogen6x/nitrogen6x.c
2014-10-08armv7: s5pc1xx: improve cache handlingRobert Baldyga
Move cache handling code to C file, and add enable_caches() and disable_caches() functions. Signed-off-by: Robert Baldyga <r.baldyga@samsung.com> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2014-10-08samsung: Enable device tree for smdkc100Simon Glass
Change this board to add a device tree. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
2014-10-08samsung: Enable device tree for s5p_goniSimon Glass
Change this board to add a device tree. This also adds a pinmux header file although it is not used as yet. Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>