summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2014-10-31fw_env.h: include autoconf.hColibri_VF_LinuxImageV2.3Beta3_20141031Colibri_T30_LinuxImageV2.3Beta3_20141031Apalis_T30_LinuxImageV2.3Beta3_20141031Max Krummenacher
Without this, when CONFIG_ENV_VARS_UBOOT_CONFIG is active we get a compile time error when doing 'make env'. In file included from tools/env/fw_env.c:117:0: include/env_default.h:110:11: error: expected ‘}’ before ‘CONFIG_SYS_ARCH’ When building U-Boot this is included indirectly by the compiler switch -include /home/trdx/git.toradex.com/u-boot-2014.10-toradex/include/linux/kconfig.h
2014-10-28net: asix: fix operation without eepromMarcel Ziswiler
This patch fixes operation of our on-board AX88772B chip without EEPROM but with a ethaddr coming from the regular U-Boot environment. This is a forward port of some remaining parts initially implemented by Antmicro.
2014-10-28arm: vf610: extract leveling parameter in a structStefan Agner
DDR leveling parameters are board specific, hence we should be able to set them differently per board. Extract the leveling parameters in a seperate struct to be able to set them per board.
2014-10-28arm: vf610: improve DDR initializationStefan Agner
With the new JEDEC standardized initialization parameter, the initialization takes longer than 200us. Use the status bit to determine whether the memory initialization was completed. Also use recommended JEDEC defaults for t_INIT.
2014-10-28colibri_vf: use PLL1 as DDR clock on VF50Stefan Agner
On VF50, we can use PLL1 as DDR clock since the CPU is clocked with 400MHz as well. This saves some power (measured around ~10mW).
2014-10-28colibri_vf: read Toradex config blockStefan Agner
Add Toradex config block support using the new common config block handling. Extend common config block handling to support reading from NAND too.
2014-10-28apalis/colibri_t30: migrate and integrate new update conceptMarcel Ziswiler
Migrate Apalis/Colibri T30 to U-Boot 2014.10 and integrate new update concept based on Apalis/Colibri iMX6 and Colibri VF50/VF61.
2014-10-23toradex: add common config block codeMarcel Ziswiler
Add common confg block hanlding. The config block is a Toradex specific data structure containing manufacturing data and static module information such as ethernet address.
2014-10-23e1000: reduce i210/i211 hackMarcel Ziswiler
Now that the FW/SW synchronisation is fixed we can reduce the hack introduced by the following commit: 02bf24ad4a7c882e25771f656b973d5458695cf0 e1000: i210/i211 hack Note that we leave one final hack for now required for unprogrammed i210 operation.
2014-10-23e1000: fix sw fw sync on igb i210/i211Marcel Ziswiler
I finally had a look at the datasheet and spotted an additional register address difference between regular E1000 and i210/i211 chips. This patch fixes this and now successfully works on programmed i210/i211 as well as unprogrammed i211. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
2014-10-23net/e1000: Fix EEPROM access errorYork Sun
Commit 951860634fdb557bbb58e0f99215391bc0c29779 may have changed the logic unintentially from "if (!(swfw_sync & (fwmask | swmask)))" to "if ((swfw_sync & swmask) && !(swfw_sync & fwmask))". This change breaks some e1000 NIC with a message "ERROR: Unable to read EEPROM!". Signed-off-by: York Sun <yorksun@freescale.com> CC: Marek Vasut <marex@denx.de> CC: Tim Harvey <tharvey@gateworks.com>
2014-10-23Revert "dm: tegra: Enable driver model for serial"Marcel Ziswiler
Migrating our BSPs towards mainline U-Boot I noticed it suddenly booting slower. With mainline Linux I noticed about a 1 to 2 second increase while booting downstream L4T takes 10 to 15 seconds longer! This reverts commit 858530a8c0a7ce7e573e513934804a00d6676813. Conflicts: drivers/serial/Makefile
2014-10-23colibri_vf: synchronize environment with i.MX6 U-BootStefan Agner
Synchronize environment with i.MX6 U-boot. Load device tree unconditionally, but set parameter to device tree file only when loading succeeded. Also load the device tree when using SD or NFS boot.
2014-10-23colibri_vf: fix environment for NFS/SD-BootStefan Agner
Switch to zImage for SD and NFS-Boot. Explicitly define the load address in all commands.
2014-10-23colibri_vf: extend environmentStefan Agner
Newer UBI implementation do not allow small UBI partitions since the amount of bad blocks is now calculated by the size of the MTD partition (instead volume size). On small partitions, this leads to UBI partitions only consisting of reserved blocks. Therefor we now use only one volume, which also allows better wear leveling and bad block management. Since it is needed to attach the whole UBI partition, mounting the UBI filesystem would be a good option. Measurement showed that the overhead reading from UBI filesystem compared to read from a UBI volume is minimal (below 100ms). Furthermore, this also adds support to load device trees for newer, device tree based kernels. By setting the variable fdt_board, the scripts read the FDT file and try to pass this to the kernel. The FDT file will be concatinated: ${soc}-colibri-{fdt_board}.dtb E.g. when fdt_board is set to "eval-v3", the scripts will load the device tree file "vf610-colibri-eval-v3.dtb" on a Colibri VF61.
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-16tools: make imxheader size align on page sizeStefan Agner
The i.MX V2 headers total size is 0x7fc. The header is placed in front of the U-Boot binary which of course is aligned to text base. Hence the header starting point is not page aligned (e.g. at 0x3f400404). This is still a valid header, which boots fine using serial loader. However, the image fails to boot from NAND (tested on a VF61x SoC). Most parts of the header have a length of a multiply of 16 bytes.The rest of the header is filled with 8 bytes long DCD data. Only the boot data header is 3 word long (12 bytes). This patch makes sure the whole image is exactly 0x800 by adding one padding word after the boot data header. Since the individual data structures are referenced by pointers, this still results in a valid i.MX V2 header while maintaining page alignment.
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-14Prepare v2014.10v2014.10Tom Rini
Signed-off-by: Tom Rini <trini@ti.com>
2014-10-13sunxi: axp152: dcdc3 scale is 50mV / step not 25mV / stepHans de Goede
Currently uboot wrongly uses 25mV / step for dcdc3, this is a copy and paste error introduced when adding the axp152_mvolt_to_target during review of the axp152.c driver. This results in u-boot setting Vddr to 2.3V instead of 1.5V. This commit fixes this. Signed-off-by: Hans de Goede <hdegoede@redhat.com>
2014-10-13Makefile: drop "tools-only" from no-dot-config-targetsTom Rini
With the introduction of CONFIG_LOCALVERSION support we cannot build tools without having a config file (as we won't know our PLAIN_VERSION until then). Reported-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Tom Rini <trini@ti.com>
2014-10-10Merge branch 'master' of git://git.denx.de/u-boot-armTom Rini
2014-10-11tegra: apalis_t30: enable gigabit ethernet over pcie supportMarcel Ziswiler
Now with everything in place actually enable i210/i211 aka gigabit Ethernet over PCIe support.
2014-10-11e1000: i210/i211 hackMarcel Ziswiler
Hack driver to avoid the following error for now e1000: e1000#0: ERROR: Hardware Initialization Failed
2014-10-11e1000: add i211 and unprogrammed i210/i211 supportMarcel Ziswiler
This patch adds support for i211 as well as unprogrammed aka tools only i210/i211 chip support. Signed-off-by: Marcel Ziswiler <marcel@ziswiler.com>
2014-10-11net: rtl8169: Add support for RTL-8168/8111gThierry Reding
This network interface card in found on the NVIDIA Jetson TK1. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11net: rtl8169: Use non-cached memory if availableThierry Reding
To work around potential issues with explicit cache maintenance of the RX and TX descriptor rings, allocate them from a pool of uncached memory if the architecture supports it. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11net: rtl8169: Properly align buffersThierry Reding
RX and TX descriptor rings should be aligned to 256 byte boundaries. Use the DEFINE_ALIGN_BUFFER() macro to define the buffers so that they don't have to be manually aligned later on. Also make sure that the buffers do align to cache-line boundaries in case the cache-line is higher than the 256 byte alignment requirements of the NIC. Also add a warning if the cache-line size is larger than the descriptor size, because the driver may discard changes to descriptors made by the hardware when requeuing RX buffers. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11net: rtl8169: Honor CONFIG_SYS_RX_ETH_BUFFERThierry Reding
According to the top-level README file, this configuration setting can be used to override the number of receive buffers that an ethernet NIC uses. Signed-off-by: Thierry Reding <treding@nvidia.com>
2014-10-11ARM: tegra: Enable non-cached memoryThierry Reding
Some boards, most notably those with a PCIe ethernet NIC, require this to avoid cache coherency problems. Since the option adds very little code and overhead enable it across all Tegra generations. Other drivers may also start supporting this functionality at some point, so enabling it now will automatically reap the benefits later on. Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Thierry Reding <treding@nvidia.com> Conflicts: include/configs/tegra-common.h
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-socfpga/topic/arm/socfpga-20141010' into ↵Albert ARIBAUD
'u-boot-arm/master'
2014-10-11Merge branch 'u-boot/master' into 'u-boot-arm/master'Albert ARIBAUD
2014-10-11malloc: Output region when debuggingThierry Reding
When DEBUG is set, output memory region used for malloc(). Signed-off-by: Thierry Reding <treding@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
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>