122 reg16 |= 0x8000 |
config->sata_port_map;
132 reg32 =
read32(abar + 0x00);
134 reg32 &= ~0x00020060;
136 if (
config->sata_interface_speed_support)
138 reg32 &= ~0x00f00000;
139 reg32 |= (
config->sata_interface_speed_support & 0x03)
148 reg32 =
read32(abar + 0x24);
149 reg32 &= ~0x00000002;
152 reg32 =
read32(abar + 0xa0);
153 reg32 &= ~0x00000005;
183 if (
config->sata_port0_gen3_tx)
185 config->sata_port0_gen3_tx);
187 if (
config->sata_port1_gen3_tx)
189 config->sata_port1_gen3_tx);
219 ~(1 << 16 | 0x3f << 7 | 3 << 5 | 3 << 3),
220 1 << 24 | 1 << 22 | 1 << 20 | 1 << 19 |
221 1 << 18 | 1 << 14 | 0x04 << 7 | 1 << 3);
242 map |= (
config->sata_port_map ^ 0x3f) << 8;
270 0x1e00, 0x1e01, 0x1e02, 0x1e03,
273 static const struct pci_driver pch_sata
__pci_driver = {
void generate_sata_ssdt_ports(const char *scope, uint32_t enable_map)
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define printk(level,...)
struct resource * probe_resource(const struct device *dev, unsigned int index)
See if a resource structure already exists for a given index.
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 u16 pci_read_config16(const struct device *dev, u16 reg)
static __always_inline void pci_or_config8(const struct device *dev, u16 reg, u8 ormask)
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_update_config16(const struct device *dev, u16 reg, u16 mask, u16 or)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
unsigned int get_uint_option(const char *name, const unsigned int fallback)
#define PCI_COMMAND_MASTER
#define PCI_COMMAND_MEMORY
#define PCI_BASE_ADDRESS_2
#define PCI_BASE_ADDRESS_0
#define PCI_BASE_ADDRESS_5
#define PCI_BASE_ADDRESS_1
#define PCI_BASE_ADDRESS_3
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)
#define IORESOURCE_ASSIGNED
#define IDE_DECODE_ENABLE
void pch_iobp_update(u32 address, u32 andvalue, u32 orvalue)
#define SATA_IOBP_SP0G3IR
#define SATA_IOBP_SP1G3IR
static void sata_enable(struct device *dev)
static const struct pci_driver pch_sata __pci_driver
static void sata_init(struct device *dev)
static struct device_operations sata_ops
static void sata_set_resources(struct device *dev)
static void sata_read_resources(struct device *dev)
static const unsigned short pci_device_ids[]
static void sir_write(struct device *dev, int idx, u32 value)
static const char * sata_acpi_name(const struct device *dev)
static void sata_fill_ssdt(const struct device *dev)
static u32 sir_read(struct device *dev, int idx)
void(* read_resources)(struct device *dev)
DEVTREE_CONST void * chip_info
typedef void(X86APIP X86EMU_intrFuncs)(int num)