summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-04-18efi_loader: Handle memory overflowsAndreas Färber
jetson-tk1 has 2 GB of RAM at 0x80000000, causing gd->ram_top to be zero. Handle this by either avoiding ram_top or by using the same type as ram_top to reverse the overflow effect. Cc: Alexander Graf <agraf@suse.de> Signed-off-by: Andreas Färber <afaerber@suse.de> Reviewed-by: Alexander Graf <agraf@suse.de>
2016-04-18ARM: AM43xx: Fix BOOT_DEVICE_USB IDLokesh Vutla
commit 62c5674ea136a ("omap: SPL boot devices cleanup and completion") cleans up the boot device ids for amx3xx soc. But mistakenly updates wrong device IDs for AM43xx USB. Fixing the same here. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18configs: ks2: move CMD_NAND to defconfigsLokesh Vutla
NAND is not yet enabled on all Keystone2 platforms. So enabled CMD_NAND in the respective defconfigs only if available. Reported-by: Nishanth Menon <nm@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18memory: Move TI_AEMIF config to KCONFIGLokesh Vutla
Not all Keystone2 devices has AEMIF NAND controller. So adding Kconfig entry for CONFIG_TI_AEMIF and enabling it in respective defconfigs on platforms with AEMIF controller. Reported-by: Nishanth Menon <nm@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18drivers/power/pmic/pm8916.c: Make usid be uint32_tTom Rini
If get_dev_addr fails it will return FDT_ADDR_T_NONE and: >>> "priv->usid == 4294967295U" is always false regardless of the values of its operands. This occurs as the logical operand of if. Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Reported-by: Coverity (CID: 143914) Signed-off-by: Tom Rini <trini@konsulko.com>
2016-04-18drivers/gpio/pm8916_gpio.c: Make pid be uint32_tTom Rini
If get_dev_addr fails it will return FDT_ADDR_T_NONE and: >>> "priv->pid == 4294967295U" is always false regardless of the values of its operands. This occurs as the logical operand of if. Cc: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Reported-by: Coverity (CID: 143913) Signed-off-by: Tom Rini <trini@konsulko.com>
2016-04-18m68k: fix broken buildman m68kangelo@sysam.it
fix 19/48 broken board compilations, due to a now too smal 16-bit relative jump Signed-off-by: Angelo Dureghello <angelo@sysam.it> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Heiko Schocher <hs@denx.de>
2016-04-18gunzip.c: use block layer for writesEric Nelson
Call blk_dwrite to ensure that the block cache is notified if enabled and remove build breakage when CONFIG_BLK is enabled. Signed-off-by: Eric Nelson <eric@nelint.com> Reviewed-by: Stephen Warren <swarren@nvidia.com>
2016-04-18efi_loader: Expose ascending efi memory mapAlexander Graf
The EFI memory map does not need to be in a strict order, but 32bit grub2 does expect it to be ascending. If it's not, it may try to allocate memory inside the U-Boot data memory region. We already sort the memory map in descending order, so let's just reverse it when we pass it to a payload. Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Andreas Färber <afaerber@suse.de>
2016-04-18efi_loader: Put fdt into convenient locationAlexander Graf
The uEFI spec doesn't dictate where the device tree should live at, but legacy 32bit ARM grub2 has some assumptions that it may stay at its place when it's already loaded by the firmware. So let's put it somewhere where Linux that comes after would happily find it - around the recommended 128MB line. Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Andreas Färber <afaerber@suse.de>
2016-04-18efi_loader: Always flush in cache line size granularityAlexander Graf
The cache line flush helpers only work properly when they get aligned start and end addresses. Round our flush range to cache line size. It's safe because we're guaranteed to flush within a single page which has the same cache attributes. Reported-by: Marek Vasut <marex@denx.de> Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: Andreas Färber <afaerber@suse.de> Tested-by: Andreas Färber <afaerber@suse.de>
2016-04-18dragonboard410c: Add CONFIG_SYS_CACHELINE_SIZEMateusz Kulikowski
Add missing define to board header file. Signed-off-by: Mateusz Kulikowski <mateusz.kulikowski@gmail.com> Acked-by: Marek Vasut <marex@denx.de> Reviewed-by: Andreas Färber <afaerber@suse.de>
2016-04-18efi_loader: Use system fdt as fallbackAlexander Graf
When the user did not pass any device tree or the boot script didn't find any, let's use the system device tree as last resort to get something the payload (Linux) may understand. This means that on systems that use the same device tree for U-Boot and Linux we can just share it and there's no need to manually provide a device tree in the target image. While at it, also copy and pad the device tree by 64kb to give us space for modifications. Signed-off-by: Alexander Graf <agraf@suse.de> Tested-by: Andreas Färber <afaerber@suse.de>
2016-04-18distro: Enable iso partition codeAlexander Graf
Now that we can properly boot EFI payloads from iso el torito images, let's enable support for isos by default in the distro header. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18efi_loader: Increase path string to 32 charactersAlexander Graf
Whenever we want to tell our payload about a path, we limit ourselves to a reasonable amount of characters. So far we only passed in device names - exceeding 16 chars was unlikely there. However by now we also pass real file path information, so let's increase the limit to 32 characters. That way common paths like "boot/efi/bootaa64.efi" fit just fine. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18efi_loader: Pass file path to payloadAlexander Graf
The payload gets information on where it got loaded from. This includes the device as well as file path. So far we've treated both as the same thing and always gave it the device name. However, in some situations grub2 actually wants to find its loading path to find its configuration file. So let's split the two semantically separte bits into separate structs and pass the loaded file name into our payload when we load it using "load". Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18efi_loader: Add el torito supportAlexander Graf
When loading an el torito image, uEFI exposes said image as a raw block device to the payload. Let's do the same by creating new block devices with added offsets for the respective el torito partitions. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18efi_loader: Split drive add into functionAlexander Graf
The snippet of code to add a drive to our drive list needs to get called from 2 places in the future. Split it into a separate function. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18iso: Allow 512 byte sector sizeAlexander Graf
Real CD-ROMs are pretty obsolete these days. Usually people still keep iso files around, but just put them on USB sticks or SD cards and expect them to "just work". To support this use case with El Torito images, add support for 512 byte sector size to the iso parsing code. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18iso: Start with partition 1Alexander Graf
The generic partition code treats partition 0 as "whole disk". So we should start with partition 1 as the first partition in the iso partition table. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18iso: Make little endian and 64bit safeAlexander Graf
The iso partition table implementation has a few endian and 64bit problems. Clean it up a bit to become endian and bitness safe. Signed-off-by: Alexander Graf <agraf@suse.de>
2016-04-18board: ti: am57xx: Add support for am572x idk in SPLSteve Kipisz
The AM572x-IDK board (Industrial Dev Kit) is a board based on TI's AM5728x SOC which has a dual core 1.5GHz A15 processor. This board is a development platform for the Industrial market with: - 2GB of DDR3L - Dual 1Gbps Ethernet - HDMI, - PRU-ICSS - uSD - 16GB eMMC - CAN - RS-485 - PCIe - USB3.0 - Video Input Port - Industrial IO port and expansion connector The link to the data sheet and TRM can be found here: http://www.ti.com/product/AM5728 NOTE: DT support is still pending upstream kernel acceptance but we should be able to get the base system support with this patch. Signed-off-by: Schuyler Patton <spatton@ti.com> Signed-off-by: Steve Kipisz <s-kipisz2@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18board: ti: am57xx: Update EMIF SDRAM 1 and 3 TimingsSchuyler Patton
Update EMIF data based on recommendations from the now standard TI EMIF tool version 1.1.1 based on 256MBx16 DDR3L Kingston D2516EC4BXGGB data sheet Update T_RRD from 5 to 6 based on AM57xx TRM - Minimum number of DDR cycles from activate to ativate for a different bank, minus 1. Update T_CKESR from 4 to 3 based on AM57xx TRM - Minimum number of DDR clocks cycles for which SDRAM must remain in self refresh, minus 1. Signed-off-by: Schuyler Patton <spatton@ti.com> Signed-off-by: Nishanth Menon <nm@ti.com> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18am57x: Move CONS_INDEX to KconfigDaniel Allred
- Move the CONS_INDEX selection out of CONFIG_SYS_EXTRA_OPTIONS and into Kconfig proper. - Edit the relevant am57x configs to remove the now unneeded CONFIG_SYS_EXTRA_OPTIONS. Signed-off-by: Daniel Allred <d-allred@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18cmd: fdt: Use separate CMD_FDT Kconfig entry instead of OF_LIBFDTMichal Simek
Create CMD_FDT Kconfig entry to have an option to disable fdt command which is not required for small configuration which requires libfdt only. Enable it by default for all targets which enables OF_LIBFDT. Signed-off-by: Michal Simek <michal.simek@xilinx.com> [trini: Fixup flea3/sandbox/id8313/siemens-am33xx/smartweb] Signed-off-by: Tom Rini <trini@konsulko.com>
2016-04-18kconfig: Move CONFIG_OF_LIBFDT to KconfigMichal Simek
This patch follows work done by: "Move CONFIG_OF_LIBFDT to Kconfig" (sha1: 69e173eb57d1f4848f070c83456096ba5d2ba1b4) Signed-off-by: Michal Simek <michal.simek@xilinx.com> [trini: Add xpress* to the patch] Signed-off-by: Tom Rini <trini@konsulko.com>
2016-04-18bcm281xx: save ENV to MMCSteve Rae
Enable saving ENV to MMC for the bcm281xx boards. Signed-off-by: Steve Rae <srae@broadcom.com>
2016-04-18bcm281xx: enable CONFIG_OF_LIBFDTSteve Rae
set the Kconfig parameter: CONFIG_OF_LIBFDT Signed-off-by: Steve Rae <srae@broadcom.com>
2016-04-18configs: dra74_evm: enable mmc driver modelMugunthan V N
enable mmc driver model for dra74 evm as omap_hsmmc supports driver model Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18configs: dra72_evm: enable mmc driver modelMugunthan V N
enable mmc driver model for dra72 evm as omap_hsmmc supports driver model Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18ARM: dts: dra7xx: am57xx: fix cd-gpios definition as per hardware design and ↵Mugunthan V N
dt binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In DRA72x and AM57xx EVMs the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Also adding card-detect gpio for DRA74x EVM. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18ARM: dts: am43xx: fix cd-gpios definition as per hardware design and dt ↵Mugunthan V N
binding docs As per mmc device tree binding documentation card detect gpio has to be active low signal. When a hardware is designed with active high card detect, gpio polarity has to be changed with cd-inverted dt property. In AM43xx the card detect gpio is designed as active low gpio. So correcting the dt card detect gpio definition. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18drivers: mmc: omap_hsmmc: request cd and wp gpios when DM_MMC is definedMugunthan V N
Add request gpio for CD and WP gpios, so that the gpio can be used for the respective purposes. Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18drivers: mmc: omap_hsmmc: Fix conversion of address to a pointerMugunthan V N
omap_hsmmc driver directly typecasts fdt_addr_t to a pointer. This is not strictly correct, as it gives a build warning when fdt_addr_t is u64. So, use map_physmem for a proper typecasts. This is inspired by commit 167efe01bc5a9 ("dm: ns16550: Use an address instead of a pointer for the uart base") drivers/mmc/omap_hsmmc.c: In function ‘omap_hsmmc_ofdata_to_platdata’: drivers/mmc/omap_hsmmc.c:776:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast] priv->base_addr = (struct hsmmc *)dev_get_addr(dev); ^ Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-18common: env: support sata devicePeng Fan
Introduce env support for sata device. 1. Implement write_env/read_env/env_relocate_spec/saveenv/sata_get_env_dev 2. If want to enable this feature, define CONFIG_ENV_IS_IN_SATA, and define CONFIG_SYS_SATA_ENV_DEV or implement your own sata_get_ev_dev. Signed-off-by: Peng Fan <van.freenix@gmail.com> Cc: Simon Glass <sjg@chromium.org> Cc: Joe Hershberger <joe.hershberger@ni.com> Cc: Bin Meng <bmeng.cn@gmail.com> Cc: Stefan Roese <sr@denx.de> Cc: Heiko Schocher <hs@denx.de> Cc: Stuart Longland <stuartl@vrt.com.au> Cc: Maxime Ripard <maxime.ripard@free-electrons.com> Cc: Tom Rini <trini@konsulko.com> Reviewed-by: Tom Rini <trini@konsulko.com>
2016-04-16ARM: rpi: fix 64-bit CONFIG_SYS_TEXT_BASEStephen Warren
The Pi firmware has changed the default "kernel" load address for 64-bit mode. The authors have confirmed that this is a deliberate and long-term change. Adapt U-Boot to the new value. Signed-off-by: Stephen Warren <swarren@wwwdotorg.org>
2016-04-15drivers/tpm/tpm_tis_sandbox.c: Fix uninitialized variable useTom Rini
In rollback_space_kernel we were not initializing the reserved fields which should be for safety sake, and doing memset here means we don't need to set the version field specifically either. Reported-by: Coverity (CID: 143917) Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com>
2016-04-15fdt: implement dev_get_addr_name()Stephen Warren
This function parses the reg property based on an index found in the reg-names property. This is required for bindings that are written using reg-names rather than hard-coding indices in reg. Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Simon Glass <sjg@chromium.org>
2016-04-15sandbox: Enable many more commandsTom Rini
- Set CONFIG_SYS_CACHELINE_SIZE to ARCH_DMA_MINALIGN as that should be good enough. - Make <asm/io.h> include <asm/types.h> like other arches do - Enable many many more drivers in sandbox_defconfig so that we can get more build-time testing on this platform. Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2016-04-14test/dm/core.c: Make pre-reloc test use pre-reloc structTom Rini
LLVM 3.5 noted: test/dm/core.c:41:35: warning: unused variable 'test_pdata_pre_reloc' [-Wunused-const-variable] static const struct dm_test_pdata test_pdata_pre_reloc = { And the correct fix here is that the driver_info_pre_reloc test should use the test_pdata_pre_reloc not test_pdata_manual variable Cc: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
2016-04-14board: README.sandbox: Update dm test commandJagan Teki
Update dm test command with pytest instead of ./test/dm/test-dm.sh Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Jagan Teki <jteki@openedev.com>
2016-04-14doc: driver-model: Update dm tests run using test.pyJagan Teki
Since all the tests are implemented in pytest infrastructure, So update the dm tests with the same instead of ./test/dm/test-dm.sh Cc: Tom Rini <trini@konsulko.com> Cc: Simon Glass <sjg@chromium.org> Acked-by: Stephen Warren <swarren@nvidia.com> Signed-off-by: Jagan Teki <jteki@openedev.com>
2016-04-14dm: device.c: Minor coding-style fixStefan Roese
Fix multi-line comment indentation in device_bind() Signed-off-by: Stefan Roese <sr@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
2016-04-14dm: part: fix missing driver name in debug printNishanth Menon
Fixes the following warning with PART_DEBUG enabled: disk/part.c: In function ‘get_partition_info’: disk/part.c:372:3: warning: format ‘%s’ expects a matching ‘char *’ argument [-Wformat] Signed-off-by: Nishanth Menon <nm@ti.com>
2016-04-14dm: core: device: set pinctrl state for pinctrl devicePeng Fan
We may have pinmux settings for pinctrl device, like the following example: " &iomuxc { pinctrl-names = "default"; pinctrl-0 = <&pinctrl_hog_1>; imx6ul-evk { pinctrl_hog_1: hoggrp-1 { fsl,pins = < MX6UL_PAD_UART1_RTS_B__GPIO1_IO19 0x17059 /* SD1 CD */ MX6UL_PAD_GPIO1_IO05__USDHC1_VSELECT 0x17059 /* SD1 VSELECT */ MX6UL_PAD_GPIO1_IO09__GPIO1_IO09 0x17059 /* SD1 RESET */ MX6UL_PAD_SNVS_TAMPER0__GPIO5_IO00 0x80000000 >; }; [......] }; " We should not only select pinctrl state for non pinctrl devices, we need also to handle pin mux settings such as pinctrl_log for pinctrl devices. So at the end of probing process of pinctrl device, select the default state of pinctrl device. Signed-off-by: Peng Fan <van.freenix@gmail.com> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2016-04-13xpress: Update <usb/ehci-fsl.h> includeTom Rini
This has been renamed to <usb/ehci-ci.h> some time ago but was missed here. Signed-off-by: Tom Rini <trini@konsulko.com>
2016-04-13Merge branch 'master' of git://www.denx.de/git/u-boot-microblazeTom Rini
2016-04-13ARM64: zynqmp: Use i2c cadence DM driverMichal Simek
Use i2c cadence DM driver for all zynqmp targets except ZCU102 because I2C muxes and PCA953x are not supported in the tree yet. Signed-off-by: Michal Simek <michal.simek@xilinx.com> Reviewed-by: Heiko Schocher <hs@denx.de>
2016-04-13dm: i2c: Add driver for Cadence I2C IPMoritz Fischer
This is a possible drop in replacement for drivers/i2c/zynq-i2c.c Since this is cadence IP it has been renamed to cdns-i2c, to make sense with the compatible string. Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Reviewed-by: Heiko Schocher <hs@denx.de> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2016-04-13i2c: Describe Cadence I2C devicetree bindingsMoritz Fischer
Signed-off-by: Moritz Fischer <moritz.fischer@ettus.com> Reviewed-by: Heiko Schocher <hs@denx.de> Signed-off-by: Michal Simek <michal.simek@xilinx.com>