sconfig: Add a new mmio resource type

Add support for a mmio resource in the devicetree to allow
memory-mapped IO addresses to be assigned to given values.

AMD platforms perform a significant amount of configuration through
these MMIO addresses, including I2C bus configuration.

BUG=b:72121803

Change-Id: I5608721c22c1b229f527815b5f17fff3a080c3c8
Signed-off-by: Justin TerAvest <teravest@chromium.org>
Reviewed-on: https://review.coreboot.org/23319
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
Justin TerAvest
2018-01-17 16:36:30 -08:00
committed by Martin Roth
parent 4eaf0fa155
commit ca2ed9f450
9 changed files with 219 additions and 204 deletions

View File

@@ -15,6 +15,7 @@ enum device_path_type {
DEVICE_PATH_IOAPIC,
DEVICE_PATH_GENERIC,
DEVICE_PATH_SPI,
DEVICE_PATH_MMIO,
/*
* When adding path types to this table, please also update the
@@ -36,6 +37,7 @@ enum device_path_type {
"DEVICE_PATH_IOAPIC", \
"DEVICE_PATH_GENERIC", \
"DEVICE_PATH_SPI", \
"DEVICE_PATH_MMIO", \
}
struct domain_path {
@@ -89,6 +91,9 @@ struct generic_path {
unsigned int subid;
};
struct mmio_path {
uintptr_t addr;
};
struct device_path {
enum device_path_type type;
@@ -104,6 +109,7 @@ struct device_path {
struct cpu_bus_path cpu_bus;
struct generic_path generic;
struct spi_path spi;
struct mmio_path mmio;
};
};