14 Aug, 2015

22 commits

  • This part of mentioned commit, was missed by my mistake during the rebase.
    Signed-off-by: Przemyslaw Marczak

    Original commit message:
    power: pmic: pfuze100 support driver model

    1. Support driver model for pfuze100.
    2. Introduce a new Kconfig entry DM_PMIC_PFUZE100 for pfuze100
    3. This driver intends to support PF100, PF200 and PF3000, so add
    the device id into the udevice_id array.
    4. Rename PMIC_NUM_OF_REGS macro to PFUZE100_NUM_OF_REGS.

    Change-Id: I4fc88414f3c0285f9648e47ec7aed60addeccc4d
    Signed-off-by: Peng Fan
    Cc: Przemyslaw Marczak
    Cc: Simon Glass
    Reviewed-by: Simon Glass

    Peng Fan
     
  • Represent all available RAM in either one or two banks. The first bank
    describes any RAM below 4GB. The second bank describes any RAM above 4GB.

    This split is driven by the following requirements:
    - The NVIDIA L4T kernel requires separate entries in the DT /memory/reg
    property for memory below and above the 4GB boundary. The layout of that
    DT property is directly driven by the entries in the U-Boot bank array.
    - On systems with RAM beyond a physical address of 4GB, the potential
    existence of a carve-out at the end of RAM below 4GB can only be
    represented using multiple banks, since usable RAM is not contiguous.

    While making this change, add a lot more comments re: how and why RAM is
    represented in banks, and implement a few more "semantic" functions that
    define (and perhaps later detect at run-time) the size of any carve-out.

    Signed-off-by: Stephen Warren
    Reviewed-by: Simon Glass
    Signed-off-by: Tom Warren

    Stephen Warren
     
  • The return value of query_sdram_size() is assigned directly to
    gd->ram_size in dram_init(). Adjust the return type to match the field
    it's assigned to. This has the beneficial effect that on 64-bit systems,
    the return value can correctly represent large RAM sizes over 4GB.

    For similar reasons, change the type of variable size_bytes in the same
    way.

    query_sdram_size() would previously clip the detected RAM size to at most
    just under 4GB in all cases, since on 32-bit systems, larger values could
    not be represented. Disable this feature on 64-bit systems since the
    representation restriction does not exist.

    On 64-bit systems, never call get_ram_size() to validate the detected/
    calculated RAM size. On any system with a secure OS/... carve-out, RAM
    may not have a single contiguous usable area, and this can confuse
    get_ram_size(). Ideally, we'd make this call conditional upon some other
    flag that indicates specifically that a carve-out is actually in use. At
    present, building for a 64-bit system is the best indication we have of
    this fact. In fact, the call to get_ram_size() is not useful by the time
    U-Boot runs on any system, since U-Boot (and potentially much other early
    boot software) always runs from RAM on Tegra, so any mistakes in memory
    controller register programming will already have manifested themselves
    and prevented U-Boot from running to this point. In the future, we may
    simply delete the call to get_ram_size() in all cases.

    Signed-off-by: Stephen Warren
    Signed-off-by: Tom Warren

    Stephen Warren
     
  • The new value is the most likely value where the kernel wants to end up
    at run-time. Selecting this value as the load address likely avoids the
    need to copy the kernel image from the actual load address to the desired
    load address. Note that this isn't guaranteed since the kernel may wish
    to run at an arbitrary location. In that case, U-Boot will still relocate
    the image according to its wishes; this change is a performance
    optimization, not a hard-coding of the final image location.

    Signed-off-by: Stephen Warren
    Reviewed-by: Simon Glass
    Signed-off-by: Tom Warren

    Stephen Warren
     
  • The logic for simple PLLs on T124 was broken by this commit:

    722e000c Tegra: PLL: use per-SoC pllinfo table instead of PLL_DIVM/N/P, etc.

    Correct it by reading from the same pll_misc register that it writes to and
    adding an entry for the DP PLL in the pllinfo table.

    Signed-off-by: Simon Glass
    Signed-off-by: Tom Warren

    Simon Glass
     
  • This header file uses type definitions (u8, u32) from linux/types.h but
    doesn't include it. If includes aren't carefully ordered this can cause
    build failures.

    Cc: Tom Warren
    Signed-off-by: Thierry Reding
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Thierry Reding
     
  • Disable subpage writes as we do not provide ecc->hwctl.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Scott Wood
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Unfortunately currently both Apalis T30 as well as Colibri T30 crash
    upon starting USB host support. This is due to the following patch not
    having taken into account that our T30 device trees were defaulting to
    peripheral only mode instead of otg:

    commit ddb9a502d18008e845d5a8fa03ec48630fa77fb7
    dm: usb: tegra: Move most of init/uninit into a function

    This patch fixes this by defaulting to otg now.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Make sure SODIMM pin 87 nRESET_OUT is released properly by explicitly
    setting its pin mux function to GMI. This solves some issues with e.g.
    USB not being fully operational on carrier boards with USB hubs
    connected to reset if U-Boot got loaded via recovery mode aka rcm.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Various clean-ups either in comments, order or spacing without any
    functional impact:
    - Add some comments in the device trees resp. reorder some parameters
    for consistency across all our modules.
    - Sort some include files alphabetically (while leaving common.h on
    top of course).
    - Streamline some comments in the configuration files and fix the
    spacing from using spaces to tabs.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Enable CONFIG_IP_DEFRAG and set CONFIG_TFTP_BLOCKSIZE to 16384.
    This increases the tftp download speed considerably.

    While at it enable CONFIG_TFTP_TSIZE which limits the progress bar to
    fifty '#' independent of the downloaded file size.

    Signed-off-by: Max Krummenacher
    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Signed-off-by: Tom Warren

    Max Krummenacher
     
  • Now as all is in place actually enable UBI/UBIFS support to be able to
    boot the Linux kernel and root file system from NAND.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Enable mtdparts aka dynamic MTD partition support.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Integrate cache alignment bounce buffer to workaround issues as follows:

    Loading file '/boot/zImage' to addr 0x01000000 with size 4499152 (0x0044a6d0)...
    ERROR: v7_dcache_inval_range - start address is not aligned - 0x1f7f0108
    ERROR: v7_dcache_inval_range - stop address is not aligned - 0x1f7f1108
    Done
    Kernel image @ 0x1000000 [ 0x000000 - 0x44a6d0 ]

    Starting kernel ...

    undefined instruction
    pc : [] lr : []
    sp : 0144b6e8 ip : 01000188 fp : 0144a6c8
    r10: 00000000 r9 : 411fc090 r8 : 00000100
    r7 : 00000cfb r6 : 0144a6d0 r5 : 00000000 r4 : 00008000
    r3 : 0000000c r2 : 00000100 r1 : 00000cfb r0 : 00000000
    Flags: nZCv IRQs off FIQs off Mode SVC_32
    Resetting CPU ...

    Signed-off-by: Marcel Ziswiler
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Fix PIO read_byte() implementation not only used for the legacy READ ID
    but also the PARAM command required for proper ONFI detection.

    This fix is inspired by Lucas Stach's Linux Tegra NAND driver of late
    (not mainline yet but getting there soon I hope).

    I vaguely remember that those commands are special on 16-bit bus NAND
    (e.g. always return 8-bit data regardless) and later Linux MTD fixed/
    changed the way this is handled which in turn broke once U-Boot pulled
    that in. Basically instead of doing PIO read regular DMA block read is
    now used which this patch actually fixes.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Scott Wood
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • The Colibri T20's PMIC enters a sleep mode on low supply voltage < 3.0V
    ±2.5% (2.92...3.08V). Rising the main supply voltage again does not
    bring it back to regular operation. Not even a full reset does bring
    the module back. A full power cycle was required to reboot the system.
    A long positive pulse on the PMICs resume pin also reboots the system
    but this pin is only accessible as a test point on the module.

    This patch configures the PMIC through I2C to not enter this sleep mode
    plus force it to normal state upon sleep request exit should this ever
    happen.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Add I2C support in order to subsequently allow disabling the PMIC sleep
    mode on low supply voltage.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Add LCD display support defaulting to VESA VGA resolution. Different
    resolutions configurable via device tree.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Use toradex,colibri_t20 as the device-tree compatible node value rather
    than toradex,t20 in accordance to our Apalis/Colibri T30 products.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Allow detecting whether or not U-Boot was launched through the
    recovery mode of the resp. NVIDIA SoC.

    Make use of a board specific arch_misc_init() and enable the same via
    CONFIG_ARCH_MISC_INIT configuration option.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Add defines to allow reading recovery mode (RCM) boot type from the boot
    information table (BIT) written by the boot ROM (BR) to the IRAM.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     
  • Allow for optional custom USB gadget manufacturer/product/vendor
    IDs/strings to be specified.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass
    Acked-by: Stephen Warren
    Signed-off-by: Tom Warren

    Marcel Ziswiler
     

