Merge tag 'ti-v2020.07-rc3' of https://gitlab.denx.de/u-boot/custodians/u-boot-ti
[oweals/u-boot.git] / arch / x86 / include / asm / acpi_table.h
1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Based on acpi.c from coreboot
4  *
5  * Copyright (C) 2015, Saket Sinha <saket.sinha89@gmail.com>
6  * Copyright (C) 2016, Bin Meng <bmeng.cn@gmail.com>
7  */
8
9 #ifndef __ASM_ACPI_TABLE_H__
10 #define __ASM_ACPI_TABLE_H__
11
12 struct acpi_facs;
13 struct acpi_fadt;
14 struct acpi_global_nvs;
15 struct acpi_madt_ioapic;
16 struct acpi_madt_irqoverride;
17 struct acpi_madt_lapic_nmi;
18 struct acpi_mcfg_mmconfig;
19 struct acpi_table_header;
20
21 /* These can be used by the target port */
22
23 void acpi_fill_header(struct acpi_table_header *header, char *signature);
24 void acpi_create_fadt(struct acpi_fadt *fadt, struct acpi_facs *facs,
25                       void *dsdt);
26 int acpi_create_madt_lapics(u32 current);
27 int acpi_create_madt_ioapic(struct acpi_madt_ioapic *ioapic, u8 id,
28                             u32 addr, u32 gsi_base);
29 int acpi_create_madt_irqoverride(struct acpi_madt_irqoverride *irqoverride,
30                                  u8 bus, u8 source, u32 gsirq, u16 flags);
31 int acpi_create_madt_lapic_nmi(struct acpi_madt_lapic_nmi *lapic_nmi,
32                                u8 cpu, u16 flags, u8 lint);
33 u32 acpi_fill_madt(u32 current);
34 int acpi_create_mcfg_mmconfig(struct acpi_mcfg_mmconfig *mmconfig, u32 base,
35                               u16 seg_nr, u8 start, u8 end);
36 u32 acpi_fill_mcfg(u32 current);
37 u32 acpi_fill_csrt(u32 current);
38 void acpi_create_gnvs(struct acpi_global_nvs *gnvs);
39 ulong write_acpi_tables(ulong start);
40
41 /**
42  * acpi_get_rsdp_addr() - get ACPI RSDP table address
43  *
44  * This routine returns the ACPI RSDP table address in the system memory.
45  *
46  * @return:     ACPI RSDP table address
47  */
48 ulong acpi_get_rsdp_addr(void);
49
50 #endif /* __ASM_ACPI_TABLE_H__ */