12 Feb, 2019

1 commit


10 Feb, 2019

2 commits


08 Feb, 2019

1 commit


10 Dec, 2018

1 commit

  • In some cases it may be useful to be able to change the fdt we have been
    using and use another one instead. For example, the TI platforms uses an
    EEPROM to store board information and, based on the type of board,
    different dtbs are used by the SPL. When DM_I2C is used, a first dtb must
    be used before the I2C is initialized and only then the final dtb can be
    selected.
    To speed up the process and reduce memory usage, introduce a new function
    fdtdec_setup_best_match() that re-use the DTBs loaded in memory by
    fdtdec_setup() to select the best match.

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Heiko Schocher

    Jean-Jacques Hiblot
     

21 Nov, 2018

1 commit

  • Commit 90c08fa038451d (fdt: Add device tree memory bindings) removed the
    prototype declaration of board_fdt_blob_setup(), most likely by mistake.
    This didn't break the build because the only file calling this function
    (lib/fdtdec.c) provides a local weak definition. Restore the
    declaration.

    Cc: Michael Pratt
    Signed-off-by: Baruch Siach
    Reviewed-by: Simon Glass

    Baruch Siach
     

09 Oct, 2018

1 commit


19 Jul, 2018

1 commit


11 Jul, 2018

1 commit

  • Add support for loading U-Boot on the Broadcom 7445 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
    Cc: Stefan Roese
    Cc: Tom Rini
    Cc: Florian Fainelli

    Thomas Fitzsimmons
     

09 Jul, 2018

1 commit

  • Support a default memory bank, specified in reg, as well as
    board-specific memory banks in subtree board-id nodes.

    This allows memory information to be provided in the device tree,
    rather than hard-coded in, which will make it simpler to handle
    similar devices with different memory banks, as the board-id values
    or masks can be used to match devices.

    Signed-off-by: Michael Pratt
    Signed-off-by: Simon Glass
    Reviewed-by: Vadim Bendebury

    Michael Pratt
     

18 May, 2018

1 commit


08 May, 2018

1 commit


07 May, 2018

