28 Aug, 2018

1 commit

  • Fix this sort of warning if generic-phy.h is included:

    include/generic-phy.h:52:42: warning: ‘struct ofnode_phandle_args’ declared inside parameter list will not be visible outside of this definition or declaration
    int (*of_xlate)(struct phy *phy, struct ofnode_phandle_args *args);

    Signed-off-by: Marek Vasut

    Marek Vasut
     

27 Aug, 2018

2 commits


25 Aug, 2018

18 commits

  • Tom Rini
     
  • Tom Rini
     
  • Tom Rini
     
  • Copy missing Kernel patch to make SLEWCTRL_SLOW available in device tree
    and to correct the value of SLEWCTRL_FAST.
    After this patch, the Kernel and U-boot device tree settings for
    SLEWCTRL have the same effect.

    Original Kernel patch message:
    https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=424e0f039bfa8a51fb5c5178b6ece8baa4996469

    "
    According to AM335x TRM, Document spruh73l, Revised February 2015,
    Section 9.2.2 Pad Control Registers, setting bit 6 of the pad control
    registers actually sets the SLEWCTRL value to slow rather than fast as
    the current macro indicates. Introduce a new macro, SLEWCTRL_SLOW, that
    sets the bit, and modify SLEWCTRL_FAST to 0 but keep it for
    completeness. Current users of the macro (i2c and mdio) are left
    unmodified as SLEWCTRL_FAST was the macro used and actual desired state.
    Tested on am335x-gp-evm with no difference in software performance seen.
    Signed-off-by: Dave Gerlach
    Signed-off-by: Tony Lindgren
    "

    Signed-off-by: Christian Amann

    Christian Amann
     
  • Add missing environment name for UBI, to prevent this NULL in output:
    Loading Environment from ...
    and rather have a valid UBI there:
    Loading Environment from UBI...

    Signed-off-by: Marek Vasut

    Marek Vasut
     
  • Prevent cache warning messages when using the 'bootelf' command on an
    Arm target. Round down each section start address and round up the
    respective section end to the nearest cache line.

    Currently when using bootelf to load an image on Arm, several warnings
    such as the following appear in the console:
    CACHE: Misaligned operation at range [87800000, 8783c5e0]
    CACHE: Misaligned operation at range [8783c5e0, 8784b3e0]

    Signed-off-by: Neil Stainton
    [trini: Reword commit message to include the info after the --- which
    included the Signed-off-by line, and change ' at ' to '@']
    Signed-off-by: Tom Rini

    Neil Stainton
     
  • This code now is regarded as dead one and hence shall be removed.

    Signed-off-by: Lukasz Majewski

    Lukasz Majewski
     
  • Trivial fix.

    Signed-off-by: Michal Simek
    Reviewed-by: Simon Glass

    Michal Simek
     
  • malloc_simple() can return 0 if out of memory. Don't call memset
    from calloc() in this case but rely on the caller checking
    the return value.

    Signed-off-by: Simon Goldschmidt
    Reviewed-by: Marek Vasut

    Simon Goldschmidt
     
  • In an earlier proposed patch, bcmstb.c implemented timer_read_counter,
    but it was updated to implement get_ticks instead. This patch updates
    the declaration in timer.h accordingly.

    Signed-off-by: Thomas Fitzsimmons

    Thomas Fitzsimmons
     
  • The reset is already handled by the designware driver using
    information from device tree.

    Signed-off-by: Beniamino Galvani
    Acked-by: Neil Armstrong

    Beniamino Galvani
     
  • Compiling U-Boot with ubsan/asan libraries and running it in sandbox
    may lead to below backtrace:

    => avb init 0
    => avb verify
    ## Android Verified Boot 2.0 version 1.1.0
    read_is_device_unlocked not supported yet
    common/avb_verify.c:407:31: runtime error: division by zero
    AddressSanitizer:DEADLYSIGNAL
    Reviewed-by: Igor Opaniuk

    =================================================================
    ==9388==ERROR: AddressSanitizer: FPE on unknown address 0x0000004b467f \
    (pc 0x0000004b467f bp 0x000000000000 sp 0x7ffd899fe150 T0)
    #0 0x4b467e in mmc_byte_io common/avb_verify.c:407
    #1 0x4b4c47 in mmc_byte_io common/avb_verify.c:532
    #2 0x4b4c47 in read_from_partition common/avb_verify.c:533
    #3 0x69dc0d in load_and_verify_vbmeta lib/libavb/avb_slot_verify.c:560
    #4 0x6a1ee6 in avb_slot_verify lib/libavb/avb_slot_verify.c:1139
    #5 0x45dabd in do_avb_verify_part cmd/avb.c:245
    #6 0x4af77c in cmd_call common/command.c:499
    #7 0x4af77c in cmd_process common/command.c:538
    #8 0x46bafc in run_pipe_real common/cli_hush.c:1677
    #9 0x46bafc in run_list_real common/cli_hush.c:1875
    #10 0x46c780 in run_list common/cli_hush.c:2024
    #11 0x46c780 in parse_stream_outer common/cli_hush.c:3216
    #12 0x46d34b in parse_file_outer common/cli_hush.c:3299
    #13 0x4ad609 in cli_loop common/cli.c:217
    #14 0x4625ae in main_loop common/main.c:65
    #15 0x46f2d1 in run_main_loop common/board_r.c:648
    #16 0x640253 in initcall_run_list lib/initcall.c:30
    #17 0x46f9d0 in board_init_r common/board_r.c:879
    #18 0x40539b in main arch/sandbox/cpu/start.c:321
    #19 0x7fa94925f82f in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x2082f)
    #20 0x408908 in _start (/srv/R/u-boot-master/u-boot+0x408908)

    AddressSanitizer can not provide additional info.
    SUMMARY: AddressSanitizer: FPE common/avb_verify.c:407 in mmc_byte_io
    ==9388==ABORTING

    Signed-off-by: Eugeniu Rosca

    Eugeniu Rosca
     
  • Cppcheck (v1.85) reports w/o this patch:

    [common/avb_verify.c:738] -> [common/avb_verify.c:741]: (warning) \
    Either the condition 'ops' is redundant or there is possible null \
    pointer dereference: ops.

    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Igor Opaniuk

    Eugeniu Rosca
     
  • Cppcheck (v1.85) reports w/o this patch:

    [common/avb_verify.c:351]: (error) Memory leak: part
    [common/avb_verify.c:356]: (error) Memory leak: part
    [common/avb_verify.c:361]: (error) Memory leak: part
    [common/avb_verify.c:366]: (error) Memory leak: part

    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Igor Opaniuk

    Eugeniu Rosca
     
  • Fix sparse complaint:

    common/avb_verify.c:14:21: warning: \
    symbol 'avb_root_pub' was not declared. Should it be static?

    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Igor Opaniuk

    Eugeniu Rosca
     
  • Avoid below compiler [1] errors, reproduced with configuration [2]:

    common/avb_verify.c: In function ‘get_unique_guid_for_partition’:
    common/avb_verify.c:692:31: error: ‘disk_partition_t {aka struct disk_partition}’ has no member named ‘uuid’
    uuid_size = sizeof(part->info.uuid);
    ^
    common/avb_verify.c:696:29: error: ‘disk_partition_t {aka struct disk_partition}’ has no member named ‘uuid’
    memcpy(guid_buf, part->info.uuid, uuid_size);
    ^
    LD drivers/built-in.o
    make[2]: *** [scripts/Makefile.build:278: common/avb_verify.o] Error 1

    [1] aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11)
    [2] r8a7795_ulcb_defconfig, plus:
    CONFIG_AVB_VERIFY=y
    CONFIG_PARTITION_UUIDS=y
    CONFIG_UDP_FUNCTION_FASTBOOT=y
    CONFIG_LIBAVB=y

    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Igor Opaniuk

    Eugeniu Rosca
     
  • Fix below compiler [1] warning:

    common/avb_verify.c: In function ‘avb_find_dm_args’:
    common/avb_verify.c:179:30: warning: left-hand operand of comma expression has no effect [-Wunused-value]
    for (i = 0; i < AVB_MAX_ARGS, args[i]; ++i) {

    [1] aarch64-linux-gnu-gcc (Linaro GCC 7.2-2017.11)

    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Igor Opaniuk

    Eugeniu Rosca
     
  • Exit with AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT
    when hashtree_error_mode value passed to avb_append_options()
    is unknown (not from AvbHashtreeErrorMode enum).

    Otherwise, default value is not handled in the
    switch(hashtree_error_mode), which causes below compile warning:

    lib/libavb/avb_cmdline.c: In function ‘avb_append_options’:
    lib/libavb/avb_cmdline.c:354:13: warning: ‘dm_verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    new_ret = avb_replace(
    ~~~~~~~~^~~~~~~~~~~~~~
    slot_data->cmdline, "$(ANDROID_VERITY_MODE)", dm_verity_mode);
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    lib/libavb/avb_cmdline.c:363:8: warning: ‘verity_mode’ may be used uninitialized in this function [-Wmaybe-uninitialized]
    if (!cmdline_append_option(
    ^~~~~~~~~~~~~~~~~~~~~~
    slot_data, "androidboot.veritymode", verity_mode)) {

    Signed-off-by: Ievgen Maliarenko
    Signed-off-by: Eugeniu Rosca
    Reviewed-by: Igor Opaniuk

    Ievgen Maliarenko
     

24 Aug, 2018

10 commits

  • The NAND reset is missing from DT, so the reset manager cannot unreset the NAND.
    Add the missing DT reset entry.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Ley Foon Tan

    Marek Vasut
     
  • The UART clock frequency can be obtained from the clock framework by the
    ns16550 driver, so drop this redundant DT node.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Ley Foon Tan

    Marek Vasut
     
  • Switch the Arria10 from ad-hoc hardcoded timer to timer framework
    and the DW APB timer driver. This allows the A10 to extract timer
    information, like timer rate, from clock framework and thus DT
    instead of having it hardcoded in U-Boot configuration files.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Ley Foon Tan

    Marek Vasut
     
  • Flag timer clock as DM pre-reloc, so that a timer driver can be used and
    it can extract information about it's clock rate using the clock framework.
    This patch also moves some of the pre-reloc flags into the core dtsi file,
    this is because the timer is not board specific, but rather is used on all
    boards.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Ley Foon Tan

    Marek Vasut
     
  • Add timer driver for the Designware APB Timer IP. This is present
    for example on the Altera SoCFPGA chips.

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Ley Foon Tan

    Marek Vasut
     
  • The Arria10 SPL is a complete mess of calls to functions which are
    called in the wrong context and it is surprise it works at all. This
    patch tries to clean that mess up by shuffling the function calls
    around and moving the calls into the correct context. Due to the
    delicate nature of the reordering, this is done in one huge patch.

    The following changes happen in this patch:
    - Security policy init and NIC301 happens first in board_init_f()
    - The clock init happens very early in board_init_f() in SPL only
    - arch_early_init_r() only registers the FPGA, just like on Gen5
    - arch_early_init_r() is never called from any _f() function
    - Dedicated FPGA pins are inited in board_init_f() as on Gen5

    Signed-off-by: Marek Vasut
    Cc: Chin Liang See
    Cc: Dinh Nguyen
    Cc: Ley Foon Tan

    Marek Vasut
     
  • According to mailbox spec, software should send urgent command with
    urgent register instead of COUT location. This patch write urgent
    command index to urgent register.

    Signed-off-by: Ley Foon Tan

    Ley Foon Tan
     
  • Code checking and setting EMAC use fpga is in
    populate_sysmgr_fpgaintf_module(). So, call to sysmgr_pinmux_init()
    instead of populate_sysmgr_pinmux().
    In sysmgr_pinmux_init(), it will call to both populate_sysmgr_pinmux()
    and populate_sysmgr_fpgaintf_module().

    Signed-off-by: Ley Foon Tan

    Ley Foon Tan
     
  • Tom Rini
     
  • This partially reverts commit 7e21fbca26d18327cf7cabaad08df276a06a07d8.

    That change broke sandbox EFI support for unknown reasons. It also changes
    sandbox to use--gc-sections which we don't want.

    For now I am just reverting the sandbox portion as presumably this change
    is safe on other architectures.

    Fixes: 7e21fbca26 (efi_loader: Rename sections to allow for implicit data)
    Signed-off-by: Simon Glass

    Simon Glass
     

23 Aug, 2018

8 commits


22 Aug, 2018

1 commit