[PATCH v2 00/39] dm: Add programmatic generation of ACPI tables (part A)
Simon Glass
sjg at chromium.org
Mon Mar 9 04:44:24 CET 2020
This is split from the original series in an attempt to get things applied
in chunks.
The first 20 or so patches here have been reviewed and the changes here
incorporate those comments.
Changes in v2:
- Don't bracket the definitions with DM_SPI
- Drop the other comment change since it is already applied
- Drop the Chrome OS pieces
- Rename the 'coreboot' console to 'U-Boot'
- Move LOGC_ACPI definition to this patch
- Fix definition of HID
- Infer hid-over-i2c CID value
- Add the hid-over-i2c binding document
- Add in the acpi_table.h header file to this patch
- Move the sandbox acpi_table.h header file to an earlier patch
- Use #defines for MADT and MCFG version numbers
- Drop two unnecessary __packed
- Move __packed to after struct
- Drop definition of ACPI_TABLE_CREATOR
- Make _acpi_write_dev_tables() static and switch argument order
- Generalise the ACPI function recursion with acpi_recurse_method()
- Drop CID value from i2c struct
- Switch parameter order of _acpi_fill_ssdt() and make it static
- Generalise the ACPI function recursion with acpi_recurse_method()
- Generalise the ACPI function recursion with acpi_recurse_method()
- Move ACPI_TABLE_CREATOR to here
- Generalise the ACPI function recursion with acpi_recurse_method()
Simon Glass (39):
cpu: Support querying the address width
spi: Add SPI mode enums
tpm: cr50: Release locality on exit
tpm: cr50: Add a comment for cr50_priv
tpm: cr50: Use the correct GPIO binding
tpm: Don't cleanup unless an error happens
dm: pci: Allow disabling auto-config for a device
x86: Correct wording of coreboot source code
x86: apl: Move p2sb ofdata reading to the correct method
pci: Adjust dm_pci_read_bar32() to return errors correctly
x86: apl: Add Global NVS table header
dm: core: Add basic ACPI support
acpi: Add a binding for ACPI settings in the device tree
acpi: Add a simple sandbox test
x86: Move acpi_table header to main include/ directory
acpi: Add an __ACPI__ preprocessor symbol
acpi: Add a central location for table version numbers
acpi: Add support for DMAR
acpi: Move acpi_fill_header() to generic code
acpi: Add a method to write tables for a device
acpi: Convert part of acpi_table to use acpi_ctx
x86: Allow devices to write ACPI tables
acpi: Drop code for missing XSDT from acpi_write_rsdp()
acpi: Move acpi_add_table() to generic code
acpi: Put table-setup code in its own function
acpi: Move the xsdt pointer to acpi_ctx
acpi: Add an acpi command
acpi: Add some tables required by the generation code
acpi: Add generation code for devices
acpi: Add functions to generate ACPI code
gpio: Add a method to convert a GPIO to ACPI
irq: Add a method to convert an interrupt to ACPI
acpi: Add support for SSDT generation
x86: acpi: Move MADT up 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
arch/sandbox/dts/test.dts | 13 +
arch/sandbox/include/asm/acpi_table.h | 9 +
arch/sandbox/include/asm/global_data.h | 1 +
arch/x86/cpu/baytrail/acpi.c | 2 +-
arch/x86/cpu/coreboot/timestamp.c | 4 +-
arch/x86/cpu/cpu.c | 2 +-
arch/x86/cpu/intel_common/p2sb.c | 35 +-
arch/x86/cpu/quark/acpi.c | 2 +-
arch/x86/cpu/tangier/acpi.c | 2 +-
arch/x86/dts/chromebook_coral.dts | 2 +-
arch/x86/include/asm/acpi_table.h | 376 ----
.../include/asm/arch-apollolake/global_nvs.h | 37 +
.../x86/include/asm/arch-coreboot/timestamp.h | 4 +-
arch/x86/include/asm/global_data.h | 1 +
arch/x86/include/asm/intel_pinctrl_defs.h | 2 -
arch/x86/lib/acpi.c | 2 +-
arch/x86/lib/acpi_s3.c | 2 +-
arch/x86/lib/acpi_table.c | 312 ++-
arch/x86/lib/tables.c | 2 +-
arch/x86/lib/zimage.c | 2 +-
cmd/Kconfig | 14 +
cmd/Makefile | 1 +
cmd/acpi.c | 179 ++
doc/device-tree-bindings/chosen.txt | 9 +
doc/device-tree-bindings/device.txt | 36 +
.../gpio/intel,apl-gpio.txt | 2 +-
.../input/hid-over-i2c.txt | 44 +
.../interrupt-controller/intel,acpi-gpe.txt | 2 +-
doc/device-tree-bindings/pci/x86-pci.txt | 24 +
drivers/core/Kconfig | 9 +
drivers/core/Makefile | 1 +
drivers/core/acpi.c | 267 +++
drivers/cpu/cpu_sandbox.c | 1 +
drivers/gpio/gpio-uclass.c | 21 +
drivers/misc/irq-uclass.c | 18 +-
drivers/pci/pci-uclass.c | 11 +-
drivers/tpm/cr50_i2c.c | 24 +-
drivers/tpm/tpm-uclass.c | 13 +-
include/acpi_device.h | 744 ++++++++
include/acpi_table.h | 632 +++++++
include/acpigen.h | 482 +++++
include/asm-generic/gpio.h | 27 +
include/cpu.h | 2 +
include/dm/acpi.h | 167 ++
include/dm/device.h | 5 +
include/dm/uclass-id.h | 1 +
include/irq.h | 43 +
include/log.h | 2 +
include/spi.h | 33 +
lib/Makefile | 1 +
lib/acpi/Makefile | 6 +
lib/acpi/acpi_device.c | 1204 ++++++++++++
lib/acpi/acpi_table.c | 259 +++
lib/acpi/acpigen.c | 1683 +++++++++++++++++
lib/efi_loader/efi_acpi.c | 2 +-
scripts/Makefile.lib | 4 +-
test/dm/Makefile | 1 +
test/dm/acpi.c | 399 ++++
test/dm/cpu.c | 1 +
59 files changed, 6555 insertions(+), 631 deletions(-)
create mode 100644 arch/sandbox/include/asm/acpi_table.h
create mode 100644 arch/x86/include/asm/arch-apollolake/global_nvs.h
create mode 100644 cmd/acpi.c
create mode 100644 doc/device-tree-bindings/device.txt
create mode 100644 doc/device-tree-bindings/input/hid-over-i2c.txt
create mode 100644 drivers/core/acpi.c
create mode 100644 include/acpi_device.h
create mode 100644 include/acpi_table.h
create mode 100644 include/acpigen.h
create mode 100644 include/dm/acpi.h
create mode 100644 lib/acpi/Makefile
create mode 100644 lib/acpi/acpi_device.c
create mode 100644 lib/acpi/acpi_table.c
create mode 100644 lib/acpi/acpigen.c
create mode 100644 test/dm/acpi.c
--
2.25.1.481.gfbce0eb801-goog
More information about the U-Boot
mailing list