# ACPI configuration options

# Copyright (c) 2023 Intel Corporation
# SPDX-License-Identifier: Apache-2.0

menuconfig ACPI
	bool "ACPI support"
	help
	  This option enables support for ACPI driver.

if ACPI

module = ACPI
module-str = acpi
source "subsys/logging/Kconfig.template.log_config"

if PCIE_PRT

config ACPI_MAX_PRT_ENTRY
	int "Size of PRT buffer"
	default 4096
	help
	  Size of PRT table buffer.

endif # PCIE_PRT

# Default minimum system heap required by ACPI
config HEAP_MEM_POOL_ADD_SIZE_ACPI
	def_int 1048576 # 1MB

config ACPI_SHELL
	bool "ACPI command Shell"
	depends on SHELL
	help
	  Enable commands for debugging ACPI using the built-in shell.

config ACPI_DEV_MAX
	int "maximum child devices"
	default 1000
	help
	  maximum acpi child devices.

config ACPI_IRQ_VECTOR_MAX
	int "Interrupt vectors per device"
	default 32
	help
	  Maximum interrupt vectors per device.

config ACPI_MMIO_ENTRIES_MAX
	int "MMIO entries per device"
	default 32
	help
	  Maximum MMIO entries per device.

endif # ACPI
