39 [0x00] = 0x0A,0x0B,0x0A,0x0B,0x0A,0x0B,0x0A,0x0B,
41 [0x08] = 0x00,0xF1,0x00,0x00,0x1F,0x1F,0x1F,0x1F,
43 [0x10] = 0x1F,0x1F,0x1F,0x0A,0x1F,0x1F,0x1F,
45 [0x20] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
47 [0x30] = 0x0A,0x0B,0x0A,0x0B,0x0A,0x0B,0x0A,
51 [0x50] = 0x0A,0x0B,0x0A,0x0B
56 [0x00] = 0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17,
58 [0x08] = 0x00,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,
60 [0x10] = 0x09,0x1F,0x1F,0x10,0x1F,0x12,0x1F,
62 [0x20] = 0x1F,0x1F,0x1F,0x1F,0x1F,0x1F,
64 [0x30] = 0x12,0x11,0x12,0x11,0x12,0x11,0x12,
68 [0x50] = 0x10,0x11,0x12,0x13
122 #define SIO_PORT 0x2e
168 #if CONFIG(GENERATE_SMBIOS_TABLES)
169 static int mainboard_smbios_type16(DMI_INFO *agesa_dmi,
int *handle,
unsigned long *current)
174 sizeof(*t), *handle);
188 static int mainboard_smbios_type17(DMI_INFO *agesa_dmi,
int *handle,
unsigned long *current)
191 sizeof(*t), *handle + 1);
195 t->
total_width = agesa_dmi->T17[0][0][0].TotalWidth;
196 t->
data_width = agesa_dmi->T17[0][0][0].DataWidth;
197 t->
size = agesa_dmi->T17[0][0][0].MemorySize;
200 t->
device_set = agesa_dmi->T17[0][0][0].DeviceSet;
203 t->
memory_type = agesa_dmi->T17[0][0][0].MemoryType;
205 t->
speed = agesa_dmi->T17[0][0][0].Speed;
206 t->
manufacturer = agesa_dmi->T17[0][0][0].ManufacturerIdCode;
209 t->
attributes = agesa_dmi->T17[0][0][0].Attributes;
211 t->
clock_speed = agesa_dmi->T17[0][0][0].ConfigSpeed;
221 unsigned long *current)
231 len = mainboard_smbios_type16(agesa_dmi, handle, current);
232 len += mainboard_smbios_type17(agesa_dmi, handle, current);
243 printk(
BIOS_INFO,
"Mainboard " CONFIG_MAINBOARD_PART_NUMBER
" Enable.\n");
262 #if CONFIG(GENERATE_SMBIOS_TABLES)
292 for (i = 3; i < 6; i++) {
294 mac_addr |=
read8((
u8 *)bar18 + i);
296 mac_addr &= 0x00FFFFFF;
353 printk(
BIOS_INFO,
"Mainboard " CONFIG_MAINBOARD_PART_NUMBER
" Final.\n");
struct chip_operations mainboard_ops
static void misc_write8(uint8_t reg, uint8_t value)
void configure_gpio(u8 gpio, u8 iomux_ftn, u8 setting)
static uint8_t read8(const void *addr)
int smbios_add_string(u8 *start, const char *str)
void * smbios_carve_table(unsigned long start, u8 type, u8 length, u16 handle)
int smbios_full_table_len(struct smbios_header *header, u8 *str_table_start)
#define printk(level,...)
DEVTREE_CONST struct device * pcidev_path_behind(const struct bus *parent, pci_devfn_t devfn)
DEVTREE_CONST struct device * dev_find_slot_pnp(u16 port, u16 device)
Given a PnP port and a device number, find the device structure.
DEVTREE_CONST struct device * pcidev_on_root(uint8_t dev, uint8_t fn)
struct resource * new_resource(struct device *dev, unsigned int index)
See if a resource structure already exists for a given index and if not allocate one.
void * agesawrapper_getlateinitptr(int pick)
static int mainboard_smbios_data(struct device *dev, int *handle, unsigned long *current)
const char * smbios_system_sku(void)
static __always_inline void pci_write_config32(const struct device *dev, u16 reg, u32 val)
static __always_inline u32 pci_read_config32(const struct device *dev, u16 reg)
@ MEMORY_ARRAY_USE_SYSTEM
@ SMBIOS_PHYS_MEMORY_ARRAY
@ MEMORY_FORMFACTOR_SODIMM
@ MEMORY_ARRAY_LOCATION_SYSTEM_BOARD
#define BIOS_INFO
BIOS_INFO - Expected events.
#define NB_PCIE_PORT2_DEVFN
#define NB_PCIE_PORT3_DEVFN
#define NB_PCIE_PORT4_DEVFN
#define NB_PCIE_PORT1_DEVFN
static void config_gpio_mux(void)
const char * smbios_mainboard_serial_number(void)
static void config_addon_uart(void)
static void usb_oc_setup(void)
static const u8 mainboard_picr_data[FCH_INT_TABLE_SIZE]
static const struct pirq_struct mainboard_pirq_data[]
static void mainboard_final(void *chip_info)
static void pnp_raw_resource(struct device *dev, u8 reg, u8 val)
static void mainboard_enable(struct device *dev)
static void pirq_setup(void)
static const u8 mainboard_intr_data[FCH_INT_TABLE_SIZE]
#define PCI_DEVFN(slot, func)
#define PCI_BASE_ADDRESS_2
#define IORESOURCE_ASSIGNED
const struct pirq_struct * pirq_data_ptr
#define SB_PCI_PORT_DEVFN
#define FCH_INT_TABLE_SIZE
#define SB_PCIE_PORT1_DEVFN
void(* enable_dev)(struct device *dev)
struct device_operations * ops
DEVTREE_CONST struct bus * link_list
DEVTREE_CONST void * chip_info
struct smbios_header header
u16 number_of_memory_devices
u8 memory_error_correction
u16 memory_error_information_handle
u16 memory_error_information_handle
u16 phys_memory_array_handle
struct smbios_header header
int snprintf(char *buf, size_t size, const char *fmt,...)
Note: This file is only for POSIX compatibility, and is meant to be chain-included via string....