x86: Initial ACPI support for Intel BayTrail
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest9 of 26 patches 0 repliesNew
9 of 26 patches are in this archive. The cover letter announces 26.
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 4/26 | x86: irq: Reserve IRQ9 for ACPI in PIC mode | +0 | 1 reply | |
| 4/26 | x86: irq: Reserve IRQ9 for ACPI in PIC mode | +0 | 0 replies | |
| 5/26 | x86: irq: Enable SCI on IRQ9 | +0 | 1 reply | |
| 5/26 | x86: irq: Enable SCI on IRQ9 | +0 | 1 reply | |
| 5/26 | x86: irq: Enable SCI on IRQ9 | +0 | 0 replies | |
| 11/26 | x86: acpi: Remove unneeded codes | +0 | 0 replies | |
| 13/26 | x86: acpi: Reorder codes in acpi_table.h | +0 | 0 replies | |
| 16/26 | x86: acpi: Adjust orders in acpi_table.c | +0 | 0 replies | |
| 21/26 | x86: baytrail: Generate ACPI FADT/MADT tables | +0 | 1 reply |
Reviews trailers per patch
None of the 9 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Stefan Roese |
|---|---|
| Series | R-b T-b |
| 4/26 | |
| 4/26 | |
| 5/26 | |
| 5/26 | |
| 5/26 | |
| 11/26 | |
| 13/26 | |
| 16/26 | |
| 21/26 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [U-Boot] [PATCH 00/26] x86: Initial ACPI support for Intel BayTrail
Hi Bin,
thank you very much for this patch series. I've given the patchset a quick review and tested it shortly on the BayTrail Congatec board. And have seen no issues so far. Shutdown and reboot also seem to work just fine. I'll definitely give it a more thorough test in the next days / weeks.
I've sent you a few minor comments to some of the patches. But please add my:
to all patches.
Thanks,
Stefan
Quoted 137 lines · Bin Meng
This series introduces initial ACPI support for Intel BayTrail.
Advanced Configuration and Power Interface (ACPI) aims to establish industry-standard interfaces enabling OS-directed configuration, power management, and thermal management of mobile, desktop, and server platforms.
Linux can boot without ACPI with "acpi=off" command line parameter, but with ACPI the kernel gains the capabilities to handle power management. For Windows, ACPI is a must-have firmware feature since Windows Vista.
CONFIG_GENERATE_ACPI_TABLEis the config option to turn on ACPI support in U-Boot. This requires Intel ACPI compiler to be installed on your host to compile ACPI DSDT table written in ASL format to AML format. You can get the compiler via "apt-get install iasl" if you are on Ubuntu or download the source from acpica website to compile one by yourself.Current ACPI support in U-Boot is not complete. More features will be added in the future. The status as of today is:
* Support generating RSDT, XSDT, FACS, FADT, MADT, MCFG tables.
* Support one static DSDT table only, compiled by Intel ACPI compiler.
* Support S0/S5 only, no S3/S4 boot path support yet.
* No ACPI global NVS support (this can be optional, but we may need it in the future to simplify ASL code logic when utilizing NVS variables).
* No dynamic AML bytecodes insertion at run-time (this is optional as we can always describe the board in the static way).
* All ACPI interrupts are routed to SCI for OS to handle. No legacy SMI implementation within U-Boot.
* Install Ubuntu from U-Boot plus SeaBIOS does not work.
* Install Windows 8.1/10 from U-Boot plus SeaBIOS does not work.So far ACPI is enabled on BayTrail based boards. Testing was done by booting a pre-installed Ubuntu 14.04 from a SATA drive. Most devices seem to work correctly and the board can respond a reboot/shutdown command from Ubuntu.
This series is available at u-boot-x86/acpi-working.
Bin Meng (26):
x86: Dropasm/acpi.h
x86: Fix build warning intables.cwhenCONFIG_SEABIOS
x86: acpi: Fix compiler warnings inwrite_acpi_tables()
x86: irq: Reserve IRQ9 for ACPI in PIC mode
x86: irq: Enable SCI on IRQ9
x86: dts: Update to include ACTL register details
acpi: Change build log for ASL files
acpi: Explicitly spell outdsdt.cin the make rule
acpi: Specify U-Boot include path for ASL files
acpi: Do not disable all errors/warnings/remarks when compiling ASL
x86: acpi: Remove unneeded codes
x86: acpi: Various changes toacpi_table.h
x86: acpi: Reorder codes inacpi_table.h
x86: acpi: Removeacpi_create_ssdt_generator()
x86: acpi: Changefill_header()
x86: acpi: Adjust orders inacpi_table.c
x86: acpi: Change table write routine signature to use u32
x86: acpi: Align FACS table to a 64 byte boundary
x86: acpi: Add some generic ASL libraries
x86: baytrail: Add platform ASL files
x86: baytrail: Generate ACPI FADT/MADT tables
x86: baytrail: Enable ACPI table generation for all boards
x86: baytrail: Add .gitignore for ACPI enabled boards
x86: Remove acpi=off boot parameter when ACPI is on
x86: doc: Minor update for accuracy
x86: doc: Document ACPI supportarch/x86/cpu/baytrail/Makefile | 1 + arch/x86/cpu/baytrail/acpi.c | 162 +++++++ arch/x86/cpu/irq.c | 29 ++ arch/x86/cpu/ivybridge/lpc.c | 1 - arch/x86/cpu/ivybridge/model_206ax.c | 1 - arch/x86/cpu/ivybridge/northbridge.c | 1 - arch/x86/dts/bayleybay.dts | 1 + arch/x86/dts/conga-qeval20-qa3-e3845.dts | 1 + arch/x86/dts/crownbay.dts | 1 + arch/x86/dts/galileo.dts | 1 + arch/x86/dts/minnowmax.dts | 1 + arch/x86/dts/qemu-x86_q35.dts | 2 + arch/x86/include/asm/acpi.h | 24 - arch/x86/include/asm/acpi/debug.asl | 136 ++++++ arch/x86/include/asm/acpi/globutil.asl | 113 +++++ arch/x86/include/asm/acpi/statdef.asl | 82 ++++ arch/x86/include/asm/acpi_table.h | 447 ++++++++----------- .../include/asm/arch-baytrail/acpi/irq_helper.h | 111 +++++ .../include/asm/arch-baytrail/acpi/irqlinks.asl | 489 +++++++++++++++++++++ .../include/asm/arch-baytrail/acpi/irqroute.asl | 48 ++ arch/x86/include/asm/arch-baytrail/acpi/irqroute.h | 27 ++ arch/x86/include/asm/arch-baytrail/acpi/lpc.asl | 121 +++++ .../include/asm/arch-baytrail/acpi/platform.asl | 34 ++ .../include/asm/arch-baytrail/acpi/sleepstates.asl | 13 + .../asm/arch-baytrail/acpi/southcluster.asl | 211 +++++++++ arch/x86/include/asm/arch-baytrail/acpi/usb.asl | 34 ++ arch/x86/include/asm/arch-baytrail/acpi/xhci.asl | 31 ++ arch/x86/include/asm/arch-baytrail/device.h | 74 ++++ arch/x86/include/asm/arch-baytrail/iomap.h | 70 +++ arch/x86/include/asm/arch-baytrail/irq.h | 86 ++++ arch/x86/include/asm/irq.h | 4 + arch/x86/lib/acpi_table.c | 311 ++++++------- arch/x86/lib/tables.c | 1 + board/congatec/conga-qeval20-qa3-e3845/.gitignore | 3 + board/congatec/conga-qeval20-qa3-e3845/Makefile | 1 + .../conga-qeval20-qa3-e3845/acpi/mainboard.asl | 13 + board/congatec/conga-qeval20-qa3-e3845/dsdt.asl | 14 + board/intel/bayleybay/.gitignore | 3 + board/intel/bayleybay/Makefile | 1 + board/intel/bayleybay/acpi/mainboard.asl | 11 + board/intel/bayleybay/dsdt.asl | 14 + board/intel/minnowmax/.gitignore | 3 + board/intel/minnowmax/Makefile | 1 + board/intel/minnowmax/acpi/mainboard.asl | 11 + board/intel/minnowmax/dsdt.asl | 14 + configs/bayleybay_defconfig | 1 + configs/conga-qeval20-qa3-e3845_defconfig | 1 + configs/minnowmax_defconfig | 1 + doc/README.x86 | 76 +++- doc/device-tree-bindings/misc/intel,irq-router.txt | 5 + include/configs/x86-common.h | 9 +- scripts/Makefile.lib | 8 +- 52 files changed, 2368 insertions(+), 491 deletions(-)create mode 100644
arch/x86/cpu/baytrail/acpi.c
delete mode 100644arch/x86/include/asm/acpi.h
create mode 100644arch/x86/include/asm/acpi/debug.asl
create mode 100644arch/x86/include/asm/acpi/globutil.aslcreate mode 100644arch/x86/include/asm/acpi/statdef.asl
create mode 100644arch/x86/include/asm/arch-baytrail/acpi/irq_helper.hcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/irqlinks.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/irqroute.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/irqroute.hcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/lpc.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/platform.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/sleepstates.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/southcluster.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/usb.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/acpi/xhci.aslcreate mode 100644arch/x86/include/asm/arch-baytrail/device.hcreate mode 100644arch/x86/include/asm/arch-baytrail/iomap.hcreate mode 100644arch/x86/include/asm/arch-baytrail/irq.hcreate mode 100644 board/congatec/conga-qeval20-qa3-e3845/.gitignore
Quoted 9 lines
create mode 100644 board/congatec/conga-qeval20-qa3-e3845/acpi/mainboard.asl create mode 100644 board/congatec/conga-qeval20-qa3-e3845/dsdt.asl create mode 100644 board/intel/bayleybay/.gitignore
create mode 100644 board/intel/bayleybay/acpi/mainboard.asl create mode 100644 board/intel/bayleybay/dsdt.asl
create mode 100644 board/intel/minnowmax/.gitignore
create mode 100644 board/intel/minnowmax/acpi/mainboard.asl create mode 100644 board/intel/minnowmax/dsdt.asl
Viele Gr??e,
Stefan
Signature · 3 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de