11 Mar, 2019

4 commits


10 Mar, 2019

5 commits


20 Feb, 2019

8 commits


13 Feb, 2019

1 commit


12 Feb, 2019

4 commits

  • Basin Cove PMIC is connected to I2C0 bus which is hidden from the OS
    and access is going via SCU device, enumerated via PCI.

    For now, we add just a minimum support of PMIC device to allow enabling,
    e.g. USB OTG, in the OS.

    Signed-off-by: Andy Shevchenko
    Acked-by: Bin Meng

    Andy Shevchenko
     
  • It is unnecessary to use a RAM version GDT for 64-bit U-Boot proper.
    In fact we can just use the ROM version directly, which not only
    eliminates the risk of being overwritten by application, but also
    removes the complexity of patching the cpu_call64().

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

    Bin Meng
     
  • Before jumping to 64-bit U-Boot proper, SPL copies the cpu_call64()
    function to a hardcoded address 0x3000000. This can have potential
    conflicts with application usage. Switch the destination address
    to be allocated from the heap to avoid such risk.

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

    Bin Meng
     
  • At present the 4-level page table base address for 64-bit U-Boot
    proper is assigned an address that conflicts with CONFIG_LOADADDR.
    Change it to an address within the low memory range instead.

    Fixes crashes seen when 'dhcp' on QEMU x86_64 with
    "-net nic -net user,tftp=.,bootfile=u-boot".

    Reported-by: Alexander Graf
    Signed-off-by: Bin Meng
    Tested-by: Heinrich Schuchardt
    Reviewed-by: Simon Glass

    Bin Meng
     

27 Jan, 2019

1 commit

  • Make use of "IMAGE_MAX_SIZE" and "IMAGE_TEXT_BASE" rather than
    CONFIG_SPL_MAX_SIZE and CONFIG_SPL_TEXT_BASE. This lets us re-use the
    same script for both SPL and TPL. Add logic to scripts/Makefile.spl to
    pass in the right value when preprocessing the script.

    Cc: Stefano Babic
    Cc: Fabio Estevam
    Cc: Jagan Teki
    Cc: Maxime Ripard
    Cc: Andreas Bießmann
    Cc: Philipp Tomsich
    Cc: Michal Simek
    Cc: Daniel Schwierzeck
    Cc: York Sun
    Cc: Bin Meng
    Cc: Heiko Schocher
    Cc: Adam Ford
    Signed-off-by: Tom Rini
    Reviewed-by: Daniel Schwierzeck
    Tested-by: Daniel Schwierzeck
    Tested-by: Adam Ford #da850evm & omap3_logic_somlv
    Reviewed-by: Simon Goldschmidt

    Tom Rini
     

18 Jan, 2019

1 commit


15 Jan, 2019

2 commits


10 Dec, 2018

7 commits

  • Up until now the call to initialize the USB subsystem was hardcoded
    for U-Boot running as an EFI payload. This was used to enable the
    use of a USB keyboard in the U-Boot shell. However not all boards
    might need this functionality. As initializing the USB subsystem can
    take a considerable amount of time (several seconds on some boards),
    we now initialize the USB subsystem only if U-Boot is configured to
    use USB keyboards.

    Signed-off-by: Bin Meng
    Reviewed-by: Christian Gmeiner

    Bin Meng
     
  • Up until now the call to initialize the USB subsystem was hardcoded
    for U-Boot running as a coreboot payload. This was used to enable
    the use of a USB keyboard in the U-Boot shell. However not all boards
    might need this functionality. As initializing the USB subsystem can
    take a considerable amount of time (several seconds on some boards),
    we now initialize the USB subsystem only if U-Boot is configured to
    use USB keyboards.

    Signed-off-by: Thomas RIENOESSL
    Reviewed-by: Bin Meng
    Reviewed-by: Christian Gmeiner

    Thomas RIENOESSL
     
  • At present the Kconfig options (CONFIG_I8259_PIC and CONFIG_APIC)
    do not include a prompt message, which makes it impossible to
    be disabled from a board defconfig file.

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

    Bin Meng
     
  • mask_irq(), unmask_irq() and specific_eoi() are provided by the
    i8259 PIC driver and should be wrapped with CONFIG_I8259_PIC.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass
    Tested-by: Hannes Schmelzer

    Bin Meng
     
  • There are still systems running which do not have any LAPIC or even
    IOAPIC. Responsible MSRs for those do not exist and the systems are
    crashing on trying to setup LAPIC.

    This commit makes the APIC stuff able to switch off for those boards
    which dont' have an LAPIC / IOAPIC.

    Signed-off-by: Hannes Schmelzer
    Reviewed-by: Bin Meng

    Hannes Schmelzer
     
  • Make the indentation aligned with what used elsewhere in U-Boot.

    No functional change intended.

    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bin Meng

    Andy Shevchenko
     
  • Intel Tangier SoC has RTC inside. So, enable it in ACPI.

    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bin Meng

    Andy Shevchenko
     

