summaryrefslogtreecommitdiff
path: root/src/mainboard/google/guybrush/variants/baseboard/helpers.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainboard/google/guybrush/variants/baseboard/helpers.c')
-rw-r--r--src/mainboard/google/guybrush/variants/baseboard/helpers.c30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/mainboard/google/guybrush/variants/baseboard/helpers.c b/src/mainboard/google/guybrush/variants/baseboard/helpers.c
index b0cca28983..5297a4925b 100644
--- a/src/mainboard/google/guybrush/variants/baseboard/helpers.c
+++ b/src/mainboard/google/guybrush/variants/baseboard/helpers.c
@@ -2,11 +2,20 @@
#include <baseboard/variants.h>
#include <device/device.h>
+#include <fw_config.h>
#include <soc/iomap.h>
+#include <soc/pci_devs.h>
-bool variant_has_fpmcu(void)
+static bool variant_has_device_enabled(const struct device_path *device_path, size_t path_length)
+{
+ const struct device *dev =
+ find_dev_nested_path(all_devices->link_list, device_path, path_length);
+
+ return is_dev_enabled(dev);
+}
+
+__weak bool variant_has_fpmcu(void)
{
- DEVTREE_CONST struct device *mmio_dev = NULL;
static const struct device_path fpmcu_path[] = {
{
.type = DEVICE_PATH_MMIO,
@@ -18,11 +27,18 @@ bool variant_has_fpmcu(void)
.generic.subid = 0
},
};
- mmio_dev = find_dev_nested_path(
- all_devices->link_list, fpmcu_path, ARRAY_SIZE(fpmcu_path));
- if (mmio_dev == NULL)
- return false;
+ 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_PCI,
+ .pci.devfn = PCIE_GPP_2_2_DEVFN,
+ },
+ };
- return mmio_dev->enabled;
+ return variant_has_device_enabled(pcie_wwan_path, ARRAY_SIZE(pcie_wwan_path));
}