13 Aug, 2015

19 commits

  • Remove unused external clocks and make a common definition
    for all keystone platforms.

    Reviewed-by: Tom Rini
    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • This is just a cosmetic change that makes
    the calling of pll init code looks much cleaner.

    Reviewed-by: Tom Rini
    Reviewed-by: Vitaly Andrianov
    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • Use common devspeed and armspeed definitions.
    Also fix reading efuse bootrom register.

    Reviewed-by: Tom Rini
    Reviewed-by: Vitaly Andrianov
    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • There are two types of PLL for all keystone platforms:
    Main PLL, Secondary PLL. Instead of duplicating the same definition
    for each secondary PLL, have a common function which does
    initialization for both PLLs. And also add proper register
    definitions.

    Reviewed-by: Tom Rini
    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • This switches the Integrator boards over to using the device model
    for its serial ports.

    Cc: Masahiro Yamada
    Signed-off-by: Linus Walleij

    Linus Walleij
     
  • The mailbox buffer is required to be at least 16 bytes aligned, but for
    cache invalidation and/or flush it needs to be cacheline aligned.
    Use ALLOC_CACHE_ALIGN_BUFFER for all mailbox buffer allocations.

    Signed-off-by: Alexander Stein
    Acked-by: Stephen Warren
    Tested-by: Stephen Warren

    Alexander Stein
     
  • Using the twl4030 keypad allows booting directly into some special boot modes,
    such as recovery or fastboot. the VOL+ key will trigger a boot to recovery while
    the VOL- key will trigger a boot to fastboot.

    The G (gesture) key remains unused at this point.

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini

    Paul Kocialkowski
     
  • In most cases, userspace will attempt to power off the device with HALT instead
    of POWER_OFF, which triggers a reset instead of a proper power off from the
    TWL4030. Hence, it is up to the bootloader to actually turn the device off when
    there is no reason to turn it on.

    A reboot identified with the OMAP reboot mode bits set is acceptable, as well as
    a power on reason from either the power button, USB or charger plug.

    Other cases should trigger a power off. Note that for the U-Boot reset command
    to take effect, we have to fill-in the OMAP reboot bits.

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini

    Paul Kocialkowski
     
  • This adds support for resetting the device on a long press on the power button.

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini

    Paul Kocialkowski
     
  • This adds support for the fastboot USB gadget, including flashing to the
    internal MMC and reboot to bootloader or not.

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini
    [trini: Update to use Kconfig for MUSB]
    Signed-off-by: Tom Rini

    Paul Kocialkowski
     
  • Now that the serial number is correctly defined, we can pass it to the kernel
    using the (legacy) ATAG method. It will be automatically passed via device-tree
    when enabled.

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini

    Paul Kocialkowski
     
  • The OMAP3 has some die-specific ID bits that we can use to give the device a
    (more or less) unique serial number. This is particularly useful for e.g. USB.

    Signed-off-by: Paul Kocialkowski

    Paul Kocialkowski
     
  • This adds support for the omap3 reboot mode mechanism and exports the reboot
    mode via an environment variable, that is used in the boot command to make it
    possible to boot from the recovery partition.

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini

    Paul Kocialkowski
     
  • The LG Optimus Black (P970) codename sniper is a smartphone that was designed
    and manufactured by LG Electronics (LGE) and released back in 2011.

    It is using an OMAP3630 SoC GP version, which allows running U-Boot and the
    U-Boot SPL from the ground up. This port is aimed at running an Android version
    such as Replicant, the fully free Android distribution. However, support for
    upstream Linux with device-tree and common GNU/Linux distros boot commands
    could be added in the future.

    For more information about the journey to freeing this device, please read the
    series of blog posts at:
    http://code.paulk.fr/article20/a-hacker-s-journey-freeing-a-phone-from-the-ground-up-first-part

    Signed-off-by: Paul Kocialkowski
    Reviewed-by: Tom Rini
    [trini: Add CONFIG_OF_SUPPORT]
    Signed-off-by: Tom Rini

    Paul Kocialkowski
     
  • The change adds SPL build support to Timll DevKit3250 board, the
    generated SPL image can be uploaded over UART5, JTAG or stored on
    NAND. SPL is designed to load U-boot image from NAND.

    All new NAND chip defines in board configuration are needed by
    SPL NAND "simple" framework, the framework is used to reduce
    potentially duplicated code from LPC32xx SLC NAND driver.

    Signed-off-by: Vladimir Zapolskiy

    Vladimir Zapolskiy
     
  • This change adds more peripherals to Timll DevKit3250 board, namely
    MAC and SMSC phy, SLC NAND, GPIO, SPI and I2C.

    Also the default serial console is changed to UART5, added an option
    to pass device tree blob by means of bootm, predefined environment
    variables are slightly extended and reserved space on NAND to store
    user defined U-boot environment.

    Signed-off-by: Vladimir Zapolskiy

    Vladimir Zapolskiy
     
  • Enable BCM SF2 ethernet and PHY for BCM Cygnus SoC

    Signed-off-by: Jiandong Zheng
    Signed-off-by: Steve Rae
    Acked-by: Joe Hershberger

    Jiandong Zheng
     
  • add support for the at91sam9260 based board smartweb from
    siemens. SPL is used without serial support, as this
    SoC has only 4k sram for running SPL. Here a U-Boot
    bootlog:

    RomBOOT
    >

    U-Boot 2015.07-rc2-00109-g4ae828c (Jun 15 2015 - 09:31:16 +0200)

    CPU: AT91SAM9260
    Crystal frequency: 18.432 MHz
    CPU clock : 198.656 MHz
    Master clock : 99.328 MHz
    Watchdog enabled
    DRAM: 64 MiB
    WARNING: Caches not enabled
    NAND: 256 MiB
    In: serial
    Out: serial
    Err: serial
    Net: macb0
    Hit any key to stop autoboot: 0
    U-Boot>

    Signed-off-by: Heiko Schocher

    Heiko Schocher
     
  • On the highbank platform the SoC's management controller firmware
    will probe the DRAM modules and populates the initial device tree with
    the correct values. Therefore the memory sizes in the DT are already
    correct, so remove U-Boot's DRAM bank setup so the memory node is not
    "fixed up" by u-boot.

    Signed-off-by: Rob Herring
    Signed-off-by: Andre Przywara

    Rob Herring
     