05 Dec, 2018

2 commits

  • Microsoft specifies a SPCR (Serial Port Console Redirection Table) [1].
    Let's provide it in U-Boot.

    [1]: https://docs.microsoft.com/en-us/windows-hardware/drivers/serports/serial-port-console-redirection-table

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

    Andy Shevchenko
     
  • Add SPCR table description as it provided in Linux kernel.

    Port subtype for ACPI_DBG2_SERIAL_PORT is used as an interface type in SPCR.
    Thus, provide a set of definitions to be utilized later.

    Signed-off-by: Andy Shevchenko
    Reviewed-by: Bin Meng

    Andy Shevchenko
     

03 Dec, 2018

2 commits

  • Per Microsoft PE Format documentation [1], PointerToSymbolTable and
    NumberOfSymbols should be zero for an image in the COFF file header.
    Currently U-Boot is generating u-boot-app.efi in which these two
    members are not zero.

    This updates the build rules to tell linker to remove the symbol
    table completely so that we can generate compliant *.efi images.

    [1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format

    Signed-off-by: Bin Meng
    Reviewed-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Bin Meng
     
  • Per Microsoft PE Format documentation [1], PointerToSymbolTable and
    NumberOfSymbols should be zero for an image in the COFF file header.
    Currently U-Boot is generating u-boot-payload.efi image in which
    these two members are not zero.

    This updates the build rules to tell linker to remove the symbol
    table completely so that we can generate compliant *.efi images.

    [1] https://docs.microsoft.com/zh-cn/windows/desktop/Debug/pe-format

    Reported-by: Heinrich Schuchardt
    Signed-off-by: Bin Meng
    Reviewed-by: Heinrich Schuchardt
    Signed-off-by: Alexander Graf

    Bin Meng
     

15 Nov, 2018

3 commits

  • It turns out commit c0434407b595 broke some boards which have DM CPU
    driver with CONFIG_DISPLAY_CPUINFO option on. These boards just fail
    to boot when print_cpuinfo() is called during boot.

    Fixes: c0434407b595 ("board_f: Use static print_cpuinfo if CONFIG_CPU is active")
    Reported-by: Stefan Roese
    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese

    Bin Meng
     
  • When a driver declares DM_FLAG_PRE_RELOC flag, it wishes to be
    bound before relocation. However due to a bug in the DM core,
    the flag only takes effect when devices are statically declared
    via U_BOOT_DEVICE(). This bug has been fixed recently by commit
    "dm: core: Respect drivers with the DM_FLAG_PRE_RELOC flag in
    lists_bind_fdt()", but with the fix, it has a side effect that
    all existing drivers that declared DM_FLAG_PRE_RELOC flag will
    be bound before relocation now. This may expose potential boot
    failure on some boards due to insufficient memory during the
    pre-relocation stage.

    To mitigate this potential impact, the following changes are
    implemented:

    - Remove DM_FLAG_PRE_RELOC flag in the driver, if the driver
    only supports configuration from device tree (OF_CONTROL)
    - Keep DM_FLAG_PRE_RELOC flag in the driver only if the device
    is statically declared via U_BOOT_DEVICE()
    - Surround DM_FLAG_PRE_RELOC flag with OF_CONTROL check, for
    drivers that support both statically declared devices and
    configuration from device tree

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

    Bin Meng
     
  • At present the generic io{read,write}{8,16,32} routines only support
    MMIO access. With architecture like x86 that has a separate IO space,
    these routines cannot be used to access I/O ports.

    Implement x86-specific version to support both PIO and MMIO access,
    so that drivers for multiple architectures can use these accessors
    without the need to know whether it's MMIO or PIO.

    These are ported from Linux kernel lib/iomap.c, with slight changes.

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

    Bin Meng