Message ID | 20240217183610.2621132-9-jonas@kwiboo.se |
---|---|
State | Superseded |
Delegated to: | Kever Yang |
Headers | show |
Series | rockchip: rk3399: Migrate to use IO-domain driver | expand |
On 2024/2/18 02:35, Jonas Karlman wrote: > Switch to use the IO-domain driver to configure IO-domain based on > device tree instead of a setup_iodomain() function. > > Signed-off-by: Jonas Karlman <jonas@kwiboo.se> Reviewed-by: Kever Yang <kever.yang@rock-chips.com> Thanks, - Kever > --- > This should be runtime tested by someone with a pinephone-pro device. > All DT props and driver seem to be enabled and I expect the io_vsel to > be configured with correct value. > --- > board/pine64/pinephone-pro-rk3399/Makefile | 1 - > .../pinephone-pro-rk3399.c | 42 ------------------- > configs/pinephone-pro-rk3399_defconfig | 1 + > 3 files changed, 1 insertion(+), 43 deletions(-) > delete mode 100644 board/pine64/pinephone-pro-rk3399/Makefile > delete mode 100644 board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c > > diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile > deleted file mode 100644 > index 8d9203053e57..000000000000 > --- a/board/pine64/pinephone-pro-rk3399/Makefile > +++ /dev/null > @@ -1 +0,0 @@ > -obj-y += pinephone-pro-rk3399.o > diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c > deleted file mode 100644 > index 06dc512c57d8..000000000000 > --- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c > +++ /dev/null > @@ -1,42 +0,0 @@ > -// SPDX-License-Identifier: GPL-2.0+ > -/* > - * (C) Copyright 2016 Rockchip Electronics Co., Ltd > - * (C) Copyright 2022 Peter Robinson <pbrobinson at gmail.com> > - */ > - > -#include <common.h> > -#include <dm.h> > -#include <init.h> > -#include <syscon.h> > -#include <asm/arch-rockchip/clock.h> > -#include <asm/arch-rockchip/grf_rk3399.h> > -#include <asm/arch-rockchip/hardware.h> > - > -#define GRF_IO_VSEL_BT565_GPIO2AB 1 > -#define GRF_IO_VSEL_AUDIO_GPIO3D4A 2 > -#define PMUGRF_CON0_VSEL_SHIFT 8 > - > -#ifdef CONFIG_MISC_INIT_R > -static void setup_iodomain(void) > -{ > - struct rk3399_grf_regs *grf = > - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); > - struct rk3399_pmugrf_regs *pmugrf = > - syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); > - > - /* BT565 is in 1.8v domain */ > - rk_setreg(&grf->io_vsel, > - GRF_IO_VSEL_BT565_GPIO2AB | GRF_IO_VSEL_AUDIO_GPIO3D4A); > - > - /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ > - rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); > -} > - > -int rockchip_early_misc_init_r(void) > -{ > - setup_iodomain(); > - > - return 0; > - > -} > -#endif > diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig > index 04551df1da9b..47124196d626 100644 > --- a/configs/pinephone-pro-rk3399_defconfig > +++ b/configs/pinephone-pro-rk3399_defconfig > @@ -58,6 +58,7 @@ CONFIG_ROCKCHIP_GPIO=y > CONFIG_SYS_I2C_ROCKCHIP=y > CONFIG_LED=y > CONFIG_LED_GPIO=y > +CONFIG_ROCKCHIP_IODOMAIN=y > CONFIG_MMC_DW=y > CONFIG_MMC_DW_ROCKCHIP=y > CONFIG_MMC_SDHCI=y
diff --git a/board/pine64/pinephone-pro-rk3399/Makefile b/board/pine64/pinephone-pro-rk3399/Makefile deleted file mode 100644 index 8d9203053e57..000000000000 --- a/board/pine64/pinephone-pro-rk3399/Makefile +++ /dev/null @@ -1 +0,0 @@ -obj-y += pinephone-pro-rk3399.o diff --git a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c b/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c deleted file mode 100644 index 06dc512c57d8..000000000000 --- a/board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c +++ /dev/null @@ -1,42 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * (C) Copyright 2016 Rockchip Electronics Co., Ltd - * (C) Copyright 2022 Peter Robinson <pbrobinson at gmail.com> - */ - -#include <common.h> -#include <dm.h> -#include <init.h> -#include <syscon.h> -#include <asm/arch-rockchip/clock.h> -#include <asm/arch-rockchip/grf_rk3399.h> -#include <asm/arch-rockchip/hardware.h> - -#define GRF_IO_VSEL_BT565_GPIO2AB 1 -#define GRF_IO_VSEL_AUDIO_GPIO3D4A 2 -#define PMUGRF_CON0_VSEL_SHIFT 8 - -#ifdef CONFIG_MISC_INIT_R -static void setup_iodomain(void) -{ - struct rk3399_grf_regs *grf = - syscon_get_first_range(ROCKCHIP_SYSCON_GRF); - struct rk3399_pmugrf_regs *pmugrf = - syscon_get_first_range(ROCKCHIP_SYSCON_PMUGRF); - - /* BT565 is in 1.8v domain */ - rk_setreg(&grf->io_vsel, - GRF_IO_VSEL_BT565_GPIO2AB | GRF_IO_VSEL_AUDIO_GPIO3D4A); - - /* Set GPIO1 1.8v/3.0v source select to PMU1830_VOL */ - rk_setreg(&pmugrf->soc_con0, 1 << PMUGRF_CON0_VSEL_SHIFT); -} - -int rockchip_early_misc_init_r(void) -{ - setup_iodomain(); - - return 0; - -} -#endif diff --git a/configs/pinephone-pro-rk3399_defconfig b/configs/pinephone-pro-rk3399_defconfig index 04551df1da9b..47124196d626 100644 --- a/configs/pinephone-pro-rk3399_defconfig +++ b/configs/pinephone-pro-rk3399_defconfig @@ -58,6 +58,7 @@ CONFIG_ROCKCHIP_GPIO=y CONFIG_SYS_I2C_ROCKCHIP=y CONFIG_LED=y CONFIG_LED_GPIO=y +CONFIG_ROCKCHIP_IODOMAIN=y CONFIG_MMC_DW=y CONFIG_MMC_DW_ROCKCHIP=y CONFIG_MMC_SDHCI=y
Switch to use the IO-domain driver to configure IO-domain based on device tree instead of a setup_iodomain() function. Signed-off-by: Jonas Karlman <jonas@kwiboo.se> --- This should be runtime tested by someone with a pinephone-pro device. All DT props and driver seem to be enabled and I expect the io_vsel to be configured with correct value. --- board/pine64/pinephone-pro-rk3399/Makefile | 1 - .../pinephone-pro-rk3399.c | 42 ------------------- configs/pinephone-pro-rk3399_defconfig | 1 + 3 files changed, 1 insertion(+), 43 deletions(-) delete mode 100644 board/pine64/pinephone-pro-rk3399/Makefile delete mode 100644 board/pine64/pinephone-pro-rk3399/pinephone-pro-rk3399.c