![]() |
coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
|
Go to the source code of this file.
Data Structures | |
struct | dw_i2c_speed_config |
struct | dw_i2c_bus_config |
Macros | |
#define | DW_I2C_DEBUG BIOS_NEVER |
#define | DW_I2C_SPEED_CONFIG_COUNT 4 |
Functions | |
uintptr_t | dw_i2c_get_soc_early_base (unsigned int bus) |
int | dw_i2c_soc_devfn_to_bus (unsigned int devfn) |
int | dw_i2c_soc_bus_to_devfn (unsigned int bus) |
const struct dw_i2c_bus_config * | dw_i2c_get_soc_cfg (unsigned int bus) |
uintptr_t | dw_i2c_base_address (unsigned int bus) |
enum cb_err | dw_i2c_init (unsigned int bus, const struct dw_i2c_bus_config *bcfg) |
enum cb_err | dw_i2c_gen_speed_config (uintptr_t dw_i2c_addr, enum i2c_speed speed, const struct dw_i2c_bus_config *bcfg, struct dw_i2c_speed_config *config) |
int | dw_i2c_soc_dev_to_bus (const struct device *dev) |
void | dw_i2c_dev_init (struct device *dev) |
void | dw_i2c_acpi_fill_ssdt (const struct device *dev) |
Variables | |
const struct i2c_bus_operations | dw_i2c_bus_ops |
#define DW_I2C_DEBUG BIOS_NEVER |
Definition at line 802 of file dw_i2c.c.
References acpi_device_path(), acpigen_write_scope(), acpigen_write_scope_end(), CB_SUCCESS, dw_i2c_acpi_write_speed_config(), dw_i2c_base_address(), dw_i2c_gen_speed_config(), dw_i2c_get_soc_cfg(), dw_i2c_soc_dev_to_bus(), DW_I2C_SPEED_CONFIG_COUNT, I2C_SPEED_FAST, dw_i2c_bus_config::speed, dw_i2c_speed_config::speed, and dw_i2c_bus_config::speed_config.
Definition at line 19 of file i2c.c.
References ALIGN_DOWN, soc_i2c_ctrlr_info::bar, base, BIOS_ERR, dw_i2c_soc_bus_to_devfn(), lpss_i2c_early_init_bus(), NULL, PCI_BASE_ADDRESS_0, PCI_DEV, PCI_FUNC, pci_read_config32(), PCI_SLOT, printk, and soc_get_i2c_ctrlr_info().
Referenced by dw_i2c_acpi_fill_ssdt().
Definition at line 782 of file dw_i2c.c.
References config, dw_i2c_get_soc_cfg(), dw_i2c_init(), and dw_i2c_soc_dev_to_bus().
enum cb_err dw_i2c_gen_speed_config | ( | uintptr_t | dw_i2c_addr, |
enum i2c_speed | speed, | ||
const struct dw_i2c_bus_config * | bcfg, | ||
struct dw_i2c_speed_config * | config | ||
) |
Definition at line 484 of file dw_i2c.c.
Referenced by dw_i2c_acpi_fill_ssdt().
const struct dw_i2c_bus_config* dw_i2c_get_soc_cfg | ( | unsigned int | bus | ) |
Definition at line 33 of file i2c.c.
References BIOS_ERR, chip_get_common_soc_structure(), soc_intel_common_config::i2c, NULL, printk, and soc_get_i2c_bus_config().
Referenced by dw_i2c_acpi_fill_ssdt(), dw_i2c_dev_init(), and lpss_i2c_early_init_bus().
Definition at line 32 of file i2c.c.
References EARLY_I2C_BASE.
Referenced by lpss_i2c_early_init_bus().
enum cb_err dw_i2c_init | ( | unsigned int | bus, |
const struct dw_i2c_bus_config * | bcfg | ||
) |
Definition at line 484 of file dw_i2c.c.
Referenced by dw_i2c_dev_init(), dw_i2c_soc_init(), and lpss_i2c_early_init_bus().
int dw_i2c_soc_bus_to_devfn | ( | unsigned int | bus | ) |
Definition at line 36 of file i2c.c.
References PCH_DEV_SLOT_SIO1, PCH_DEV_SLOT_SIO2, PCH_DEVFN_I2C0, PCH_DEVFN_I2C1, PCH_DEVFN_I2C2, PCH_DEVFN_I2C3, PCH_DEVFN_I2C4, PCH_DEVFN_I2C5, PCH_DEVFN_I2C6, PCH_DEVFN_I2C7, and PCI_DEVFN.
Referenced by dw_i2c_base_address(), and lpss_i2c_early_init_bus().
int dw_i2c_soc_dev_to_bus | ( | const struct device * | dev | ) |
Definition at line 63 of file i2c.c.
References mmio_path::addr, soc_i2c_ctrlr_info::bar, BIOS_ERR, pci_path::devfn, die(), dw_i2c_soc_devfn_to_bus(), device_path::mmio, device::path, device_path::pci, printk, and soc_get_i2c_ctrlr_info().
Referenced by dw_i2c_acpi_fill_ssdt(), and dw_i2c_dev_init().
int dw_i2c_soc_devfn_to_bus | ( | unsigned int | devfn | ) |
Definition at line 13 of file i2c.c.
References PCH_DEV_SLOT_SIO1, PCH_DEV_SLOT_SIO2, PCH_DEVFN_I2C0, PCH_DEVFN_I2C1, PCH_DEVFN_I2C2, PCH_DEVFN_I2C3, PCH_DEVFN_I2C4, PCH_DEVFN_I2C5, PCH_DEVFN_I2C6, PCH_DEVFN_I2C7, PCI_FUNC, and PCI_SLOT.
Referenced by dw_i2c_soc_dev_to_bus().
|
extern |