xref: /aosp_15_r20/external/coreboot/src/soc/intel/common/block/ioc/ioc.c (revision b9411a12aaaa7e1e6a6fb7c5e057f44ee179a49c)
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <device/mmio.h>
4 #include <intelblocks/ioc.h>
5 #include <soc/iomap.h>
6 
ioc_reg_write32(uint32_t offset,uint32_t value)7 void ioc_reg_write32(uint32_t offset, uint32_t value)
8 {
9 	write32p(MCH_BASE_ADDRESS + offset, value);
10 }
11 
ioc_reg_read32(uint32_t offset)12 uint32_t ioc_reg_read32(uint32_t offset)
13 {
14 	return read32p(MCH_BASE_ADDRESS + offset);
15 }
16 
ioc_reg_or32(uint32_t offset,uint32_t ordata)17 void ioc_reg_or32(uint32_t offset, uint32_t ordata)
18 {
19 	uint32_t data32;
20 
21 	data32 = read32p(MCH_BASE_ADDRESS + offset);
22 	data32 |= ordata;
23 	write32p(MCH_BASE_ADDRESS + offset, data32);
24 }
25