16 Jan, 2020

1 commit


09 Jan, 2020

2 commits


08 Jan, 2020

2 commits


07 Jan, 2020

1 commit


15 Dec, 2019

1 commit


10 Dec, 2019

1 commit


05 Dec, 2019

1 commit

  • Move MTD-related lines out of the root Makefile. Put them in their
    respective directories. Enclose some of these new lines to skip them
    when building the SPL. MTD core files and some MTD device drivers are
    compiled in a mtd.o object and included in the final object only if
    MTD support is required (there are two different symbols for that, one
    for U-Boot and one for the SPL).

    Now that all defconfigs have been fixed, we can stop the logic where
    enabling a command selects the core files to compile. This logic is
    broken since selecting a symbol with a 'depends on' will not enforce
    this secondary dependency.

    Signed-off-by: Miquel Raynal

    Miquel Raynal
     

24 Oct, 2019

1 commit

  • Add Support for UFS Host Controller Interface (UFSHCI) for communicating
    with Universal Flash Storage (UFS) devices. The steps to initialize the
    host controller interface are the following:

    - Initiate the Host Controller Initialization process by writing to the
    Host controller enable register.
    - Configure the Host Controller base address registers by allocating a
    host memory space and related data structures.
    - Unipro link startup procedure
    - Check for connected device
    - Configure UFS host controller to process requests

    Also register this host controller as a SCSI host controller.

    Taken from Linux Kernel v5.2 (drivers/scsi/ufs/ufshcd.c) and ported to
    U-boot.

    Signed-off-by: Faiz Abbas

    Faiz Abbas
     

12 Aug, 2019

1 commit


21 Jul, 2019

1 commit

  • This adds separate kconfig options for drivers/sysreset and
    drivers/firmware.

    Up to now, CONFIG_SPL_DRIVERS_MISC_SUPPORT added drivers/misc to SPL
    build but also added drivers/firmware and drivers/sysreset at the same
    time.

    Since that is confusing, this patch uses CONFIG_SPL_SYSRESET for
    drivers/sysreset and adds CONFIG_SPL_FIRMWARE for
    drivers/firmware (and accordingly for the TPL options).

    CONFIG_SPL_DRIVERS_MISC_SUPPORT stays for including drivers/misc into
    the SPL build (and accordingly for TPL) since there are boards using
    non-DM (non UCLASS_MISC) files from drivers/misc. Such boards don't
    have CONFIG_SPL_MISC enabled, so cannot use this to include
    drivers/misc into the SPL build.

    Signed-off-by: Simon Goldschmidt

    Simon Goldschmidt
     

11 Jul, 2019

1 commit

  • Introduce new UCLASS_PCI_EP class for handling PCI endpoint
    devices, allowing to set various attributes of the PCI endpoint
    device, such as:
    * configuration space header
    * BAR definitions
    * outband memory mapping
    * start/stop PCI link

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

    Ramon Fried
     

07 May, 2019

1 commit


06 May, 2019

1 commit


05 May, 2019

1 commit


20 Feb, 2019

1 commit


26 Jan, 2019

2 commits

  • Do this by using $(SPL_) in Makefiles and CONFIG_IS_ENABLED in C code.
    This ensures the files and features are only built into the right build
    for which they are enabled. Using the macros to simplify this patch was
    made possible by the config symbol rename done in the last patch.

    Signed-off-by: Andrew F. Davis
    Reviewed-by: Tom Rini
    Acked-by: Lukasz Majewski

    Andrew F. Davis
     
  • The symbol CONFIG_SPL_DFU_SUPPORT in SPL build has the same
    meaning as CONFIG_DFU in regular U-Boot. Drop the _SUPPORT
    to allow for cleaner use in code.

    Signed-off-by: Andrew F. Davis
    Reviewed-by: Tom Rini
    Acked-by: Lukasz Majewski

    Andrew F. Davis
     

11 Jan, 2019

1 commit


01 Jan, 2019

2 commits


15 Dec, 2018

1 commit


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
     

07 Dec, 2018

1 commit


26 Nov, 2018

1 commit

  • At present these subsystems are only supported in U-Boot proper but it is
    sometimes necessary to support them in SPL, or even TPL. Update the
    Kconfig and Makefile to support this. Also adjust GPIO so that it can be
    used in TPL if required.

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

    Simon Glass
     

15 Nov, 2018

1 commit

  • This adds a new virtio uclass driver for “virtio” [1] family of
    devices that are are found in virtual environments like QEMU,
    yet by design they look like physical devices to the guest.

    The uclass driver provides child_pre_probe() and child_post_probe()
    methods to do some common operations for virtio device drivers like
    device and driver supported feature negotiation, etc.

    [1] http://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.pdf

    Signed-off-by: Tuomas Tynkkynen
    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     

07 Oct, 2018

1 commit

  • Adds a uclass to interface with a TEE (Trusted Execution Environment).

    A TEE driver is a driver that interfaces with a trusted OS running in
    some secure environment, for example, TrustZone on ARM cpus, or a
    separate secure co-processor etc.

    The TEE subsystem can serve a TEE driver for a Global Platform compliant
    TEE, but it's not limited to only Global Platform TEEs.

    The over all design is based on the TEE subsystem in the Linux kernel,
    tailored for U-Boot.

    Reviewed-by: Simon Glass
    Tested-by: Igor Opaniuk
    Signed-off-by: Jens Wiklander

    Jens Wiklander
     

03 Oct, 2018

1 commit


01 Oct, 2018

1 commit


30 Sep, 2018

1 commit

  • Since there is no canonical "board device" that can be used in board
    files, it is difficult to use DM function for board initialization in
    these cases.

    Hence, add a uclass that implements a simple "board device", which can
    hold devices not suitable anywhere else in the device tree, and is also
    able to read encoded information, e.g. hard-wired GPIOs on a GPIO
    expander, read-only memory ICs, etc. that carry information about the
    hardware.

    The devices of this uclass expose methods to read generic data types
    (integers, strings, booleans) to encode the information provided by the
    hardware.

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

    Mario Six
     

29 Sep, 2018

2 commits


20 Sep, 2018

1 commit

  • NAND flavors, like serial and parallel, have a lot in common and would
    benefit to share code. Let's move raw (parallel) NAND specific code in a
    raw/ subdirectory, to ease the addition of a core file in nand/ and the
    introduction of a spi/ subdirectory specific to SPI NANDs.

    Signed-off-by: Miquel Raynal

    Miquel Raynal
     

11 Sep, 2018

2 commits


11 Aug, 2018

1 commit

  • Add a uclass for AXI (Advanced eXtensible Interface) busses, and a
    driver for the gdsys IHS AXI bus on IHS FPGAs.

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

    Mario Six
     

06 Aug, 2018

1 commit


20 Jul, 2018

1 commit

  • This is a uclass for Shared memory manager drivers.

    A Shared Memory Manager driver implements an interface for allocating
    and accessing items in the memory area shared among all of the
    processors.

    Signed-off-by: Ramon Fried

    Reviewed-by: Simon Glass
    Reviewed-by: Philipp Tomsich

    Ramon Fried