15 Jan, 2019

1 commit

  • Booting an image currently sets the environment variable "fdtaddr"
    by calling into 'cmd/fdt.c'. As a result, linking U-Boot fails if
    CMD_FDT is not enabled.

    Fix this by adding 'if (CONFIG_IS_ENABLED(CMD_FDT))' to the two
    places where 'set_working_fdt_addr()' is called.

    Signed-off-by: Simon Goldschmidt

    Simon Goldschmidt
     

11 Jan, 2019

1 commit


01 Jan, 2019

4 commits

  • imx for 2019.01

    - introduce support for i.MX8M
    - fix size limit for Vhybrid / pico boards
    - several board fixes
    - w1 driver for MX2x / MX5x

    Tom Rini
     
  • If we don't define CONFIG_SPL_FIT_IMAGE_TINY, when loading images from FIT,
    the SPL will record all loadables' info to u-boot's FDT. This causes
    problem when HAB is enabled, because FDT's content is modified before
    we authenticate it.

    Signed-off-by: Ye Li
    Signed-off-by: Peng Fan

    Ye Li
     
  • i.MX8M bootable image type is like i.MX6/7, but there is signed HDMI
    firmware image in front of A53 bootable image, which is also has an IVT
    header.

    Here we also include fit image to generate a bootable image.

    Signed-off-by: Peng Fan
    Signed-off-by: Stefano Babic

    Peng Fan
     
  • Introduce two board level callback functions to FIT image loading process, and
    a SPL_FIT_FOUND flag to differentiate FIT image or RAW image.

    Implement functions in imx common SPL codes to call HAB funtion
    to authenticate the FIT image. Generally, we have to sign multiple regions
    in FIT image:
    1. Sign FIT FDT data (configuration)
    2. Sign FIT external data (Sub-images)

    Because the CSF supports to sign multiple memory blocks, so that we can use one
    signature to cover all regions in FIT image and only authenticate once.
    The authentication should be done after the entire FIT image is loaded into
    memory including all sub-images.
    We use "-p" option to generate FIT image to reserve a space for FIT IVT
    and FIT CSF, also this help to fix the offset of the external data (u-boot-nodtb.bin,
    ATF, u-boot DTB).

    The signed FIT image layout is as below:
    --------------------------------------------------
    | | | | | | | |
    | FIT | FIT | FIT | | U-BOOT | ATF | U-BOOT |
    | FDT | IVT | CSF | | nodtb.bin | | DTB |
    | | | | | | | |
    --------------------------------------------------

    Signed-off-by: Ye Li
    Reviewed-by: Peng Fan
    Reviewed-by: Tom Rini
    Signed-off-by: Peng Fan

    Ye Li
     

31 Dec, 2018

3 commits


15 Dec, 2018

2 commits

  • Enable DM for USB peripheral in the musb-new driver.
    Also make sure that the driver can be used in the SPL.
    This implies that:
    * the driver must work with and without the OF_CONTROL option. That
    in turn, implies that the platform data can be passed in a struct
    ti_musb_platdata or be read from the dtb
    * usb.o is linked in the SPL if host support is enabled

    Another change is that the driver does not fail to bind (and stop the boot
    process) if one of the child driver does not bind. Reporting the error is
    enough. This kind of error would appear if the port is configured in the
    DTS but the driver is not activated in the config.

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Tom Rini

    Jean-Jacques Hiblot
     
  • If DM_USB_GADGET is used, the usb ethernet gadget driver must be bound to a
    controller before the image can be downloaded over the network.
    In u-boot this can be done with the bind command. In SPL it must be done
    programmatically.

    Signed-off-by: Jean-Jacques Hiblot
    Reviewed-by: Tom Rini

    Jean-Jacques Hiblot
     

13 Dec, 2018

