From a45b233b2bbe9f5a62686321d3d7d93b351e23f6 Mon Sep 17 00:00:00 2001 From: Ondrej Jirman Date: Fri, 5 Jul 2024 17:22:12 +0200 Subject: [PATCH] board: pine64: Configure PMIC on Pinephone Pro for touchscreen Touchscreen needs 3V on LDO2. Signed-off-by: Ondrej Jirman --- .../pinephone-pro-rk3399.c | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c index 0bcb73131be..12869c9fcc8 100644 --- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c +++ b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c @@ -6,6 +6,9 @@ #include #include #include +#include +#include +#include #ifdef CONFIG_OF_BOARD_SETUP int ft_board_setup(void *blob, struct bd_info *bd) @@ -20,3 +23,23 @@ int ft_board_setup(void *blob, struct bd_info *bd) return 0; } #endif + +int board_early_init_r(void) +{ + struct udevice *pmic = NULL; + int ret; + + ret = uclass_first_device_err(UCLASS_PMIC, &pmic); + if (ret) { + printf("ERROR: PMIC not found! (%d)\n", ret); + return ret; + } + + /* + * Raise LDO2 voltage to 3V (needed for touch controller) + */ + pmic_reg_write(pmic, 0x3d, 0x0c); + udelay(2000); + + return 0; +}