diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2022-09-22 09:56:57 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-09-22 09:56:59 +0200 |
commit | 502c4e819b80a6ccaefbce4af4c55b830b7e2c73 (patch) | |
tree | 72045fd684d341148635838c56445a65ac5d688e | |
parent | 23bbcfa707ed76b69890526a18cb069b04268b67 (diff) | |
download | barebox-502c4e819b80a6ccaefbce4af4c55b830b7e2c73.tar.gz barebox-502c4e819b80a6ccaefbce4af4c55b830b7e2c73.tar.xz |
ARM: Rockchip: Add FIXME comment to io domain setup
We have a io-domain driver for rockchip boards which correctly
configures the io domain voltages, but currently there is no way
to make sure the io-domain driver is probed before its consumers.
To be on the safe side keep the io domain setup in the lowlevel code
for now, but add a comment that it should be removed once this issue
is resolved.
To solve this issue we need a phandle from the consumers to the io
domain node. We could add this in barebox locally, but decided to
wait until the upstream dts files have them.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/boards/radxa-rock3/lowlevel.c | 4 | ||||
-rw-r--r-- | arch/arm/boards/rockchip-rk3568-bpi-r2pro/lowlevel.c | 4 | ||||
-rw-r--r-- | arch/arm/boards/rockchip-rk3568-evb/lowlevel.c | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/boards/radxa-rock3/lowlevel.c b/arch/arm/boards/radxa-rock3/lowlevel.c index 2a449c17ae..a62f60dff8 100644 --- a/arch/arm/boards/radxa-rock3/lowlevel.c +++ b/arch/arm/boards/radxa-rock3/lowlevel.c @@ -17,6 +17,10 @@ static noinline void rk3568_start(void) /* * Enable vccio4 1.8V and vccio6 1.8V * Needed for GMAC to work. + * FIXME: This is done by the io-domain driver as well, but there + * currently is no mechanism to make sure the driver gets probed + * before its consumers. Remove this setup once this issue is + * resolved. */ writel(RK_SETBITS(0x50), 0xfdc20140); diff --git a/arch/arm/boards/rockchip-rk3568-bpi-r2pro/lowlevel.c b/arch/arm/boards/rockchip-rk3568-bpi-r2pro/lowlevel.c index f79f975080..4336d99365 100644 --- a/arch/arm/boards/rockchip-rk3568-bpi-r2pro/lowlevel.c +++ b/arch/arm/boards/rockchip-rk3568-bpi-r2pro/lowlevel.c @@ -18,6 +18,10 @@ static noinline void rk3568_start(void) /* * set iodomain vccio6 to 1.8V needed for GMAC1 to work. * vccio4 (gmac0/switch) needs to stay at 3v3 (default) + * FIXME: This is done by the io-domain driver as well, but there + * currently is no mechanism to make sure the driver gets probed + * before its consumers. Remove this setup once this issue is + * resolved. */ //set bit 6 in PMU_GRF_IO_VSEL0 for vccio6 1v8 writel(RK_SETBITS(BIT(6)), PMU_GRF_IO_VSEL0); diff --git a/arch/arm/boards/rockchip-rk3568-evb/lowlevel.c b/arch/arm/boards/rockchip-rk3568-evb/lowlevel.c index 363639d21b..9ab436135c 100644 --- a/arch/arm/boards/rockchip-rk3568-evb/lowlevel.c +++ b/arch/arm/boards/rockchip-rk3568-evb/lowlevel.c @@ -18,6 +18,10 @@ static noinline void rk3568_start(void) /* * Enable vccio4 1.8V and vccio6 1.8V * Needed for GMAC to work. + * FIXME: This is done by the io-domain driver as well, but there + * currently is no mechanism to make sure the driver gets probed + * before its consumers. Remove this setup once this issue is + * resolved. */ writel(RK_SETBITS(0x50), 0xfdc20140); |