Please pull u-boot-x86

Bin Meng
2020-07-17T10:15:17Z

Hi Tom,

This PR includes the following changes for v2020.10 release:

- New timer API to allow delays with a 32-bit microsecond timer
- Add dynamic ACPI structs (DSDT/SSDT) generations to the DM core
- x86: Enable ACPI table generation by default
- x86: Enable the copy framebuffer on Coral
- x86: A few fixes to FSP2 with ApolloLake
- x86: Drop setup_pcat_compatibility()
- x86: Primary-to-Sideband Bus minor fixes

Azure results: PASS
https://dev.azure.com/bmeng/GitHub/_build/results?buildId=263&view=results

The following changes since commit fee68b98fe3890631a9bdf8f8db328179011ee3f:

Merge tag 'efi-2020-10-rc1-4' of
https://gitlab.denx.de/u-boot/custodians/u-boot-efi (2020-07-16
16:35:15 -0400)

are available in the git repository at:

https://gitlab.denx.de/u-boot/custodians/u-boot-x86

for you to fetch changes up to d40d2c570600396b54dece16429727ef50cfeef0:

acpi: Enable ACPI table generation by default on x86 (2020-07-17
14:32:24 +0800)

----------------------------------------------------------------
Simon Glass (82):
timer: Allow delays with a 32-bit microsecond timer
coral: Enable the copy framebuffer
x86: Avoid #ifdef with CONFIG_HAVE_ACPI_RESUME
x86: fsp: Support a warning message when DRAM init is slow
dm: core: Add an ACPI name for the root node
acpi: Add a function to get a device path and scope
acpi: Add a way to check device status
irq: Add a method to convert an interrupt to ACPI
acpi: Support generation of ACPI code
acpi: Support generation of interrupt descriptor
gpio: Add a method to convert a GPIO to ACPI
acpi: Support string output
acpi: Support generation of GPIO descriptor
acpi: Support generation of a GPIO/irq for a device
acpi: Support generation of I2C descriptor
acpi: Support generation of SPI descriptor
acpigen: Support writing a length
acpigen: Support writing a package
acpi: Support writing an integer
acpi: Support writing a string
acpi: Support writing a name
acpi: Support writing a UUID
acpi: Support writing Device Properties objects via _DSD
acpi: Support writing a GPIO
acpi: Support copying properties from device tree to ACPI
acpi: Add support for various misc ACPI opcodes
acpi: Add support for writing a Power Resource
acpi: Add support for writing a GPIO power sequence
acpi: Add support for a generic power sequence
acpi: Add support for SSDT generation
x86: acpi: Move MADT down a bit
acpi: Record the items added to SSDT
acpi: Support ordering SSDT data by device
x86: Allow devices to write an SSDT
acpi: Add support for DSDT generation
x86: Allow devices to write to DSDT
pci: Avoid a crash in device_is_on_pci_bus()
dm: acpi: Enhance acpi_get_name()
acpi: Add an acpi command to list/dump generated ACPI items
binman: Allow setting the ROM offset
binman: Refactor binman_entry_find() to allow other nodes
binman: Add way to locate an entry in memory
acpi: Allow creating the GNVS to fail
dtoc: Support ACPI paths in of-platdata
dm: core: Add a way of overriding the ACPI device path
dm: acpi: Add support for the NHLT table
acpi: Export functions to write sized values
acpi: Support generation of a scope
acpi: Support generation of a generic register
acpi: mmc: Generate ACPI info for the PCI SD Card
x86: Add bindings for NHLT
acpi: Support generation of a device
acpi: Support writing named values
x86: Add support for building up an NHLT structure
sound: Add an ACPI driver for Dialog Semicondutor da7219
sound: Add an ACPI driver for Maxim MAX98357ac
x86: pinctrl: Add a way to get the pinctrl reg address
x86: pinctrl: Update comment for intel_pinctrl_get_pad()
x86: pinctrl: Add multi-ACPI control
x86: pinctrl: Set up itss in the probe() method
x86: pinctrl: Drop the acpi_path member
x86: Add error checking for csrt table generation
x86: apl: Use memory-mapped access for VBT
x86: gpio: Add support for obtaining ACPI info for a GPIO
i2c: designware_i2c: Add a little more debugging
i2c: Add log_ret() on error
i2c: designware_i2c: Support ACPI table generation
p2sb: Add a method to hide the bus
x86: apl: Support set_hide() in p2sb driver
x86: apl: Hide the p2sb on exit from U-Boot
pmc: Move common registers to the header file
x86: irq: Support flags for acpi_gpe
x86: apl: Fix save/restore of ITSS priorities
x86: Add debugging to table writing
x86: apl: Set the correct boot mode in the FSP-M code
x86: apl: Adjust FSP-M code to avoid hard-coded address
x86: Store the coreboot table address in global_data
x86: Update the comment about booting for FSP2
x86: Drop setup_pcat_compatibility()
x86: acpi: Correct the version of the MADT
x86: Rename board_final_cleanup() to board_final_init()
acpi: Enable ACPI table generation by default on x86