12 Aug, 2015

1 commit


09 Aug, 2015

1 commit


08 Aug, 2015

14 commits

  • Add composite video out support.

    This only gets enabled on the Mele M3 for now, since that is were it
    was tested. It will be enabled on more boards after testing.

    Signed-off-by: Hans de Goede
    Acked-by: Ian Campbell

    Hans de Goede
     
  • To enable NAND flash in sunxi SPL,
    pins 0-6, 8-22 and 24 on port C are configured.

    Signed-off-by: Karol Gugala
    Signed-off-by: Piotr Zierhoffer
    Acked-by: Hans de Goede
    Signed-off-by: Hans de Goede

    Karol Gugala
     
  • Fix build error for socfpga_cyclone5_defconfig:

    board/altera/socfpga/wrap_sdram_config.c:245:26: error: ‘RW_MGR_MEM_NUMBER_OF_RANKS’ undeclared here (not in a function)
    make[2]: *** [spl/board/altera/socfpga/wrap_sdram_config.o] Error 1

    Signed-off-by: Dinh Nguyen

    Dinh Nguyen
     
  • Introduce structure socfpga_sdram_misc_config to wrap the remaining
    misc configuration values in board file. Again, introduce a function,
    socfpga_get_sdram_misc_config(), which returns this the structure. This
    is almost the final step toward wrapping the nasty QTS generated macros
    in board files and reducing the pollution of the namespace.

    Signed-off-by: Marek Vasut
    Acked-by: Dinh Nguyen

    Marek Vasut
     
  • Introduce structure socfpga_sdram_io_config to wrap the IO configuration
    values in board file. Introduce socfpga_get_sdram_io_config() function,
    which returns this the structure. This is another step toward wrapping
    the nasty QTS generated macros in board files and reducing the pollution
    of the namespace.

    Signed-off-by: Marek Vasut
    Acked-by: Dinh Nguyen

    Marek Vasut
     
  • Introduce structure socfpga_sdram_rw_mgr_config to wrap the RW manager
    configuration values in board file. Introduce a complementary function,
    socfpga_get_sdram_rwmgr_config(), which returns this the structure.
    This is another step toward wrapping the nasty QTS generated macros
    in board files and reducing the pollution of the namespace.

    Signed-off-by: Marek Vasut
    Acked-by: Dinh Nguyen

    Marek Vasut
     
  • Introduce two wrapper functions, socfpga_get_seq_ac_init() and
    socfpga_get_seq_inst_init() to avoid direct inclusion of the
    sequencer_auto_ac_init.h and sequencer_auto_inst_init.h QTS
    generated files. This reduces namespace pollution again.

    Signed-off-by: Marek Vasut
    Acked-by: Dinh Nguyen

    Marek Vasut
     
  • Move the files generated by QTS into the board directory, they should not
    be part of the driver files at all.

    Signed-off-by: Marek Vasut
    Acked-by: Dinh Nguyen

    Marek Vasut
     
  • Introduce socfpga_sdram_get_config() function implement in a board file,
    which returns the socfpga_sdram_config structure. This is the last step
    in cleaning up the socfpga_mmr_init_full(), but not the last step which
    allows removing the inclusion of sdram.h from drivers/ddr/altera/sdram.c
    thus far.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • Implement new accessor, sysmgr_get_pinmux_table(), used to obtain pinmux
    table and it's size from the QTS-generated pinmux_config.c. The target
    here is again to get rid of poluting global namespace by including the
    pinmux_config.h into it.

    Furthermore, the pinmux_config.h declares some CONFIG_HPS_* macros,
    which are explicitly useless to us in U-Boot. Instead, U-Boot does
    use DT to detect exactly these configuration options. This patch
    makes sure that while this QTS-generated file can stay in the tree,
    these obscure macros do not ooze into the namespace anymore.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • Introduce accessor iocsr_get_config_table() for retrieving IOCSR config
    tables. This patch is again trimming down the namespace polution.

    The IOCSR config tables are used only by scan manager, they are generated
    by qts and are board specific. Before this patch, the approach to use
    these tables in scan manager was to define an extern variable to silence
    the compiler and compile board-specific iocsr_config.c into U-Boot which
    defined those extern variables. Furthermore, since these are tables and
    the scan manager needs to know the size of those tables, iocsr_config.h
    is included build-wide.

    This patch wraps all this into a single accessor which takes the scan
    chain ID and returns pointer to the table and it's size. All this is
    wrapped in wrap_iocsr_config.c board-specific file. The file includes
    the iocsr_config.c (!) to access the original tables and transitively
    iocsr_config.h . It is thus no longer necessary to include iocsr_config.h
    build-wide and the namespace polution is trimmed some more.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • Extract the clock configuration horribleness caused by pll_config.h in
    the following manner.

    First of all, introduce a few new accessors which return values of
    various clocks used in clock_manager.c and use them in clock_manager.c .
    These accessors replace those few macros which came from pll_config.h
    originally. Also introduce an accessor which returns the struct cm_config
    default configuration for the clock manager used in SPL.

    The accessors are implemented in a board-specific wrap_pll_config.c
    file, whose sole purpose is to include the qts-generated pll_config.h
    and provide only the necessary values to the clock manager.

    The purpose of this design is to limit the scope of inclusion for the
    pll_config.h , which thus far was included build-wide and poluted the
    namespace. With this change, the inclusion is limited to just the new
    wrap_pll_config.c file, which in turn provides three simple functions
    for the clock_manager.c to use.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • This file is absolutelly positively board specific, so move it
    into the correct place.

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • Move all the files generated by Quartus into the qts/ subdir of the
    board/altera/socfpga dir to make them explicitly separate from the
    generic U-Boot code.

    Signed-off-by: Marek Vasut
    Cc: Dinh Nguyen

    Marek Vasut
     

