summaryrefslogtreecommitdiffstats
path: root/src/soc/intel/common/block/ioc/ioc.c
blob: 639ec90f8f1fc17b178f951a16e29b77f8fa7769 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
/* SPDX-License-Identifier: GPL-2.0-only */

#include <device/mmio.h>
#include <intelblocks/ioc.h>
#include <soc/iomap.h>

void ioc_reg_write32(uint32_t offset, uint32_t value)
{
	write32p(MCH_BASE_ADDRESS + offset, value);
}

uint32_t ioc_reg_read32(uint32_t offset)
{
	return read32p(MCH_BASE_ADDRESS + offset);
}

void ioc_reg_or32(uint32_t offset, uint32_t ordata)
{
	uint32_t data32;

	data32 = read32p(MCH_BASE_ADDRESS + offset);
	data32 |= ordata;
	write32p(MCH_BASE_ADDRESS + offset, data32);
}