This series is split off from the original ACPI series and renumbered to version 1.
It includes functions for generating more ACPI constructs as well as I2C, GPIO and sound support. There are also quite a few patches related to getting coral to work correctly with ACPI. Changes in v1: - Add a way to set the binman ROM offset - Add linux/err.h header - Capitalise ACPI_OPS_PTR - Use acpi,ddn instead of acpi,desc - Add a check for invalid node - Add NHLT support - Capitalise ACPI_OPS_PTR - Rebase to master - Use acpi,ddn instead of acpi,desc - Drop the unwanted acpi_device_write_gpio_desc() - Rename max97357a to max98357a - Add NHLT support - Capitalise ACPI_OPS_PTR - Rebase to master - Add a new patch to support building up an NHLT structure - Add new patch to add error checking for csrt table generation - Use acpi_get_path() to get device path - Add new patch to improve designware_i2c debugging - Capitalise ACPI_OPS_PTR Simon Glass (43): 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 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_name member x86: Add support for building up an NHLT structure 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: Adjust FSP-M code to avoid hard-coded address x86: Store the coreboot table address in global_data x86: mp: Allow use of mp_run_on_cpus() without MP 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 arch/Kconfig | 1 + arch/x86/cpu/acpi_gpe.c | 26 + arch/x86/cpu/apollolake/fsp_m.c | 6 +- arch/x86/cpu/apollolake/fsp_s.c | 56 +- arch/x86/cpu/baytrail/acpi.c | 4 +- arch/x86/cpu/coreboot/coreboot.c | 4 +- arch/x86/cpu/coreboot/tables.c | 8 +- arch/x86/cpu/cpu.c | 21 +- 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/mp_init.c | 12 +- 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/include/asm/acpi_nhlt.h | 314 ++++++++++++ arch/x86/include/asm/acpi_table.h | 10 +- arch/x86/include/asm/global_data.h | 2 + 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 | 32 +- arch/x86/lib/fsp/fsp_common.c | 2 +- arch/x86/lib/fsp2/fsp_silicon_init.c | 1 + arch/x86/lib/tables.c | 38 +- configs/sandbox_defconfig | 4 + doc/device-tree-bindings/device.txt | 23 + doc/device-tree-bindings/sound/da7219.txt | 113 ++++ doc/device-tree-bindings/sound/max98357a.txt | 22 + drivers/core/acpi.c | 34 ++ drivers/gpio/intel_gpio.c | 49 +- drivers/i2c/designware_i2c.c | 35 +- drivers/i2c/designware_i2c.h | 15 + drivers/i2c/designware_i2c_pci.c | 104 +++- drivers/i2c/i2c-uclass.c | 4 +- drivers/misc/irq-uclass.c | 2 +- drivers/misc/p2sb-uclass.c | 26 +- drivers/mmc/pci_mmc.c | 78 ++- drivers/pinctrl/intel/Kconfig | 4 + drivers/pinctrl/intel/pinctrl.c | 21 +- drivers/pinctrl/intel/pinctrl_apl.c | 4 - drivers/power/acpi_pmc/acpi-pmc-uclass.c | 9 - drivers/sound/Kconfig | 18 + drivers/sound/Makefile | 2 + drivers/sound/da7219.c | 189 +++++++ drivers/sound/max98357a.c | 160 ++++++ include/acpi/acpi_device.h | 1 + include/acpi/acpigen.h | 165 ++++++ include/binman.h | 30 ++ include/dm/acpi.h | 39 ++ .../interrupt-controller/x86-irq.h | 14 + include/dt-bindings/sound/nhlt.h | 23 + include/p2sb.h | 34 +- include/power/acpi_pmc.h | 14 + lib/acpi/acpigen.c | 134 +++++ lib/binman.c | 58 ++- test/dm/acpi.c | 3 +- test/dm/acpigen.c | 229 ++++++++- tools/dtoc/dtb_platdata.py | 4 +- tools/dtoc/dtoc_test_simple.dts | 1 + tools/dtoc/test_dtoc.py | 3 + 65 files changed, 2663 insertions(+), 137 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/dt-bindings/interrupt-controller/x86-irq.h create mode 100644 include/dt-bindings/sound/nhlt.h -- 2.27.0.290.gba653c62da-goog