07 Aug, 2015

5 commits

  • Tom Rini
     
  • P2371-0000 is a P2581 or P2530 CPU board married to a P2595 I/O
    board. The combination contains SoC, DRAM, eMMC, SD card slot,
    HDMI, USB micro-B port, Ethernet via USB3, USB3 host port, SATA,
    a GPIO expansion header, and an analog audio jack.

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

    Stephen Warren
     
  • E2220-1170 is a Tegra210 bringup board with onboard SoC, DRAM,
    eMMC, SD card slot, HDMI, USB micro-B port, and sockets for various
    expansion modules.

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

    Stephen Warren
     
  • T124/210 requires some specific configuration (VPR setup) to
    be performed by the bootloader before the GPU can be used.
    For this reason, the GPU node in the device tree is disabled
    by default. This patch enables the node if U-boot has performed
    VPR configuration.

    Boards enabled by this patch are T124's Jetson TK1 and Venice2
    and T210's P2571.

    Signed-off-by: Alexandre Courbot
    Cc: Stephen Warren
    Cc: Tom Warren
    Signed-off-by: Tom Warren

    Alexandre Courbot
     
  • Add a comment block to the top of each generated Tegra pinmux header file
    indicating that the file was auto-generated, should not be manually
    edited, and with a pointer to the tool and command used to generate it.

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

    Stephen Warren