@@ -11,6 +11,11 @@
#include <i2c.h>
#include <i2c_eeprom.h>
#include <netdev.h>
+#include <syscon.h>
+#include <asm/arch/cru_rk3288.h>
+#include <asm/arch/clock.h>
+#include <asm/arch/hardware.h>
+#include <asm/arch/grf_rk3288.h>
#include "som.h"
static int valid_rk3288_som(struct rk3288_som *som)
@@ -27,6 +32,15 @@ static int valid_rk3288_som(struct rk3288_som *som)
return hw == som->bs;
}
+static void setup_iodomain(void)
+{
+ const u32 GRF_IO_VSEL_FLASH1_SHIFT = 3;
+ struct rk3288_grf *grf =
+ syscon_get_first_range(ROCKCHIP_SYSCON_GRF);
+
+ rk_setreg(&grf->io_vsel, 1 << GRF_IO_VSEL_FLASH1_SHIFT);
+}
+
int rk_board_late_init(void)
{
int ret;
@@ -34,6 +48,8 @@ int rk_board_late_init(void)
struct rk3288_som opt;
int off;
+ setup_iodomain();
+
/* Get the identificatioin page of M24C32-D EEPROM */
off = fdt_path_offset(gd->fdt_blob, "eeprom0");
if (off < 0) {
This pin is supplied by 1.8V, but the default iodomain setting is 3.3V. Signed-off-by: Janine Hagemann <j.hagemann@phytec.de> --- v4: No changes --- board/phytec/phycore_rk3288/phycore-rk3288.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)