51 reg16 |= 0x8000 |
config->sata_port_map;
57 reg32 &= ~((1 << 31) | (1 << 30));
68 reg32 |= (
config->sata_port_map ^ 0xf) << 24;
69 reg32 |= (
config->sata_devslp_mux & 1) << 15;
77 reg32 =
read32(abar + 0x00);
89 if (
config->sata_devslp_disable) {
90 reg32 =
read32(abar + 0x24);
95 reg32 =
read32(abar + 0x24);
96 reg32 |= (1 << 5)|(1 << 4)|(1 << 3)|(1 << 2);
113 if ((
config->sata_port_map & ((1 << 3)|(1 << 2))) == 0)
114 reg32 |= (1 << 24) | (1 << 26);
116 if ((
config->sata_port_map & ((1 << 1)|(1 << 0))) == 0)
117 reg32 |= (1 << 20) | (1 << 18);
121 if (
config->sata_port0_gen3_tx)
125 (
config->sata_port0_gen3_tx &
129 if (
config->sata_port1_gen3_tx)
133 (
config->sata_port1_gen3_tx &
137 if (
config->sata_port2_gen3_tx)
141 (
config->sata_port2_gen3_tx &
145 if (
config->sata_port3_gen3_tx)
149 (
config->sata_port3_gen3_tx &
154 if (
config->sata_port0_gen3_dtle) {
166 if (
config->sata_port1_gen3_dtle) {
178 if (
config->sata_port2_gen3_dtle) {
189 if (
config->sata_port3_gen3_dtle) {
236 reg32 |= (1 << 17) | (1 << 16) | (1 << 19);
237 reg32 |= (1 << 31) | (1 << 30) | (1 << 29);
260 map |= (
config->sata_port_map ^ 0xf) << 8;
275 0x9c03, 0x9c05, 0x9c07, 0x9c0f,
276 0x9c83, 0x9c85, 0x282a, 0x9c87, 0x282a, 0x9c8f,
280 static const struct pci_driver pch_sata
__pci_driver = {
static void write32(void *addr, uint32_t val)
static uint32_t read32(const void *addr)
#define printk(level,...)
static DEVTREE_CONST void * config_of(const struct device *dev)
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline void pci_or_config16(const struct device *dev, u16 reg, u16 ormask)
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 PCI_INTERRUPT_LINE
#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)
#define SATA_IOBP_SP0_SECRT88
#define SATA_IOBP_SP1DTLE_EDGE
#define SATA_IOBP_SP3DTLE_DATA
#define SATA_DTLE_EDGE_SHIFT
#define SATA_SECRT88_VADJ_SHIFT
#define SATA_IOBP_SP2DTLE_EDGE
#define SATA_IOBP_SP3_SECRT88
#define SATA_SECRT88_VADJ_MASK
#define SATA_DTLE_DATA_SHIFT
#define IDE_DECODE_ENABLE
#define SATA_IOBP_SP1DTLE_DATA
#define SATA_IOBP_SP2DTLE_DATA
#define SATA_IOBP_SP0DTLE_EDGE
#define SATA_IOBP_SP1_SECRT88
#define SATA_IOBP_SP0DTLE_DATA
#define SATA_IOBP_SP3DTLE_EDGE
#define SATA_IOBP_SP2_SECRT88
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 const unsigned short pci_device_ids[]
static void sir_write(struct device *dev, int idx, u32 value)
static u32 sir_read(struct device *dev, int idx)
void pch_iobp_update(u32 address, u32 andvalue, u32 orvalue)
#define RCBA32_AND_OR(x, and, or)
void(* read_resources)(struct device *dev)
typedef void(X86APIP X86EMU_intrFuncs)(int num)