mb/google/bluey: Add parallel charging configuration
BUG=b:468120472 TEST=Probe and verify the GPIOs on Google/Quartz. Change-Id: I414509d40e3c6e4495dcdb56a8abfd300caf47d9 Signed-off-by: Kapil Porwal <kapilporwal@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/91153 Reviewed-by: Subrata Banik <subratabanik@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
parent
8d020508fc
commit
93c52ed340
3 changed files with 18 additions and 2 deletions
|
|
@ -53,6 +53,7 @@
|
|||
void setup_chromeos_gpios(void);
|
||||
bool is_off_mode(void);
|
||||
void configure_parallel_charging(void);
|
||||
void configure_parallel_charging_late(void);
|
||||
void enable_slow_battery_charging(void);
|
||||
void disable_slow_battery_charging(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -34,6 +34,8 @@ enum charging_status {
|
|||
#define OUTPUT_INVERT 0x80
|
||||
#define PERPH_EN 0x80
|
||||
|
||||
#define GPIO_PARALLEL_CHARGING_CFG GPIO(71)
|
||||
|
||||
/*
|
||||
* Enable PMC8380F GPIO07 & GPIO09 for parallel charging.
|
||||
*/
|
||||
|
|
@ -43,12 +45,23 @@ void configure_parallel_charging(void)
|
|||
return;
|
||||
|
||||
printk(BIOS_INFO, "Configure parallel charging support\n");
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO07_MODE_CTL), MODE_OUTPUT);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO07_DIG_OUT_SOURCE_CTL), OUTPUT_INVERT);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO07_EN_CTL), PERPH_EN);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO09_MODE_CTL), MODE_OUTPUT);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO07_MODE_CTL), MODE_OUTPUT);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO09_DIG_OUT_SOURCE_CTL), OUTPUT_INVERT);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO09_EN_CTL), PERPH_EN);
|
||||
spmi_write8(SPMI_ADDR(PMC8380F_SLAVE_ID, GPIO09_MODE_CTL), MODE_OUTPUT);
|
||||
}
|
||||
|
||||
/*
|
||||
* Late configuration for parallel charging.
|
||||
*/
|
||||
void configure_parallel_charging_late(void)
|
||||
{
|
||||
if (!CONFIG(MAINBOARD_SUPPORTS_PARALLEL_CHARGING))
|
||||
return;
|
||||
|
||||
gpio_output(GPIO_PARALLEL_CHARGING_CFG, 1);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -122,6 +122,8 @@ void lb_add_boot_mode(struct lb_header *header)
|
|||
mode->size = sizeof(*mode);
|
||||
mode->boot_mode = get_boot_mode();
|
||||
|
||||
configure_parallel_charging_late();
|
||||
|
||||
/* Enable charging only during off-mode or low-battery mode with charger present */
|
||||
if (is_low_power_boot_with_charger())
|
||||
enable_slow_battery_charging();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue