diff options
author | Arthur Heymans <arthur@aheymans.xyz> | 2023-02-01 08:06:04 +0100 |
---|---|---|
committer | Arthur Heymans <arthur@aheymans.xyz> | 2023-02-06 08:09:35 +0000 |
commit | 584d5e1cbabc1a8ce679597263d22a2a9b87c9f7 (patch) | |
tree | a1d2536b8c7ca9a2ba784249876a1ff91c2d0f49 /src/soc/intel/apollolake/chip.c | |
parent | 20d25779c8eab9e21668a18a6180d75775f4eaee (diff) |
soc/intel/apl: Hook up cpu ops in devicetree
This simplifies the code flow of the cpu init. APL can do CPU init after
calling FSP-S, while GLK needs to do that before. This is now reflected
directly in the cpu ops rather than using
CONFIG_SOC_INTEL_COMMON_BLOCK_CPU_MPINIT as a proxy.
Change-Id: I7fd1db72ca98f0a1b8fd03a979308a7c701a8a54
Signed-off-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/72705
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Diffstat (limited to 'src/soc/intel/apollolake/chip.c')
-rw-r--r-- | src/soc/intel/apollolake/chip.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index 78fefb1dff..11e3a1e24a 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -206,20 +206,24 @@ static struct device_operations pci_domain_ops = { .acpi_fill_ssdt = ssdt_set_above_4g_pci, }; -static struct device_operations cpu_bus_ops = { +struct device_operations apl_cpu_bus_ops = { .read_resources = noop_read_resources, .set_resources = noop_set_resources, .init = apollolake_init_cpus, .acpi_fill_ssdt = generate_cpu_entries, }; +struct device_operations glk_cpu_bus_ops = { + .read_resources = noop_read_resources, + .set_resources = noop_set_resources, + .acpi_fill_ssdt = generate_cpu_entries, +}; + static void enable_dev(struct device *dev) { /* Set the operations if it is a special bus type */ if (dev->path.type == DEVICE_PATH_DOMAIN) dev->ops = &pci_domain_ops; - else if (dev->path.type == DEVICE_PATH_CPU_CLUSTER) - dev->ops = &cpu_bus_ops; else if (dev->path.type == DEVICE_PATH_GPIO) block_gpio_enable(dev); } |