13 Aug, 2015

18 commits

  • Tom Rini
     
  • Add support to specify the Ethernet buffer base address;
    if none are supply by the board, the default value is use (from existing code).

    Signed-off-by: Sylvain Lemieux
    Acked-by: Joe Hershberger

    Sylvain Lemieux
     
  • Tom Rini
     
  • Use the boot loader splash screen from WinCE which matches our
    wallpapers position wise. Although the logo is an 8-bit indexed BMP as
    well colours looked odd at first in U-Boot. After converting to full
    RGB palette and converting back to an indexed BMP using imagemagick
    the Logo showed up properly.

    $ convert tools/logos/toradex-rgb.bmp -type Palette -colors 256 \
    -compress none -verbose BMP3:tools/logos/toradex.bmp

    Signed-off-by: Stefan Agner
    Signed-off-by: Marcel Ziswiler

    Stefan Agner
     
  • This fixes the following warning (and the runtime error reporting):
    ../common/image-fdt.c:491:4: warning: 'fdt_ret' may be used
    uninitialized in this function [-Wmaybe-uninitialized]

    Signed-off-by: Max Krummenacher
    Signed-off-by: Marcel Ziswiler
    Acked-by: Marek Vasut
    Acked-by: Simon Glass

    Max Krummenacher
     
  • Remove spurious new line in configuration file.

    Signed-off-by: Marcel Ziswiler
    Tested-by: Marek Vasut
    Acked-by: Marek Vasut

    Marcel Ziswiler
     
  • Allow showing custom board info from a checkboard() function being
    implemented if CONFIG_CUSTOM_BOARDINFO is specified. Previously the
    device tree model was always displayed not taking any
    CONFIG_CUSTOM_BOARDINFO into account.

    Signed-off-by: Marcel Ziswiler
    Reviewed-by: Simon Glass

    Marcel Ziswiler
     
  • http://lists.denx.de/pipermail/u-boot/2012-September/134347.html
    allows for reading files in chunks from the shell.

    When this feature is used to read past the end of a file an error
    was returned instead of returning the bytes read up to the end of
    file. Thus the following fails in the shell:

    offset = 0
    len = chunksize
    do
    read file, offset, len
    write data
    until bytes_read < len

    The patch changes the behaviour to printing an informational
    message and returning the actual read number of bytes aka read(2)
    behaviour for convenient use in U-Boot scripts.

    Signed-off-by: Max Krummenacher
    Signed-off-by: Marcel Ziswiler
    Acked-by: Marek Vasut
    Signed-off-by: Stefan Agner
    Signed-off-by: Marcel Ziswiler

    Max Krummenacher
     
  • 9MB reserved for initrd is not enough for default ramfs used for keystone
    devices, which is ~33MB. This patch increases the size up to 80MB.

    Signed-off-by: Vitaly Andrianov

    Vitaly Andrianov
     
  • This patch set the correct initrd address to much rdaddr, which used at
    get_fs_ramfs commad.

    Fixes: 3e97f0b63c8e ("configs: ti_armv7_keystone2: switch addresses
    to generic addresses")

    Signed-off-by: Vitaly Andrianov

    Vitaly Andrianov
     
  • The following commit changed the order of the column vs. row parameter
    to the lcd_init_console() function but missed actually changing it as
    well the second time it is called from lcd_clear() which resulted in a
    garbled text console which this patch fixes.

    commit 604c7d4a5a3cf70949f6e6094bf0d52ee3b4804d
    common/lcd_console: introduce display/framebuffer rotation

    Tested on Colibri T20 with my latest assortment of tegra
    fixes/enhancements patch set.

    Signed-off-by: Marcel Ziswiler
    Acked-by: Simon Glass

    Marcel Ziswiler
     
  • Add option to set shell prompt string from menuconfig and migrate
    boards globally.

    The migration is done as follows:
    - Boards that explicitly and unconditionally set CONFIG_SYS_PROMPT had the
    entry moved to their defconfig files.
    - Boards that defined some kind of #ifdef logic which selects the
    CONFIG_SYS_PROMPT (for example qemu-mips) got an #undef CONFIG_SYS_PROMPT
    right before the #ifdef logic and were left alone.
    - This change forces CONFIG_SYS_PROMPT to be a per board decision, and thus
    CONFIG_SYS_PROMPT was removed from all _common.h and _common.h
    files. This results in a streamlined default value across platforms, and
    includes the following files: spear-common, sunxi-common, mv-common,
    ti_armv7_common, tegra-common, at91-sama5_common, and zynq-common.
    - Boards that relied on _common.h values of CONFIG_SYS_PROMPT were
    not updated in their respective defconfig files under the assumption that
    since they did not explicitly define a value, they're fine with whatever
    the default is.
    - On the other hand, boards that relied on a value defined in some
    _common.h file such as woodburn_common, rpi-common,
    bur_am335x_common, ls2085a_common, siemens_am33x_common, and
    omap3_evm_common, had their values moved to the respective defconfig files.
    - The define V_PROMPT was removed, since it is not used anywhere except for
    assigning a value for CONFIG_SYS_PROMPT.

    Cc: Tom Rini
    Cc: Masahiro Yamada
    Cc: Stefano Babic
    Cc: Igor Grinberg
    Signed-off-by: Nikita Kiryanov
    [trini: Add spring, sniper, smartweb to conversion]
    Signed-off-by: Tom Rini

    Nikita Kiryanov
     
  • Currently implement always swap for big-endian value.
    So doesn't work big-endian environment.

    Signed-off-by: Yoshinori Sato

    Yoshinori Sato
     
  • We can calculate this. Add code to do this if it is not provided.

    panto: prefix changed to dw_mmc to make things easier to grep

    Signed-off-by: Simon Glass
    Acked-by: Jaehoon Chung

    Simon Glass
     
  • Since commit a26cd04920dc ("arch: Make board selection choices
    optional"), Kconfig could create such an insane .config file that
    no SoC/board is selected.

    This is now a real problem for Buildroot, for example.
    (http://lists.busybox.net/pipermail/buildroot/2015-July/135125.html)

    This commit drops the "optional" from the ARM target select menu
    in favor of "Versatile family".

    Rationale:
    - Historically, Linux chose versatile_defconfig as the default
    of ARM defconfig. (arch/arm/Makefile of Linux describes:
    KBUILD_DEFCONFIG := versatile_defconfig)

    - It was published by ARM Ltd.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • - Import various DT files for DRA7 / DR72x / dra72-evm from Linux Kernel
    v4.1
    - Add config file for this board, enable DM and DM_GPIO

    Cc: Simon Glass
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass

    Tom Rini
     
  • - Move the CONS_INDEX selection out of CONFIG_SYS_EXTRA_OPTIONS and
    into Kconfig proper.
    - While in here, enable CONFIG_SPL_STACK_ADDR

    Signed-off-by: Tom Rini

    Tom Rini
     
  • We now have the CONFIG_SPL_DM for code within SPL to toggle caring about
    DM or not. Without this change platforms that do enable CONFIG_DM but
    not CONFIG_SPL_DM may be broken (such as OMAP5).

    Cc: Albert Aribaud
    Signed-off-by: Tom Rini

    Tom Rini