# 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_POWEROFF
	bool "Power off functionality by setting system to S5 power state"
	help
	  Enable support for system power off through ACPI.

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