2 commits

  • Building U-Boot with CONFIG_PCI and CONFIG_DM_PCI enabled, but
    CONFIG_SPL_PCI_SUPPORT disabled, results in following linker
    error:

    lib/built-in.o: In function `fdtdec_get_pci_bar32':
    lib/fdtdec.c:305: undefined reference to `dm_pci_read_bar32'
    fdtdec.c:305:(.text.fdtdec_get_pci_bar32+0x24): relocation truncated to fit: R_AARCH64_CALL26 against undefined symbol `dm_pci_read_bar32'

    This is because reference to dm_pci_read_bar32() remains in lib/fdtdec.c
    while SPL build does not descend into drivers/pci directory in
    drivers/Makefile if CONFIG_SPL_PCI_SUPPORT is not enabled.

    Fix this by applying appropriate #define guards in lib/fdtdec.c.
    It looks like ns16550.c has the same problem, so fixed that too.

    To simplify this, CONFIG_SPL_PCI_SUPPORT is renamed to CONFIG_SPL_PCI
    (enables use of CONFIG_IS_ENABLED() macro).

    Suggested-by: Vignesh R
    Signed-off-by: Sekhar Nori
    Reviewed-by: Lokesh Vutla
    Reviewed-by: Tom Rini

    Sekhar Nori
     
  • The function part_init() will only be built when we have both
    CONFIG_PARTITIONS and CONFIG_HAVE_BLOCK_DEVICE set. Protect the call to
    this function with both of these tests now.

    Cc: Simon Glass
    Cc: Philipp Tomsich
    Cc: Michal Simek
    Cc: York Sun
    Cc: Prabhakar Kushwaha
    Cc: Mingkai Hu
    Cc: Stefan Roese
    Cc: Marek Behún
    Cc: Vanessa Maegima
    Cc: Eugen Hristev
    Cc: Adam Ford
    Cc: Jagan Teki
    Cc: Tom Warren
    Cc: Stephen Warren
    Cc: Vitaly Andrianov
    Signed-off-by: Tom Rini
    Reviewed-by: Simon Glass

    Tom Rini
     

10 Dec, 2018

1 commit


09 Dec, 2018

2 commits

  • The CRC16-CCITT checksum function is useful for space-constrained
    applications (such as obtaining a checksum across a 2KBit or 4KBit
    EEPROM) in boot applications. It has not been accessible from boot
    scripts until now (due to not having a dedicated command and not being
    supported by the hash infrstructure) limiting its applicability
    outside of custom commands.

    This adds the CRC16-CCITT (poly 0x1021, init 0x0) algorithm to the
    list of available hashes and adds a new crc16_ccitt_wd_buf() to make
    this possible.

    Signed-off-by: Philipp Tomsich
    [trini: Fix building crc16.o for SPL/TPL]
    Signed-off-by: Tom Rini

    Philipp Tomsich
     
  • This merges the CRC16-CCITT headers into u-boot/crc.h to prepare for
    rolling CRC16 into the hash infrastructure. Given that CRC8, CRC32
    and CRC32-C already have their prototypes in a single header file, it
    seems a good idea to also include CRC16-CCITT in the same.

    Signed-off-by: Philipp Tomsich

    Philipp Tomsich
     

07 Dec, 2018

2 commits


06 Dec, 2018

1 commit


05 Dec, 2018

3 commits


04 Dec, 2018

1 commit

  • Patch queue for efi - 2018-12-03

    This release is fully packed with lots of glorious improvements in UEFI
    land again!

    - Make PE images more standards compliant
    - Improve sandbox support
    - Improve correctness
    - Fix RISC-V execution on virt model
    - Honor board defined top of ram (fixes a few boards)
    - Imply DM USB access when distro boot is available
    - Code cleanups

    Tom Rini
     

03 Dec, 2018

5 commits

  • CC common/board_r.o
    common/board_r.c:747:2: error: ‘initr_spi’ undeclared here (not in a function)
    initr_spi,
    ^
    make[1]: *** [common/board_r.o] Error 1

    Fixes: ebe76a2df9f6 ("dm: Remove spi_init() from board_r.c when using driver model")
    Signed-off-by: Christophe Leroy

    Christophe Leroy
     
  • We add the support of the padding pss for rsa signature.
    This new padding is often recommended instead of pkcs-1.5.

    Signed-off-by: Philippe Reynes
    Reviewed-by: Simon Glass

    Philippe Reynes
     
  • The rsa signature use a padding algorithm. By default, we use the
    padding pkcs-1.5. In order to add some new padding algorithm, we
    add a padding framework to manage several padding algorithm.
    The choice of the padding is done in the file .its.

    Signed-off-by: Philippe Reynes
    Reviewed-by: Simon Glass

    Philippe Reynes
     
  • On the sandbox the memory addresses in the device tree refer to the virtual
    address space of the sandbox. This implies that the memory reservations for
    the fdt also have to be converted to this address space.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     
  • The sandbox uses a virtual address space that is neither the physical nor
    the virtual address space of the operating system. All address used on the
    command line live in this address space. So also the environment variable
    ${fdtcontroladdr} has to be in this address space.

    Commands like bootefi and booti receive the fdt address as parameter.
    Without the patch ${fdtcontroladdr} cannot be used as parameter value on
    the sandbox.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Heinrich Schuchardt
     

30 Nov, 2018

1 commit


29 Nov, 2018

1 commit


27 Nov, 2018

7 commits


26 Nov, 2018

3 commits

  • There is some basic informaton that SPL normally wants to pass through to
    U-Boot, such as the SDRAM size and bank information.

    Mkae use of the new bloblist structure for this. Add a new 'handoff' blob
    which is set up in SPL and passed to U-Boot proper. Also adda test for
    sandbox_spl that checks that this works correctly and a new 'sb' command
    to show the information passed from SPL.

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

    Simon Glass
     
  • We support putc() in this case but not puts(), but this is more useful
    since it is what printf() uses.

    This particularly affects debugging early in SPL, where currently printf()
    statements result in no output. Fix this by adding a special case into
    puts() for sandbox, just like putc().

    Signed-off-by: Simon Glass
    Reviewed-by: Joe Hershberger

    Simon Glass
     
  • There is a strange feature to set global_data to a data-section variable
    early in SPL. This only works if SPL actually has access to SRAM which is
    not the case on x86, for eaxmple. Add a comment to this effect.

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

    Simon Glass