diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c index 1cd0eddb0b5..6045edf0db8 100644 --- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c +++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #define GRF_IO_VSEL_BT565_GPIO2AB 1 @@ -62,6 +63,8 @@ static void pinephone_pro_init(void) struct udevice *pmic; int ret; + printf("Initializing Pinephone Pro charger\n"); + ret = uclass_first_device_err(UCLASS_PMIC, &pmic); if (ret) { printf("ERROR: PMIC not found! (%d)\n", ret); @@ -80,6 +83,12 @@ static void pinephone_pro_init(void) * Close charger when USB lower then 3.26V */ rk818_spl_configure_usb_chrg_shutdown(pmic, 3260000); + + /* + * Check battery voltage and wait until it's in bootable state. + */ + //TODO: + rk818_wait_battery(pmic); } void pmic_setup(void) diff --git a/drivers/power/pmic/rk8xx.c b/drivers/power/pmic/rk8xx.c index 25ef621f8df..8b2a66622a1 100644 --- a/drivers/power/pmic/rk8xx.c +++ b/drivers/power/pmic/rk8xx.c @@ -129,6 +129,11 @@ static int rk8xx_read(struct udevice *dev, uint reg, uint8_t *buff, int len) return 0; } +int rk818_wait_battery(struct udevice *dev) +{ + return 0; +} + #if CONFIG_IS_ENABLED(PMIC_CHILDREN) static int rk8xx_bind(struct udevice *dev) { diff --git a/include/power/rk8xx_pmic.h b/include/power/rk8xx_pmic.h index 3cbfc021956..cf5e5b99456 100644 --- a/include/power/rk8xx_pmic.h +++ b/include/power/rk8xx_pmic.h @@ -236,4 +236,6 @@ int rk8xx_spl_configure_buck(struct udevice *pmic, int buck, int uvolt); int rk818_spl_configure_usb_input_current(struct udevice *pmic, int current_ma); int rk818_spl_configure_usb_chrg_shutdown(struct udevice *pmic, int uvolt); +int rk818_wait_battery(struct udevice *dev); + #endif