mb/google/guybrush: Switch to using device pointers
This change replaces the device tree walks with device pointers by adding alias for following devices: 1. FPMCU 2. WWAN Additionally, this change drops the __weak attribute for variant_has_* functions as there is no need for different implementations for the variants. Change-Id: I8af5e27f226270e6b40a50640c87de99a5a703f7 Signed-off-by: Furquan Shaikh <furquan@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/57743 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
This commit is contained in:
parent
e7821e8de0
commit
56fd6419c3
|
@ -6,43 +6,14 @@
|
||||||
#include <soc/iomap.h>
|
#include <soc/iomap.h>
|
||||||
#include <soc/pci_devs.h>
|
#include <soc/pci_devs.h>
|
||||||
|
|
||||||
static bool variant_has_device_enabled(const struct device_path *device_path, size_t path_length)
|
WEAK_DEV_PTR(fpmcu);
|
||||||
{
|
|
||||||
const struct device *dev =
|
|
||||||
find_dev_nested_path(all_devices->link_list, device_path, path_length);
|
|
||||||
|
|
||||||
return is_dev_enabled(dev);
|
bool variant_has_fpmcu(void)
|
||||||
|
{
|
||||||
|
return is_dev_enabled(DEV_PTR(fpmcu));
|
||||||
}
|
}
|
||||||
|
|
||||||
__weak bool variant_has_fpmcu(void)
|
bool variant_has_pcie_wwan(void)
|
||||||
{
|
{
|
||||||
static const struct device_path fpmcu_path[] = {
|
return is_dev_enabled(DEV_PTR(gpp_bridge_2));
|
||||||
{
|
|
||||||
.type = DEVICE_PATH_MMIO,
|
|
||||||
.mmio.addr = APU_UART1_BASE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.type = DEVICE_PATH_GENERIC,
|
|
||||||
.generic.id = 0,
|
|
||||||
.generic.subid = 0
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
return variant_has_device_enabled(fpmcu_path, ARRAY_SIZE(fpmcu_path));
|
|
||||||
}
|
|
||||||
|
|
||||||
__weak bool variant_has_pcie_wwan(void)
|
|
||||||
{
|
|
||||||
static const struct device_path pcie_wwan_path[] = {
|
|
||||||
{
|
|
||||||
.type = DEVICE_PATH_DOMAIN,
|
|
||||||
.domain.domain = 0x0,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.type = DEVICE_PATH_PCI,
|
|
||||||
.pci.devfn = WWAN_DEVFN
|
|
||||||
},
|
|
||||||
};
|
|
||||||
|
|
||||||
return variant_has_device_enabled(pcie_wwan_path, ARRAY_SIZE(pcie_wwan_path));
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -163,7 +163,7 @@ chip soc/amd/cezanne
|
||||||
register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_21)"
|
register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_21)"
|
||||||
register "wake" = "GEVENT_5"
|
register "wake" = "GEVENT_5"
|
||||||
register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
|
register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
|
||||||
device generic 0 on
|
device generic 0 alias fpmcu on
|
||||||
probe FP FP_PRESENT
|
probe FP FP_PRESENT
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -122,7 +122,7 @@ chip soc/amd/cezanne
|
||||||
register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_21)"
|
register "irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPIO_21)"
|
||||||
register "wake" = "GEVENT_5"
|
register "wake" = "GEVENT_5"
|
||||||
register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
|
register "uart" = "ACPI_UART_RAW_DEVICE(3000000, 64)"
|
||||||
device generic 0 on
|
device generic 0 alias fpmcu on
|
||||||
probe FP FP_PRESENT
|
probe FP FP_PRESENT
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Reference in New Issue