mb/google/fizz: Provide cros_gpio variant API
Add support for ChromeOS GPIO ACPI table information by providing weak implementation from the baseboard. BUG=b:117066935 BRANCH=Fizz TEST=emerge-fizz coreboot Change-Id: I2fa52c005cacdbcc322d107a3ac92d22df3f3697 Signed-off-by: David Wu <david_wu@quanta.corp-partner.google.com> Reviewed-on: https://review.coreboot.org/28964 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-by: Furquan Shaikh <furquan@google.com>
This commit is contained in:
parent
d1be92ce07
commit
eaab80efaf
|
@ -15,6 +15,7 @@
|
||||||
|
|
||||||
#include <gpio.h>
|
#include <gpio.h>
|
||||||
#include <rules.h>
|
#include <rules.h>
|
||||||
|
#include <baseboard/variants.h>
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <vendorcode/google/chromeos/chromeos.h>
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
|
@ -44,12 +45,11 @@ int get_write_protect_state(void)
|
||||||
return gpio_get(GPIO_PCH_WP);
|
return gpio_get(GPIO_PCH_WP);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct cros_gpio cros_gpios[] = {
|
|
||||||
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
|
||||||
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
|
||||||
};
|
|
||||||
|
|
||||||
void mainboard_chromeos_acpi_generate(void)
|
void mainboard_chromeos_acpi_generate(void)
|
||||||
{
|
{
|
||||||
chromeos_acpi_gpio_generate(cros_gpios, ARRAY_SIZE(cros_gpios));
|
const struct cros_gpio *gpios;
|
||||||
|
size_t num;
|
||||||
|
|
||||||
|
gpios = variant_cros_gpios(&num);
|
||||||
|
chromeos_acpi_gpio_generate(gpios, num);
|
||||||
}
|
}
|
||||||
|
|
|
@ -267,3 +267,14 @@ const struct pad_config * __weak
|
||||||
*num = ARRAY_SIZE(early_gpio_table);
|
*num = ARRAY_SIZE(early_gpio_table);
|
||||||
return early_gpio_table;
|
return early_gpio_table;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const struct cros_gpio cros_gpios[] = {
|
||||||
|
CROS_GPIO_REC_AL(CROS_GPIO_VIRTUAL, CROS_GPIO_DEVICE_NAME),
|
||||||
|
CROS_GPIO_WP_AH(GPIO_PCH_WP, CROS_GPIO_DEVICE_NAME),
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct cros_gpio * __weak variant_cros_gpios(size_t *num)
|
||||||
|
{
|
||||||
|
*num = ARRAY_SIZE(cros_gpios);
|
||||||
|
return cros_gpios;
|
||||||
|
}
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
|
|
||||||
#include <soc/gpio.h>
|
#include <soc/gpio.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
#include <vendorcode/google/chromeos/chromeos.h>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The next set of functions return the gpio table and fill in the number of
|
* The next set of functions return the gpio table and fill in the number of
|
||||||
|
@ -26,5 +27,6 @@
|
||||||
const struct pad_config *variant_gpio_table(size_t *num);
|
const struct pad_config *variant_gpio_table(size_t *num);
|
||||||
const struct pad_config *variant_early_gpio_table(size_t *num);
|
const struct pad_config *variant_early_gpio_table(size_t *num);
|
||||||
|
|
||||||
|
const struct cros_gpio *variant_cros_gpios(size_t *num);
|
||||||
|
|
||||||
#endif /* __BASEBOARD_VARIANTS_H__ */
|
#endif /* __BASEBOARD_VARIANTS_H__ */
|
||||||
|
|
Loading…
Reference in New Issue