coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
sm.c File Reference
#include <amdblocks/acpimmio.h>
#include <device/device.h>
#include <device/pci.h>
#include <device/pci_ids.h>
#include <device/smbus.h>
#include <device/smbus_host.h>
Include dependency graph for sm.c:

Go to the source code of this file.

Functions

static u32 get_sm_mmio (struct device *dev)
 
static int lsmbus_recv_byte (struct device *dev)
 
static int lsmbus_send_byte (struct device *dev, u8 val)
 
static int lsmbus_read_byte (struct device *dev, u8 address)
 
static int lsmbus_write_byte (struct device *dev, u8 address, u8 val)
 

Variables

static struct smbus_bus_operations lops_smbus_bus
 
static struct device_operations smbus_ops
 
static const struct pci_driver smbus_driver __pci_driver
 

Function Documentation

◆ get_sm_mmio()

static u32 get_sm_mmio ( struct device dev)
static

Definition at line 10 of file sm.c.

References acpimmio_smbus.

Referenced by lsmbus_read_byte(), lsmbus_recv_byte(), and lsmbus_send_byte().

Here is the caller graph for this function:

◆ lsmbus_read_byte()

static int lsmbus_read_byte ( struct device dev,
u8  address 
)
static

Definition at line 37 of file sm.c.

References address, i2c_path::device, device, do_smbus_read_byte(), get_sm_mmio(), device_path::i2c, and device::path.

Here is the call graph for this function:

◆ lsmbus_recv_byte()

static int lsmbus_recv_byte ( struct device dev)
static

Definition at line 21 of file sm.c.

References i2c_path::device, device, do_smbus_recv_byte(), get_sm_mmio(), device_path::i2c, and device::path.

Here is the call graph for this function:

◆ lsmbus_send_byte()

static int lsmbus_send_byte ( struct device dev,
u8  val 
)
static

Definition at line 29 of file sm.c.

References i2c_path::device, device, do_smbus_send_byte(), get_sm_mmio(), device_path::i2c, device::path, and val.

Here is the call graph for this function:

◆ lsmbus_write_byte()

static int lsmbus_write_byte ( struct device dev,
u8  address,
u8  val 
)
static

Definition at line 45 of file sm.c.

Variable Documentation

◆ __pci_driver

const struct pci_driver smbus_driver __pci_driver
static
Initial value:
= {
.ops = &smbus_ops,
.vendor = PCI_VID_AMD,
}
#define PCI_VID_AMD
Definition: pci_ids.h:496
#define PCI_DID_AMD_CZ_SMBUS
Definition: pci_ids.h:584
static struct device_operations smbus_ops
Definition: sm.c:67

Definition at line 45 of file sm.c.

◆ lops_smbus_bus

struct smbus_bus_operations lops_smbus_bus
static
Initial value:
= {
.recv_byte = lsmbus_recv_byte,
.send_byte = lsmbus_send_byte,
.read_byte = lsmbus_read_byte,
.write_byte = lsmbus_write_byte,
}
static int lsmbus_recv_byte(struct device *dev)
Definition: sm.c:21
static int lsmbus_write_byte(struct device *dev, u8 address, u8 val)
Definition: sm.c:45
static int lsmbus_send_byte(struct device *dev, u8 val)
Definition: sm.c:29
static int lsmbus_read_byte(struct device *dev, u8 address)
Definition: sm.c:37

Definition at line 45 of file sm.c.

◆ smbus_ops

struct device_operations smbus_ops
static
Initial value:
= {
.read_resources = noop_read_resources,
.set_resources = noop_set_resources,
.enable_resources = pci_dev_enable_resources,
.scan_bus = scan_smbus,
.ops_pci = &pci_dev_ops_pci,
.ops_smbus_bus = &lops_smbus_bus,
}
static void noop_read_resources(struct device *dev)
Standard device operations function pointers shims.
Definition: device.h:73
static void noop_set_resources(struct device *dev)
Definition: device.h:74
void pci_dev_enable_resources(struct device *dev)
Definition: pci_device.c:721
struct pci_operations pci_dev_ops_pci
Default device operation for PCI devices.
Definition: pci_device.c:911
void scan_smbus(struct device *bus)
Definition: root_device.c:74
static struct smbus_bus_operations lops_smbus_bus
Definition: sm.c:53

Definition at line 45 of file sm.c.