blob: 0558dbaf3123e295097660685beeff9fd78db55f [file] [log] [blame]
Karthikeyan Ramasubramaniana84d4f232022-02-02 10:10:03 -07001/* SPDX-License-Identifier: GPL-2.0-or-later */
2
Jon Murphy90424272022-02-16 06:34:39 -07003#include <baseboard/variants.h>
Jon Murphy9e005712022-02-17 14:48:55 -07004#include <console/console.h>
Karthikeyan Ramasubramaniana84d4f232022-02-02 10:10:03 -07005#include <device/device.h>
Jon Murphycbf0f982022-02-16 06:47:46 -07006#include <variant/ec.h>
Karthikeyan Ramasubramaniana84d4f232022-02-02 10:10:03 -07007
Jon Murphy90424272022-02-16 06:34:39 -07008static void mainboard_configure_gpios(void)
9{
10 size_t base_num_gpios, override_num_gpios;
11 const struct soc_amd_gpio *base_gpios, *override_gpios;
12
13 variant_base_gpio_table(&base_gpios, &base_num_gpios);
14 variant_override_gpio_table(&override_gpios, &override_num_gpios);
15
16 gpio_configure_pads_with_override(base_gpios, base_num_gpios,
17 override_gpios, override_num_gpios);
18}
19
Karthikeyan Ramasubramaniana84d4f232022-02-02 10:10:03 -070020static void mainboard_init(void *chip_info)
21{
Jon Murphy90424272022-02-16 06:34:39 -070022 mainboard_configure_gpios();
Jon Murphycbf0f982022-02-16 06:47:46 -070023 mainboard_ec_init();
Karthikeyan Ramasubramaniana84d4f232022-02-02 10:10:03 -070024}
25
26static void mainboard_enable(struct device *dev)
27{
Jon Murphy9e005712022-02-17 14:48:55 -070028 printk(BIOS_INFO, "Mainboard " CONFIG_MAINBOARD_PART_NUMBER " Enable.\n");
Karthikeyan Ramasubramaniana84d4f232022-02-02 10:10:03 -070029}
30
31struct chip_operations mainboard_ops = {
32 .init = mainboard_init,
33 .enable_dev = mainboard_enable,
34};