28 printk(
BIOS_ERR,
"i82801gx_sata: error: cannot determine port config\n");
46 die(
"Couldn't find the LPC device!\n");
52 if (!ahci_supported) {
81 printk(
BIOS_ERR,
"i82801gx_sata: error: device not in devicetree.cb!\n");
92 switch (
config->sata_mode) {
134 if (ahci_res !=
NULL)
220 static const struct pci_driver i82801gx_sata_driver
__pci_driver = {
static void write32(void *addr, uint32_t val)
#define printk(level,...)
void __noreturn die(const char *fmt,...)
DEVTREE_CONST struct device * pcidev_on_root(uint8_t dev, uint8_t fn)
struct resource * probe_resource(const struct device *dev, unsigned int index)
See if a resource structure already exists for a given index.
void i82801gx_enable(struct device *dev)
static __always_inline void pci_or_config32(const struct device *dev, u16 reg, u32 ormask)
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline void pci_and_config16(const struct device *dev, u16 reg, u16 andmask)
static __always_inline void pci_and_config8(const struct device *dev, u16 reg, u8 andmask)
static __always_inline void pci_update_config32(const struct device *dev, u16 reg, u32 mask, u32 or)
static __always_inline void pci_update_config8(const struct device *dev, u16 reg, u8 mask, u8 or)
static __always_inline u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
static __always_inline void pci_write_config16(const struct device *dev, u16 reg, u16 val)
static __always_inline void pci_write_config8(const struct device *dev, u16 reg, u8 val)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define PCI_INTERRUPT_LINE
#define PCI_COMMAND_MASTER
#define PCI_COMMAND_MEMORY
#define PCI_BASE_ADDRESS_5
void pci_dev_enable_resources(struct device *dev)
void pci_dev_read_resources(struct device *dev)
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
void pci_dev_set_resources(struct device *dev)
static void * res2mmio(const struct resource *res, unsigned long offset, unsigned long mask)
#define SIG_MODE_PRI_NORMAL
#define IDE_DECODE_ENABLE
@ SATA_MODE_IDE_LEGACY_COMBINED
static void sata_init(struct device *dev)
void sata_enable(struct device *dev)
static struct device_operations sata_ops
static const struct pci_driver i82801gx_sata_driver __pci_driver
static const unsigned short sata_ids[]
static u8 get_ich7_sata_ports(void)
void(* read_resources)(struct device *dev)
DEVTREE_CONST void * chip_info