Wolfgang Wallner (2):
drivers: p2sb: replace Primary-to-Sideband Bus with Primary to
Sideband Bridge
x86: p2sb: make P2SB driver depend on P2SB uclass

arch/Kconfig | 1 +
arch/sandbox/dts/test.dts | 14 +-
arch/x86/Kconfig | 1 +
arch/x86/cpu/acpi_gpe.c | 26 +++
arch/x86/cpu/apollolake/cpu_spl.c | 13 +-
arch/x86/cpu/apollolake/fsp_m.c | 18 +-
arch/x86/cpu/apollolake/fsp_s.c | 66 +++----
arch/x86/cpu/baytrail/acpi.c | 6 +-
arch/x86/cpu/broadwell/power_state.c | 5 +-
arch/x86/cpu/coreboot/coreboot.c | 4 +-
arch/x86/cpu/coreboot/tables.c | 8 +-
arch/x86/cpu/cpu.c | 64 ++++---
arch/x86/cpu/efi/app.c | 2 +-
arch/x86/cpu/i386/cpu.c | 7 +-
arch/x86/cpu/intel_common/itss.c | 25 ++-
arch/x86/cpu/intel_common/p2sb.c | 44 +++++
arch/x86/cpu/quark/acpi.c | 4 +-
arch/x86/cpu/quark/quark.c | 2 +-
arch/x86/cpu/start.S | 1 +
arch/x86/cpu/tangier/acpi.c | 4 +-
arch/x86/dts/chromebook_coral.dts | 1 +
arch/x86/include/asm/acpi_nhlt.h | 314
++++++++++++++++++++++++++++++
arch/x86/include/asm/acpi_table.h | 10 +-
arch/x86/include/asm/fsp2/fsp_internal.h | 3 +-
arch/x86/include/asm/global_data.h | 4 +-
arch/x86/include/asm/intel_pinctrl.h | 19 +-
arch/x86/include/asm/itss.h | 2 +-
arch/x86/include/asm/u-boot-x86.h | 2 -
arch/x86/lib/Makefile | 1 +
arch/x86/lib/acpi_nhlt.c | 482
++++++++++++++++++++++++++++++++++++++++++++++
arch/x86/lib/acpi_table.c | 87 +++++++--
arch/x86/lib/coreboot_table.c | 6 +-
arch/x86/lib/fsp/fsp_common.c | 4 +-
arch/x86/lib/fsp/fsp_dram.c | 26 +--
arch/x86/lib/fsp1/fsp_common.c | 16 +-
arch/x86/lib/fsp2/fsp_dram.c | 7 +-
arch/x86/lib/fsp2/fsp_meminit.c | 24 ++-
arch/x86/lib/fsp2/fsp_silicon_init.c | 1 +
arch/x86/lib/tables.c | 38 +++-
arch/x86/lib/zimage.c | 10 -
cmd/acpi.c | 15 +-
configs/chromebook_coral_defconfig | 1 +
configs/sandbox_defconfig | 4 +
doc/device-tree-bindings/chosen.txt | 9 +
doc/device-tree-bindings/device.txt | 36 ++++
doc/device-tree-bindings/fsp/fsp2/apollolake/fsp-m.txt | 4 +
doc/device-tree-bindings/sound/da7219.txt | 113 +++++++++++
doc/device-tree-bindings/sound/max98357a.txt | 22 +++
drivers/core/Kconfig | 2 +-
drivers/core/acpi.c | 263
++++++++++++++++++++++++-
drivers/core/root.c | 13 ++
drivers/gpio/gpio-uclass.c | 22 +++
drivers/gpio/intel_gpio.c | 49 ++++-
drivers/gpio/sandbox.c | 77 ++++++++
drivers/i2c/designware_i2c.c | 36 +++-
drivers/i2c/designware_i2c.h | 15 ++
drivers/i2c/designware_i2c_pci.c | 96 +++++++++-
drivers/i2c/i2c-uclass.c | 4 +-
drivers/i2c/sandbox_i2c.c | 1 +
drivers/misc/Kconfig | 12 +-
drivers/misc/irq-uclass.c | 20 +-
drivers/misc/irq_sandbox.c | 16 ++
drivers/misc/p2sb-uclass.c | 26 ++-
drivers/mmc/pci_mmc.c | 78 +++++++-
drivers/pinctrl/intel/Kconfig | 12 ++
drivers/pinctrl/intel/pinctrl.c | 21 +-
drivers/pinctrl/intel/pinctrl_apl.c | 4 -
drivers/power/acpi_pmc/acpi-pmc-uclass.c | 9 -
drivers/rtc/sandbox_rtc.c | 13 ++
drivers/sound/Kconfig | 18 ++
drivers/sound/Makefile | 2 +
drivers/sound/da7219.c | 190
++++++++++++++++++
drivers/sound/max98357a.c | 161 ++++++++++++++++
drivers/spi/sandbox_spi.c | 1 +
include/acpi/acpi_device.h | 406
+++++++++++++++++++++++++++++++++++++++
include/acpi/acpi_dp.h | 287
++++++++++++++++++++++++++++
include/acpi/acpigen.h | 566
++++++++++++++++++++++++++++++++++++++++++++++++++++++
include/asm-generic/gpio.h | 27 +++
include/binman.h | 30 +++
include/dm/acpi.h | 119 +++++++++++-
include/dm/device.h | 2 +-
include/dt-bindings/interrupt-controller/x86-irq.h | 14 ++
include/dt-bindings/sound/nhlt.h | 24 +++
include/irq.h | 43 +++++
include/p2sb.h | 34 +++-
include/power/acpi_pmc.h | 14 ++
include/spi.h | 4 +-
include/test/ut.h | 17 ++
include/time.h | 11 ++
lib/acpi/Makefile | 3 +
lib/acpi/acpi_device.c | 823
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
lib/acpi/acpi_dp.c | 402
+++++++++++++++++++++++++++++++++++++++
lib/acpi/acpi_table.c | 1 +
lib/acpi/acpigen.c | 616
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
lib/binman.c | 59 +++++-
lib/time.c | 5 +
test/dm/Makefile | 2 +
test/dm/acpi.c | 278
+++++++++++++++++++++++++--
test/dm/acpi.h | 32 ++++
test/dm/acpi_dp.c | 492
+++++++++++++++++++++++++++++++++++++++++++++++
test/dm/acpigen.c | 1099
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
test/dm/gpio.c | 62 ++++++
test/dm/irq.c | 23 +++
test/dm/pci.c | 14 ++
tools/dtoc/dtb_platdata.py | 4 +-
tools/dtoc/dtoc_test_simple.dts | 1 +
tools/dtoc/test_dtoc.py | 3 +
107 files changed, 7998 insertions(+), 256 deletions(-)
create mode 100644 arch/x86/include/asm/acpi_nhlt.h
create mode 100644 arch/x86/lib/acpi_nhlt.c
create mode 100644 doc/device-tree-bindings/sound/da7219.txt
create mode 100644 doc/device-tree-bindings/sound/max98357a.txt
create mode 100644 drivers/sound/da7219.c
create mode 100644 drivers/sound/max98357a.c
create mode 100644 include/acpi/acpi_device.h
create mode 100644 include/acpi/acpi_dp.h
create mode 100644 include/acpi/acpigen.h
create mode 100644 include/dt-bindings/interrupt-controller/x86-irq.h
create mode 100644 include/dt-bindings/sound/nhlt.h
create mode 100644 lib/acpi/acpi_device.c
create mode 100644 lib/acpi/acpi_dp.c
create mode 100644 lib/acpi/acpigen.c
create mode 100644 test/dm/acpi.h
create mode 100644 test/dm/acpi_dp.c
create mode 100644 test/dm/acpigen.c

Regards,
Bin