1 commit

  • When U-Boot started using SPDX tags we were among the early adopters and
    there weren't a lot of other examples to borrow from. So we picked the
    area of the file that usually had a full license text and replaced it
    with an appropriate SPDX-License-Identifier: entry. Since then, the
    Linux Kernel has adopted SPDX tags and they place it as the very first
    line in a file (except where shebangs are used, then it's second line)
    and with slightly different comment styles than us.

    In part due to community overlap, in part due to better tag visibility
    and in part for other minor reasons, switch over to that style.

    This commit changes all instances where we have a single declared
    license in the tag as both the before and after are identical in tag
    contents. There's also a few places where I found we did not have a tag
    and have introduced one.

    Signed-off-by: Tom Rini

    Tom Rini
     

05 Mar, 2018

1 commit

  • Thomas reported U-Boot failed to build host tools if libfdt-devel
    package is installed because tools include libfdt headers from
    /usr/include/ instead of using internal ones.

    This commit moves the header code:
    include/libfdt.h -> include/linux/libfdt.h
    include/libfdt_env.h -> include/linux/libfdt_env.h

    and replaces include directives:
    #include -> #include
    #include -> #include

    Reported-by: Thomas Petazzoni
    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

19 Feb, 2018

1 commit

  • To debug device tree issues involving 32- and 64-bit platforms, it is useful to
    have a generic 64-bit platform available.

    Add a version of the sandbox that uses 64-bit integers for its physical
    addresses as well as a modified device tree.

    Signed-off-by: Mario Six
    Added CONFIG_SYS_TEXT_BASE to configs/sandbox64_defconfig
    Signed-off-by: Simon Glass

    Mario Six
     

16 Jan, 2018

1 commit

  • Similar to CONFIG_OF_BOARD, but in this case the fdt is still built by
    u-boot build. This allows the board to patch the fdt, etc.

    In the specific case of dragonboard 410c, we pass the u-boot generated
    fdt to the previous stage of bootloader (by embedding it in the
    u-boot.img that is loaded by lk/aboot), which patches the fdt and passes
    it back to u-boot.

    Signed-off-by: Rob Clark
    [trini: Update board_fdt_blob_setup #if check]
    Signed-off-by: Tom Rini

    Rob Clark
     

26 Nov, 2017

1 commit


15 Sep, 2017

1 commit

  • When using 32-bit addresses dtoc works correctly. For 64-bit addresses it
    does not since it ignores the #address-cells and #size-cells properties.

    Update the tool to use fdt64_t as the element type for reg properties when
    either the address or size is larger than one cell. Use the correct value
    so that C code can obtain the information from the device tree easily.

    Alos create a new type, fdt_val_t, which is defined to either fdt32_t or
    fdt64_t depending on the word size of the machine. This type corresponds
    to fdt_addr_t and fdt_size_t. Unfortunately we cannot just use those types
    since they are defined to phys_addr_t and phys_size_t which use
    'unsigned long' in the 32-bit case, rather than 'unsigned int'.

    Add tests for the four combinations of address and size values (32/32,
    64/64, 32/64, 64/32). Also update existing uses for rk3399 and rk3368
    which now need to use the new fdt_val_t type.

    Signed-off-by: Simon Glass

    Suggested-by: Heiko Stuebner
    Reported-by: Kever Yang
    Reviewed-by: Philipp Tomsich
    Tested-by: Kever Yang

    Simon Glass
     

29 Jul, 2017

1 commit


01 Jun, 2017

2 commits


16 May, 2017

1 commit

  • Some DVI monitors don't show anything in HDMI mode since audio stream
    confuses them. To solve this situation, this commit adds HDMI flag in
    timing data and sets it accordingly during edid parsing.

    First existence of extension block is checked. If it exists and it is
    CEA861 extension, then data blocks are checked for presence of HDMI
    vendor specific data block. If it is present, HDMI flag is set.

    Signed-off-by: Jernej Skrabec
    Reviewed-by: Simon Glass

    Jernej Skrabec
     

10 May, 2017

1 commit

  • In some boards like the Raspberry Pi the initial bootloader will pass
    a DT to the kernel. When using U-Boot as such kernel, the board code in
    U-Boot should be able to provide U-Boot with this, already assembled
    device tree blob.

    This patch introduces a new config option CONFIG_OF_BOARD to use instead
    of CONFIG_OF_EMBED or CONFIG_OF_SEPARATE which will initialize the DT
    from a board-specific funtion instead of bundling one with U-Boot or as
    a separated file. This allows boards like the Raspberry Pi to reuse the
    device tree passed from the bootcode.bin and start.elf firmware
    files, including the run-time selected device tree overlays.

    Signed-off-by: Alex Deymo
    Reviewed-by: Simon Glass

    Alex Deymo
     

14 Apr, 2017

1 commit


20 Dec, 2016

1 commit

  • Add two functions for use by board implementations to decode the memory
    banks of the /memory node so as to populate the global data with
    ram_size and board info for memory banks.

    The fdtdec_setup_memory_size() function decodes the first memory bank
    and sets up the gd->ram_size with the size of the memory bank. This
    function should be called from the boards dram_init().

    The fdtdec_setup_memory_banksize() function decode the memory banks
    (up to the CONFIG_NR_DRAM_BANKS) and populates the base address and size
    into the gd->bd->bi_dram array of banks. This function should be called
    from the boards dram_init_banksize().

    Signed-off-by: Nathan Rossi
    Cc: Simon Glass
    Cc: Michal Simek
    Reviewed-by: Simon Glass
    Signed-off-by: Michal Simek

    Nathan Rossi
     

14 Sep, 2016

1 commit

  • This driver has not been converted to Driver Model, and it is an
    obstacle to migrate other block device drivers. Remove it for now.

    The UniPhier SoCs already use a DM-based EHCI driver, so now
    ARCH_UNIPHIER can select DM_USB.

    These two changes must be done atomically because removing the
    legacy driver causes a build error.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Marek Vasut

    Masahiro Yamada
     

12 Aug, 2016

1 commit

  • Some code may want to read reg values from DT, but from nodes that aren't
    associated with DM devices, so using dev_get_addr_index() isn't
    appropriate. In this case, fdtdec_get_addr_size_*() are the functions to
    use. However, "translation" (via the chain of ranges properties in parent
    nodes) may still be desirable. Add a function parameter to request that,
    and implement it. Update all call sites to default to the original
    behaviour.

    Signed-off-by: Stephen Warren
    Reviewed-by: Simon Glass
    Squashed in build fix from Stephen:
    Signed-off-by: Simon Glass

    Stephen Warren
     

25 Jul, 2016

1 commit


12 Jul, 2016

3 commits


06 Jul, 2016

1 commit


01 Jun, 2016

1 commit

  • Tegra186's MMC controller needs to be explicitly identified. Add another
    compatible value for it.

    Tegra186 will use an entirely different clock/reset control mechanism to
    existing chips, and will use standard clock/reset APIs rather than the
    existing Tegra-specific custom APIs. The driver support for that isn't
    ready yet, so simply disable all clock/reset usage if compiling for
    Tegra186. This must happen at compile time rather than run-time since the
    custom APIs won't even be compiled in on Tegra186. In the long term, the
    plan would be to convert the existing custom APIs to standard APIs and get
    rid of the ifdefs completely.

    The system's main eMMC will work without any clock/reset support, since
    the firmware will have already initialized the controller in order to
    load U-Boot. Hence the driver is useful even in this apparently crippled
    state.

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

    Stephen Warren
     

06 May, 2016

1 commit


17 Mar, 2016

2 commits


17 Feb, 2016

1 commit

  • Adjust the driver to use driver model. The SOR becomes a bridge device. We
    use the normal simple_panel driver to handle the display itself. We also
    need to enable some options such as regulators, PWMs and DM_VIDEO itself.

    Signed-off-by: Simon Glass
    Acked-by: Anatolij Gustschin
    Signed-off-by: Tom Warren

    Simon Glass
     

06 Feb, 2016

1 commit


24 Jan, 2016

1 commit


21 Jan, 2016

1 commit