From e7ffea40eabc1e781ec32e1122e4c539ccc2ebdf Mon Sep 17 00:00:00 2001 From: "Martin T. H. Sandsmark" Date: Wed, 19 Oct 2016 10:35:19 +0200 Subject: [PATCH] Verify PMIC version before trying to interact with it --- .../reMarkable/zero-gravitas/zero-gravitas.c | 30 +++++++++---------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/board/reMarkable/zero-gravitas/zero-gravitas.c b/board/reMarkable/zero-gravitas/zero-gravitas.c index 29641213b6..c65929cee9 100644 --- a/board/reMarkable/zero-gravitas/zero-gravitas.c +++ b/board/reMarkable/zero-gravitas/zero-gravitas.c @@ -330,6 +330,21 @@ int power_init_board(void) return ret; } + /* Get ID, verify it is a supported version */ + pmic_reg_read(p, PFUZE100_DEVICEID, &id); + id = id & 0xf; + printf("PMIC: PFUZE100 ID=0x%02x\n", id); + if (id == 0) { + switch_num = 6; + offset = PFUZE100_SW1CMODE; + } else if (id == 1) { + switch_num = 4; + offset = PFUZE100_SW2MODE; + } else { + printf("PMIC: PFUZE100 ID not supported, id=%d\n", id); + return -EINVAL; + } + /* Set SW1AB stanby volage to 0.975V */ pmic_reg_read(p, PFUZE100_SW1ABSTBY, ®); reg &= ~SW1x_STBY_MASK; @@ -366,21 +381,6 @@ int power_init_board(void) reg |= LDOB_3_30V; pmic_reg_write(p, PFUZE100_VGEN6VOL, reg); - /* Get ID, verify it is a supported version */ - pmic_reg_read(p, PFUZE100_DEVICEID, &id); - id = id & 0xf; - printf("PMIC: PFUZE100 ID=0x%02x\n", id); - if (id == 0) { - switch_num = 6; - offset = PFUZE100_SW1CMODE; - } else if (id == 1) { - switch_num = 4; - offset = PFUZE100_SW2MODE; - } else { - printf("PMIC: PFUZE100 ID not supported, id=%d\n", id); - return -EINVAL; - } - /* Set modes */ ret = pmic_reg_write(p, PFUZE100_SW1ABMODE, APS_PFM); if (ret < 0) {