diff options
-rw-r--r-- | board/toradex/colibri_imx7/colibri_imx7.c | 24 | ||||
-rw-r--r-- | include/configs/colibri_imx7.h | 2 |
2 files changed, 26 insertions, 0 deletions
diff --git a/board/toradex/colibri_imx7/colibri_imx7.c b/board/toradex/colibri_imx7/colibri_imx7.c index 0fbaf82a5ac..c46d57971bf 100644 --- a/board/toradex/colibri_imx7/colibri_imx7.c +++ b/board/toradex/colibri_imx7/colibri_imx7.c @@ -21,6 +21,7 @@ #include <miiphy.h> #include <netdev.h> #include <power/pmic.h> +#include <power/rn5t567_pmic.h> #ifdef CONFIG_SYS_I2C_MXC #include <i2c.h> #include <asm/imx-common/mxc_i2c.h> @@ -572,6 +573,29 @@ static const struct boot_mode board_boot_modes[] = { #define I2C_PMIC 0 int power_init_board(void) { + struct pmic *p; + int ret; + + unsigned int reg, ver; + + ret = power_rn5t567_init(I2C_PMIC); + if (ret) + return ret; + + p = pmic_get("RN5T567"); + ret = pmic_probe(p); + if (ret) + return ret; + + pmic_reg_read(p, RN5T567_LSIVER, &ver); + pmic_reg_read(p, RN5T567_OTPVER, ®); + printf("PMIC: RN5T567 LSIVER=0x%x OTPVER=0x%x\n", ver, reg); + + /* set jduge and press timer of N_OE to minimal values */ + pmic_reg_read(p, RN5T567_NOETIMSETCNT, ®); + reg &= ~0x7; + pmic_reg_write(p, RN5T567_NOETIMSETCNT, reg); + return 0; } #endif diff --git a/include/configs/colibri_imx7.h b/include/configs/colibri_imx7.h index da2a2d31da8..53001b1b6ff 100644 --- a/include/configs/colibri_imx7.h +++ b/include/configs/colibri_imx7.h @@ -116,6 +116,8 @@ /* PMIC */ #define CONFIG_POWER #define CONFIG_POWER_I2C +#define CONFIG_POWER_RN5T567 +#define CONFIG_POWER_RN5T567_I2C_ADDR 0x33 #undef CONFIG_BOOTM_NETBSD #undef CONFIG_BOOTM_PLAN9 |