14 #if CONFIG(INTEL_LYNXPOINT_LP)
15 #define SATA_PORT_MASK 0x0f
17 #define SATA_PORT_MASK 0x3f
78 reg32 &= ~(0x3f << 7);
81 reg32 &= ~(0x03 << 5);
86 reg32 &= ~((1 << 31) | (1 << 30));
98 reg32 |= (
config->sata_devslp_mux & 1) << 15;
105 reg32 =
read32(abar + 0x00);
107 reg32 &= ~0x00020060;
116 reg32 =
read32(abar + 0x09);
119 if (
config->sata_devslp_disable)
122 reg32 |= (1 << 5)|(1 << 4)|(1 << 3)|(1 << 2);
124 reg32 &= ~0x00000002;
129 if (
config->sata_port0_gen3_tx)
131 config->sata_port0_gen3_tx);
133 if (
config->sata_port1_gen3_tx)
135 config->sata_port1_gen3_tx);
138 if (
config->sata_port0_gen3_dtle) {
150 if (
config->sata_port1_gen3_dtle) {
192 reg32 |= (1 << 17) | (1 << 16);
193 reg32 |= (1 << 31) | (1 << 30) | (1 << 29);
241 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 __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 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)
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_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 PCI_DID_INTEL_LPT_LP_SATA_RAID_2
#define PCI_DID_INTEL_LPT_H_DESKTOP_SATA_RAID_PREM
#define PCI_DID_INTEL_LPT_H_DESKTOP_SATA_RAID_1
#define PCI_DID_INTEL_LPT_LP_SATA_AHCI
#define PCI_DID_INTEL_LPT_H_MOBILE_SATA_AHCI
#define PCI_DID_INTEL_LPT_H_MOBILE_SATA_RAID_1
#define PCI_DID_INTEL_LPT_H_DESKTOP_SATA_AHCI
#define PCI_DID_INTEL_LPT_LP_SATA_RAID_1
#define PCI_DID_INTEL_LPT_H_MOBILE_SATA_RAID_PREM
#define PCI_DID_INTEL_LPT_H_MOBILE_SATA_IDE
#define PCI_DID_INTEL_LPT_H_MOBILE_SATA_IDE_P45
#define PCI_DID_INTEL_LPT_H_DESKTOP_SATA_RAID_2
#define PCI_DID_INTEL_LPT_H_MOBILE_SATA_RAID_2
#define PCI_DID_INTEL_LPT_H_DESKTOP_SATA_IDE_P45
#define PCI_DID_INTEL_LPT_H_DESKTOP_SATA_IDE
#define PCI_DID_INTEL_LPT_LP_SATA_RAID_PREM
#define SATA_IOBP_SP1DTLE_EDGE
#define SATA_DTLE_EDGE_SHIFT
#define SATA_DTLE_DATA_SHIFT
#define IDE_DECODE_ENABLE
#define SATA_IOBP_SP1DTLE_DATA
#define SATA_IOBP_SP0DTLE_EDGE
#define SATA_IOBP_SP0DTLE_DATA
void pch_iobp_update(u32 address, u32 andvalue, u32 orvalue)
#define SATA_IOBP_SP0G3IR
#define SATA_IOBP_SP1G3IR
#define RCBA32_AND_OR(x, and, or)
void sata_enable(struct device *dev)
static int pch_is_lp(void)
static void sir_unset_and_set_mask(struct device *dev, int idx, u32 unset, u32 set)
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(* read_resources)(struct device *dev)
DEVTREE_CONST void * chip_info
typedef void(X86APIP X86EMU_intrFuncs)(int num)