diff --git a/board/tqc/tqma6/tqma6.c b/board/tqc/tqma6/tqma6.c
index c8fc95d52bc947756ca1d7201accf306112831e1..59b4a6c2eee80c90ae8565a502d2773b85e1718c 100644
--- a/board/tqc/tqma6/tqma6.c
+++ b/board/tqc/tqma6/tqma6.c
@@ -232,25 +232,27 @@ static const char *tqma6_get_boardname(void)
 	};
 }
 
-int board_late_init(void)
+/* setup board specific PMIC */
+int power_init_board(void)
 {
 	struct pmic *p;
-	u32 reg;
-
-	setenv("board_name", tqma6_get_boardname());
+	u32 reg, rev;
 
-	/*
-	 * configure PFUZE100 PMIC:
-	 * TODO: should go to power_init_board if bus switching is
-	 * fixed in generic power code
-	 */
 	power_pfuze100_init(TQMA6_PFUZE100_I2C_BUS);
 	p = pmic_get("PFUZE100");
 	if (p && !pmic_probe(p)) {
 		pmic_reg_read(p, PFUZE100_DEVICEID, &reg);
-		printf("PMIC: PFUZE100 ID=0x%02x\n", reg);
+		pmic_reg_read(p, PFUZE100_REVID, &rev);
+		printf("PMIC: PFUZE100 ID=0x%02x REV=0x%02x\n", reg, rev);
 	}
 
+	return 0;
+}
+
+int board_late_init(void)
+{
+	setenv("board_name", tqma6_get_boardname());
+
 	tqma6_bb_board_late_init();
 
 	return 0;