/* * This file is part of the coreboot project. * * Copyright 2018 Intel Corp. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; version 2 of the License. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the * GNU General Public License for more details. */ #include #include #include /* * Pad configuration in ramstage. The order largely follows the 'GPIO Muxing' * table found in EDS vol 1, but some pins aren't grouped functionally in * the table so those were moved for more logical grouping. */ static const struct pad_config gpio_table[] = { }; const struct pad_config *__attribute__((weak)) variant_gpio_table(size_t *num) { *num = ARRAY_SIZE(gpio_table); return gpio_table; } /* GPIOs needed prior to ramstage. */ static const struct pad_config early_gpio_table[] = { }; const struct pad_config *__attribute__((weak)) variant_early_gpio_table(size_t *num) { *num = ARRAY_SIZE(early_gpio_table); return early_gpio_table; } /* GPIO settings before entering sleep. */ static const struct pad_config sleep_gpio_table[] = { }; const struct pad_config *__attribute__((weak)) variant_sleep_gpio_table(size_t *num) { *num = ARRAY_SIZE(sleep_gpio_table); return sleep_gpio_table; } static const struct cros_gpio cros_gpios[] = { }; const struct cros_gpio *__attribute__((weak)) variant_cros_gpios(size_t *num) { *num = ARRAY_SIZE(cros_gpios); return cros_gpios; }