diff options
author | Stefan Agner <stefan.agner@toradex.com> | 2016-03-21 18:18:18 -0700 |
---|---|---|
committer | Marcel Ziswiler <marcel.ziswiler@toradex.com> | 2016-03-30 18:11:03 +0200 |
commit | 04bc099e711f5d8b51084608f191900fd83b6385 (patch) | |
tree | e597487ca82e90373375d8000a276dc76323449c /board | |
parent | 2812e5421d20ff226540f0790b991c81dce74275 (diff) |
colibri_imx7: add RN5T567 PMIC support to board file
Configure the Ricoh PMIC RN5T567 at startup to reset the board
without delay.
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
Diffstat (limited to 'board')
-rw-r--r-- | board/toradex/colibri_imx7/colibri_imx7.c | 24 |
1 files changed, 24 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 |