coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mainboard.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <device/pci_ops.h>
5 
6 /**
7  * Mainboard specific enables.
8  *
9  * @param chip_info Ignored
10  */
11 static void mainboard_init(void *chip_info)
12 {
13  const pci_devfn_t px43 = PCI_DEV(0, 4, 3);
14  u32 reg;
15  /*
16  * Set up an 8-byte generic I/O decode block at device 9.
17  * This will be for W83781D hardware monitor.
18  * Port 0x290 mask 0x007
19  *
20  * This should enable access to W83781D over the ISA bus.
21  */
22  reg = pci_s_read_config32(px43, DEVRESB);
23  reg |= (0x290 | (0xe7 << 16));
24  pci_s_write_config32(px43, DEVRESB, reg);
25 }
26 
29 };
struct chip_operations mainboard_ops
Definition: mainboard.c:19
static void mainboard_init(void *chip_info)
Mainboard specific enables.
Definition: mainboard.c:11
#define DEVRESB
Definition: i82371eb.h:93
static __always_inline uint32_t pci_s_read_config32(pci_devfn_t dev, uint16_t reg)
Definition: pci_io_cfg.h:92
static __always_inline void pci_s_write_config32(pci_devfn_t dev, uint16_t reg, uint32_t value)
Definition: pci_io_cfg.h:110
#define PCI_DEV(SEGBUS, DEV, FN)
Definition: pci_type.h:14
u32 pci_devfn_t
Definition: pci_type.h:8
uint32_t u32
Definition: stdint.h:51
void(* init)(void *chip_info)
Definition: device.h:25