23 May, 2016

29 commits

  • - Move the command portion of arch/x86/cpu/qemu/fw_cfg.c into
    cmd/qemu_fw_cfg.c
    - Move arch/x86/include/asm/fw_cfg.h to include/qemu_fw_cfg.h
    - Rename ACPI table portion to arch/x86/cpu/qemu/acpi_table.c

    Signed-off-by: Tom Rini
    Reviewed-by: Bin Meng

    Tom Rini
     
  • Remove ACPI from the TODO list and add a new section to document
    current ACPI support in U-Boot.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • This updates the doc for the following places:
    - Mention CRB for Bayley Bay
    - Mention Congatec QEVAL 2.0 & conga-QA3/E3845
    - Limit part of the QEMU paragraphs to 80 cols
    - Correct some typos (drive, it's, Ubuntu)
    - Add description for "console=ttyS0,115200"
    - Remove CONFIG_BOOTDELAY description which is already
    in x86-common.h

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Remove the kernel boot parameter acpi=off so that kernel can turn on
    ACPI support.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Let git ignore dsdt.aml, dsdt.asl.tmp and dsdt.c files.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Enable ACPI table generation by creating a DSDT table for all baytrail
    boards: conga-qeval20-qa3-e3845, bayleybay and minnowmax.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • FADT/MADT tables are platform specific. Generate them for BayTrail.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • This adds basic BayTrail platform ASL files. They are intended to be
    included in dsdt.asl of any board that is based on this platform.

    Note: ACPI mode support for GPIO/LPSS/SCC/LPE are not supported for
    now. They will be added in the future.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Like other MADT table write routines, make acpi_create_madt_lapics()
    return how many bytes it has written instead of the table end addr.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • This adds several generic ASL libraries that can be included by
    other ASL files, which are:

    - debug.asl: for debug output using POST I/O port and legacy serial port
    - globutil.asl: for string compare routines
    - statdef.asl: for _STA status values

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • The comment of initializing table header revision says:

    /* ACPI 1.0/2.0: 1, ACPI 3.0: 2, ACPI 4.0: 3 */

    which might mislead it may increase per ACPI spec revision.
    However this is not the case. It's actually a fixed number
    as defined in ACPI spec, and in the laest ACPI spec 6.1,
    some table header revisions are still 1. Clean these up.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Per ACPI spec, the FACS table address must be aligned to a 64 byte
    boundary (Windows checks this, but Linux does not).

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Use u32 instead of unsigned long in the table write routines, as
    other routines do.

    Signed-off-by: Bin Meng
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Rearrange the routine order a little bit, to follow the order
    in which ACPI table is defined in acpi_table.h.

    Signed-off-by: Bin Meng

    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Rename fill_header() to acpi_fill_header() for consistency.
    Change its signature to remove the 'length' parameter and
    make it a public API.

    Also remove the unnecessary include files, and improve the
    AmlCode[] comment a little bit.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • This acpi_create_ssdt_generator() currently does nothing.
    Remove this for now.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Reorder the ACPI tables appearance by following the order:
    RSDP, RSDT, XSDT, FADT, FACS, MADT, MCFG. And adjust the
    table flag defines accordingly.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • - Use "U-BOOT" and "U-BOOTBL" for the OEM ID and OEM table ID.
    - Do not typedef acpi_header_t, instead use struct acpi_table_hader.
    - Use a shorter name aslc_id and aslc-revision.
    - Change MCFG base address to use 32-bit value pairs (_l and _h).
    - Apply ACPI_APIC_ prefix to MADT APIC type macros and make
    their names to be more readable.
    - Apply __packed to struct acpi_madt_irqoverride and struct
    acpi_madt_lapic_nmi tables, as they are not naturally aligned
    by the compiler which leads to wrong sizeof(struct).
    - Rename model to res1 as it is reserved after ACPI spec 1.0.
    - Apply ACPI_ prefix to the PM profile macros and change them
    to enum.
    - Add ospm_flags to FACS structure which is defined since ACPI 4.0.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • - Remove #include <> header files.
    - Remove APM_CNT register defines, which should not be here as
    they are SMI related.
    - Remove MP_IRQ_ defines as they are duplicates of the same ones
    in asm/mpspec.h.
    - Remove ACTL register defines, which should not be here as they
    are chipset specific.
    - Remove functional fixed hardware defines, which are not used.
    - Remove dev_scope related defines, which are not used.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Remove -va option when invoking IASL compiler so that we can see
    errors/warnings/remarks in the build log.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • It will be much easier if we split the whole dsdt.asl file into
    multiple smaller ASL parts and have access to U-Boot include files.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Currently the make rule for dsdt.c uses a wildcard, as below:

    $(obj)/%.c: $(src)/%.asl

    To avoid any side effect, explicitly mention dsdt.c as this is
    the file we intend to use for ACPI DSDT AML generation.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Currently when compiling U-Boot with ASL file, the build log says:

    ASL board/intel/bayleybay/dsdt.c

    This looks odd as ASL compiler's input is ASL file, not C file.
    Change the make rule to use $< instead.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • This updates all x86 boards that currently have IRQ router in the
    dts files to include ACTL register details.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • By default SCI is disabled after power on. ACTL is the register to
    enable SCI and route it to PIC/APIC. To support both ACPI in PIC
    mode and APIC mode, configure SCI to use IRQ9.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese

    Bin Meng
     
  • Reserve IRQ9 which is to be used as SCI interrupt number
    for ACPI in PIC mode.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Fix the following two build warnings in function 'write_acpi_tables':

    warning: format '%lx' expects argument of type 'long unsigned int',
    but argument 2 has type 'u32' [-Wformat=]

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • The following build warning is seen in tables.c:

    warning: implicit declaration of function 'memalign'

    Add the missing header file to fix it.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     
  • Remove asm/acpi.h which is never used.

    Signed-off-by: Bin Meng
    Reviewed-by: Stefan Roese
    Tested-by: Stefan Roese
    Reviewed-by: Simon Glass

    Bin Meng
     

18 May, 2016

2 commits


17 May, 2016

9 commits