# 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_PRT_BUS_NAME
	string "ACPI name of PCI bus"
	default "_SB.PCI0"
	help
	  ACPI name of PCI bus.

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.

endif # ACPI

config ACPI_HID_LEN_MAX
	int "Size of HID name"
	default 12
	help
	  Size of HID string.
