package embox.driver.pci_chip

@DefaultImpl(pci_chip_x86)
abstract module pci_chip {

}

module pci_chip_x86 extends pci_chip {
	source "pci_chip_x86.c"

	@IncludeExport(path="drivers/pci/pci_chip")
	source "pci_utils.h"
}

module ti81xx extends pci_chip {
	source "ti81xx.c"

	@IncludeExport(path="drivers/pci/pci_chip")
	source "pci_utils.h"
}

module pci_chip_elbrus extends pci_chip {
	option string log_level="LOG_ERR"
	/* 1C+: 0xff10000 */
	/* 8CB: 0x200000 */
	option number pci_cfg_base=0x200000 /* 8CB */

	source "pci_chip_elbrus.c"

	@IncludeExport(path="drivers/pci/pci_chip")
	source "pci_utils.h"
}

module gpex extends pci_chip {
	option string log_level="LOG_ERR"

	source "gpex.c"

	@IncludeExport(path="drivers/pci/pci_chip")
	source "pci_utils.h"
}
