mb/google/bluey: Integrate ADSP load and LPASS bring-up into charging flow

Load ADSP firmware and then bring up LPASS/Q6 during the Bluey charging sequence.
This ensures ADSP‑dependent fast charging works reliably.

TEST:
 - Built and booted image.serial.bin on X1P42100.
 - Verified ADSP DTB and firmware load over UART.
 - Verified Q6 and LPASS init during cold boot.
 - Verified charging flow: device entered charging mode, battery current (~3550 mA)
   reported, and CRD RED LED glowed.

Change-Id: I6a1326f4271c5121cd7284d64b2912505b2a93a2
Signed-off-by: Hari L <haril@qualcomm.corp-partner.google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/91564
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
Reviewed-by: Jayvik Desai <jayvik@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Hari L 2026-03-10 17:23:12 +05:30 committed by Subrata Banik
commit 9a86b9f729
3 changed files with 20 additions and 2 deletions

View file

@ -65,5 +65,6 @@ void configure_debug_access_port(void);
void enable_slow_battery_charging(void);
void disable_slow_battery_charging(void);
void launch_charger_applet(void);
void enable_fast_battery_charging(void);
#endif /* MAINBOARD_GOOGLE_BLUEY_BOARD_H */

View file

@ -5,6 +5,8 @@
#include <delay.h>
#include <ec/google/chromeec/ec.h>
#include <reset.h>
#include <soc/adsp.h>
#include <soc/lpass.h>
#include <soc/pmic.h>
#include <soc/qcom_spmi.h>
#include <soc/qcom_tsens.h>
@ -276,3 +278,19 @@ void disable_slow_battery_charging(void)
spmi_write8(SMB1_CHGR_MAX_FCC_CFG, FCC_DISABLE);
spmi_write8(SMB2_CHGR_MAX_FCC_CFG, FCC_DISABLE);
}
/*
* Enable fast battery charging with ADSP support.
*
* This function loads ADSP firmware and configures fast charging.
*/
void enable_fast_battery_charging(void)
{
/* Load ADSP firmware first */
adsp_fw_load();
/* Bring up LPASS/QDSP6 (ADSP) for ADSP-dependent charging support */
if (lpass_bring_up() != CB_SUCCESS) {
printk(BIOS_ERR, "LPASS bring-up failed; skipping fast charging.\n");
}
}

View file

@ -188,8 +188,7 @@ static void trigger_critical_battery_shutdown(void)
*/
static void handle_low_power_charging_boot(void)
{
/* TODO: enable fast charging */
enable_slow_battery_charging();
enable_fast_battery_charging();
/*
* Disable the lightbar for Low-Battery or Off-Mode charging sequences.