11 Sep, 2018

39 commits

  • Add support for Texas Instruments' K3 Generation Processor
    families.

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

    Lokesh Vutla
     
  • Use Macro instead of hard code.

    Signed-off-by: Kever Yang
    Reviewed-by: Philipp Tomsich

    Kever Yang
     
  • unified syntax should be selected by config ARM_ASM_UNIFIED

    Signed-off-by: Vikas Manocha

    Vikas Manocha
     
  • With gas option -mimplicit-it=always, IT block is inserted by the assembler
    for thumb2.

    Signed-off-by: Vikas Manocha

    Vikas Manocha
     
  • All armv7m arch builds are thumb & SYS_THUMB_BUILD is already selected by
    CPU_ARMV7M.

    Signed-off-by: Vikas Manocha

    Vikas Manocha
     
  • There are multiple GPIOs that can be used with the same driver depending
    on the CONFIG_GPIO_BASE defined in the controller driver.

    GPIO3 and 4 require a clock to be enabled so let's enable them when the
    driver is built.

    Signed-off-by: Quentin Schulz

    Quentin Schulz
     
  • The set_header call in kwbimage.c adds a checksum to the end of the
    image in addition to setting up the header. It 'helpfully' updates the
    st_size to match the fact that the file is now longer. However, mkimage
    uses this length in the munmap call. This can lead to unmapping an extra
    page, of perhaps required data. When this happens, a SEGV can occur.

    To prevent this from happening, the munmap call now uses the same length
    that was passed to mmap. This could also have been fixed by not changing
    the length in kwbimage.c, however changing it in the main file means
    that other plugins will also not fall for the same trap.

    Signed-off-by: Mark Tomlinson
    Signed-off-by: Chris Packham
    [cp: resolve checkpatch complaints]
    Tested-by: Chris Packham

    Mark Tomlinson
     
  • Add driver model support for OMAP_SERIAL while reusing
    the functions in ns16550.c

    Signed-off-by: Lokesh Vutla
    Reviewed-by: Tom Rini
    Tested-by: Derald D. Woods

    Lokesh Vutla
     
  • This patch enables DM_SERIAL for the pandora board. Verified that
    the default kernel can still be booted with this.

    Signed-off-by: Grazvydas Ignotas

    Grazvydas Ignotas
     
  • Add support for loading U-Boot on the Broadcom 7260 SoC. This port
    assumes Broadcom's BOLT bootloader is acting as the second stage
    bootloader, and U-Boot is acting as the third stage bootloader, loaded
    as an ELF program by BOLT.

    Signed-off-by: Thomas Fitzsimmons
    Reviewed-by: Florian Fainelli
    Cc: Florian Fainelli

    Thomas Fitzsimmons
     
  • Change the configured serial console index to reflect that it is the
    first physical UART, reorder some defconfig lines and move some
    environment configuration from bcmstb.h to bcm7445.h.

    Signed-off-by: Thomas Fitzsimmons
    Cc: Florian Fainelli

    Thomas Fitzsimmons
     
  • Four different boards had different options for enabling cache
    that were virtually all the same. This consolidates these
    common functions into arch/arm/cpu/arm926ejs/cache.c

    This also has the positive side-effect of enabling cache on
    the Davinci (da850) boards.

    Signed-off-by: Adam Ford
    [trini: Add mach-at91 to the list of consolidations]
    Signed-off-by: Tom Rini

    Adam Ford
     
  • DCC is supported on Cortex R series as well. Enable DCC support
    for V7R.

    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • Following build warning appears when pinctrl-single is built for ARM64:

    In file included from drivers/pinctrl/pinctrl-single.c:10:0:
    drivers/pinctrl/pinctrl-single.c: In function ‘single_configure_pins’:
    ./arch/arm/include/asm/io.h:43:28: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
    #define __arch_getw(a) (*(volatile unsigned short *)(a))

    Fix this by using phys_addr_t for variable reg instead of u32

    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • timer_pre_probe() tries to populate the clock rate from DT. omap
    timer driver tries to overwrite this value irrespective of the value
    populated fro DT. So update this value only when DT doesn't populate
    the clock rate.

    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • In order to handle counter overflows use 64 bit values for counter.
    Also load the initial value during probe.

    Signed-off-by: Lokesh Vutla

    Lokesh Vutla
     
  • The strobe dll code is ported from Linux Kernel:
    drivers/mmc/host/sdhci-esdhc-imx.c
    The comments are from the above file,
    "For HS400 eMMC, there is a data_strobe line. This signal is generated
    by the device and used for data output and CRC status response output
    in HS400 mode. The frequency of this signal follows the frequency of
    CLK generated by host. The host receives the data which is aligned to the
    edge of data_strobe line. Due to the time delay between CLK line and
    data_strobe line, if the delay time is larger than one clock cycle,
    then CLK and data_strobe line will be misaligned, read error shows up.
    So when the CLK is higher than 100MHz, each clock cycle is short enough,
    host should configure the delay target. "

    Signed-off-by: Peng Fan
    Cc: Jaehoon Chung
    Cc: Stefano Babic

    Peng Fan
     
  • Add HS400 support.
    Selecting HS400 needs first select HS200 according to spec, so use
    a dedicated function for HS400.
    Add HS400 related macros.
    Remove the restriction of only using the low 6 bits of
    EXT_CSD_CARD_TYPE, using all the 8 bits.

    Signed-off-by: Peng Fan
    Cc: Jaehoon Chung
    Cc: Jean-Jacques Hiblot
    Cc: Stefano Babic
    Cc: Kishon Vijay Abraham I
    Cc: Faiz Abbas
    Cc: Marek Vasut
    Signed-off-by: Peng Fan

    Peng Fan
     
  • This commit fixes various devicetree warnings in the at91 devicetrees
    like:
    arch/arm/dts/sama5d36ek_cmp.dtb: Warning (avoid_unnecessary_addr_size): /gpio_keys: unnecessary #address-cells/#size-cells without "ranges" or child "reg" property

    These warnings make buildman report failed builds for most of at91 boards.
    Thus, fixing it.

    Signed-off-by: Eugen Hristev

    Eugen Hristev
     
  • For at91family, makefile was building unwanted DTBs
    Moved them under specific target configuration.

    Signed-off-by: Eugen Hristev

    Eugen Hristev
     
  • Replace clrsetbits on ODR register (2 operations: one read + one write)
    by writing on the correct bit (SET or RESET) of the BSRR register
    (only 1 write operation).

    Moreover this register if safe for simultaneous access by 2 master on
    the bus.

    Signed-off-by: Patrick Delaunay
    Signed-off-by: Patrice Chotard

    Patrice Chotard
     
  • This patch adds support for :
    - Rate calculation through muxes and generic dividers
    - Basic gate setting propagation
    - Reparenting for muxes
    - Clock rate setting through generic dividers without reparenting

    Support is only added to the Composite VPU and VAPB clocks in order
    to support the Video Processing Unit Power Domain clock setup.

    Reviewed-by: Simon Glass
    Signed-off-by: Neil Armstrong

    Neil Armstrong
     
  • The Amlogic Meson SoCs embeds a specific Power Domain dedicated to the
    Video Processing Unit.
    This patch implements support for this power domain in preparation of the
    future support for the Video display support in U-Boot.

    This driver will depend on changes in the clock driver to handle the setup
    of the VPU and VAPB clocks configured from DT using assigned-clocks entries.

    Reviewed-by: Simon Glass
    Signed-off-by: Neil Armstrong

    Neil Armstrong
     
  • In int-ll64.h, we always use the following typedefs:

    typedef unsigned int u32;
    typedef unsigned long uintptr_t;
    typedef unsigned long long u64;

    This does not need to match to the compiler's .
    Do not include it.

    The use of PRI* makes the code super-ugly. You can simply use
    "l" for printing uintptr_t, "ll" for u64, and no modifier for u32.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • All architectures have the same definition for s8/16/32/64
    and u8/16/32/64.

    Factor out the duplicated code into .

    BTW, Linux unified the kernel space definition into int-ll64.h
    a few years ago as you see in Linux commit 0c79a8e29b5f
    ("asm/types.h: Remove include/asm-generic/int-l64.h").

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • You do not need to use the typedefs provided by compiler.

    Our compilers are either IPL32 or LP64. Hence, U-Boot can/should
    always use int-ll64.h typedefs like Linux kernel, whatever the
    typedefs the compiler internally uses.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • arch/arm/Makefile references armv5 for backwards compatibility with
    older compilers. This patch removes those references to armv5,
    since by now newer compilers are required which should have armv7
    support enabled.

    The Makefile also also has a list of options for mtune, but the
    entry for CONFIG_CPU_V7A is empty, so this patch tunes the
    CPU_V7A architecture to generic-armv7-a.

    The following size changed apply to omap3_logic using GCC.

    Stock
    text data bss dec hex filename
    50910 429 67580 118919 1d087 spl/u-boot-spl
    540713 22700 327072 890485 d9675 u-boot

    Without Armv5
    text data bss dec hex filename
    50916 429 67580 118925 1d08d spl/u-boot-spl
    540719 22700 327064 890483 d9673 u-boot

    mtune=generic-armv7-a
    text data bss dec hex filename
    50932 429 67580 118941 1d09d spl/u-boot-spl
    540519 22700 327080 890299 d95bb u-boot

    Signed-off-by: Adam Ford

    Adam Ford
     
  • Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass

    Patrice Chotard
     
  • setparity users has been updated to use new setconfig ops,
    so we can safely remove setparity ops

    Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass

    Patrice Chotard
     
  • Replace stm32_serial_setparity by stm32_serial_setconfig
    which allows to set serial bits number, parity and stop
    bits number.
    Only parity setting is implemented.

    Signed-off-by: Patrick Delaunay
    Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass

    Patrice Chotard
     
  • Replace setparity by more generic setconfig ops
    to allow uart parity, bits word length and stop bits
    number change.

    Adds SERIAL_GET_PARITY/BITS/STOP macros.

    Signed-off-by: Patrick Delaunay
    Signed-off-by: Patrice Chotard
    Reviewed-by: Simon Glass

    Patrice Chotard
     
  • Handle getch error (when getch return 0x0) to avoid display issue
    in the console.

    Signed-off-by: Patrick Delaunay

    Patrick Delaunay
     
  • Unify the fgetc function when MUX is activated or not:
    - always call tstc() : it is the normal behavior expected
    by serial uclass (call tstc then getc) and that avoids
    issue when SERIAL_RX_BUFFER is activated
    - reload WATCHDOG in the char waiting loop

    This patch allow to have the same behavior when CONSOLE_MUX is activated
    or not and avoid regression when this feature is deactivated.

    Signed-off-by: Patrick Delaunay
    Reviewed-by: Simon Glass

    Patrick Delaunay
     
  • Add test to avoid access to rx buffer when this buffer is empty.
    In this case directly call getc() function to avoid issue when tstc()
    is not called.

    Signed-off-by: Patrick Delaunay
    Reviewed-by: Simon Glass

    Patrick Delaunay
     
  • Activate the serial rx buffer.
    Prepare console MUX activation with vidconsole, and avoid console
    performance issue (missing character for copy-paste).

    Signed-off-by: Patrick Delaunay

    Patrick Delaunay
     
  • On some systems the host system or even the cross sysroot can
    contain a version.h. This leads to the wrong file being picked
    up and a PLAIN_VERSION undefined error.

    This workaround symlinks the version.h into the tool folder to
    allow reordering of search folders.

    Fixes
    http://autobuild.buildroot.net/results/770/7702d5df36a6532aafdbe6e9e62709bbfa058b54/build-end.log
    http://autobuild.buildroot.net/results/e34/e3401027d2fb3ce565ca9e2456a427afd3610a87/build-end.log
    ... additional can be found with these queries ...
    http://autobuild.buildroot.net/?reason=uboot-tools-2018.03
    http://autobuild.buildroot.net/?reason=uboot-tools-2018.05

    Upstream: pending

    Signed-off-by: Matthew Weber

    Matt Weber
     
  • Signed-off-by: Tom Rini

    Tom Rini
     
  • 'builman' -> 'buildman'

    Signed-off-by: Tuomas Tynkkynen

    Tuomas Tynkkynen
     
  • If the OOB size is not multiple of the cache line size, the ARMv7
    cache operation still prints "Misaligned operation at range".

    => nand info

    Device 0: nand0, sector size 256 KiB
    Page size 4096 b
    OOB size 224 b
    Erase size 262144 b
    subpagesize 4096 b
    options 0x00104200
    bbt options 0x00060000
    => nand dump 0
    CACHE: Misaligned operation at range [9fb15280, 9fb16360]
    CACHE: Misaligned operation at range [9fb15280, 9fb16360]
    CACHE: Misaligned operation at range [9fb15280, 9fb16360]
    CACHE: Misaligned operation at range [9fb15280, 9fb16360]
    ...

    The cache flushing operations won't happen in this case to cover all of
    the range to fix this by making sure we have things aligned.

    Reported-by: Marek Vasut
    Signed-off-by: Masahiro Yamada
    [trini: Reword the commit message to be clear this is a direct problem
    rather than just a warning]

    Masahiro Yamada
     

10 Sep, 2018

1 commit

  • The get_next_memory_node() always sets mem to -1 , which is incorrect,
    because then every iteration of memory bank parsing will start from the
    first memory bank instead of the previous one.

    On systems with 1 memory bank defined in DT and CONFIG_NR_DRAM_BANKS=4 ,
    like ie. r8a77965-salvator-x , this will result in U-Boot incorrectly
    reporting four identical memory banks with the same memory configuration.

    Fix this by setting mem to startoffset value, which restores the behavior
    before the fixed patch was applied.

    Signed-off-by: Marek Vasut
    Cc: Jens Wiklander
    Cc: Simon Glass
    Cc: Tom Rini
    Fixes: 452bc121027d ("fdt: fix fdtdec_setup_memory_banksize()")
    Tested-by: Michal Simek [on ZynqMP}

    Marek Vasut