/* SPDX-License-Identifier: GPL-2.0-only */ #include #include #include #include #include #include #include #include "gpio.h" static void power_on_fpmcu(void) { /* Power on the fingerprint MCU */ gpio_output(GPIO_EN_PWR_FP, 1); gpio_output(GPIO_FP_RST_1V8_S3_L, 1); } bool mainboard_needs_pcie_init(void) { return true; } static void mainboard_init(struct device *dev) { setup_usb_host(); power_on_fpmcu(); if (dpm_init()) printk(BIOS_ERR, "dpm init failed, DVFS may not work\n"); if (CONFIG(ARM64_USE_ARM_TRUSTED_FIRMWARE)) register_reset_to_bl31(GPIO_AP_EC_WARM_RST_REQ.id, true); } static void mainboard_enable(struct device *dev) { dev->ops->init = &mainboard_init; } struct chip_operations mainboard_ops = { .name = CONFIG_MAINBOARD_PART_NUMBER, .enable_dev = mainboard_enable, };