From patchwork Sun Apr 19 20:36:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Simon Glass X-Patchwork-Id: 238036 List-Id: U-Boot discussion From: sjg at chromium.org (Simon Glass) Date: Sun, 19 Apr 2020 14:36:48 -0600 Subject: [PATCH v7 0/9] dm: Add programmatic generation of ACPI tables (part A) Message-ID: <20200419203657.163143-1-sjg@chromium.org> This is split from the original series in an attempt to get things applied in chunks. v7 is just a rebase as requested Changes in v7: - Rebase to master Changes in v5: - Drop bisectability changes Changes in v4: - Put 'interrupts-extended' property on one line - Rename acpi-probed to linux,probed - Note that linux,probed is an out-of-tree feature - Separate out the log newline - Update comment in acpi_inc_align() to show the alignment - Put back cast on table_compute_checksum() - Rename list_fact() to list_fadt() - Add a comment to dump_hdr() Changes in v3: - Drop mention of PRIC - Rename acpi,desc to acpi,ddn - Correct description of acpi,probed - Drop hid-descr-addr - Just add the device.txt binding file in this patch - Change the example to ELAN - Add a pointer to information about acpi,compatible - Rename acpi_align_large() to acpi_align64() - Fix 'RSDP' typo - Fix 'XDST' typo - Move acpi_align_large() out of dm_test_acpi_setup_base_tables() - Beef up the comment explaining how the unaligned address is used Changes in v2: - Fix definition of HID - Infer hid-over-i2c CID value - Add the hid-over-i2c binding document - 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() Simon Glass (9): acpi: Add a binding for ACPI settings in the device tree 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 arch/sandbox/dts/test.dts | 4 + arch/sandbox/include/asm/global_data.h | 1 + arch/x86/include/asm/global_data.h | 1 + arch/x86/lib/acpi_table.c | 239 +++++-------------------- cmd/Kconfig | 14 ++ cmd/Makefile | 1 + cmd/acpi.c | 186 +++++++++++++++++++ doc/device-tree-bindings/device.txt | 36 ++++ drivers/core/acpi.c | 62 +++++++ include/acpi/acpi_table.h | 65 +++++++ include/dm/acpi.h | 37 ++++ lib/acpi/acpi_table.c | 174 +++++++++++++++++- test/dm/acpi.c | 238 +++++++++++++++++++++++- 13 files changed, 855 insertions(+), 203 deletions(-) create mode 100644 cmd/acpi.c create mode 100644 doc/device-tree-bindings/device.txt