summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/freescale/mx7d_12x12_ddr3_arm2/mx7d_12x12_ddr3_arm2.c6
-rw-r--r--board/freescale/mx7d_12x12_lpddr3_arm2/mx7d_12x12_lpddr3_arm2.c6
-rw-r--r--board/freescale/mx7d_19x19_ddr3_arm2/mx7d_19x19_ddr3_arm2.c6
-rw-r--r--board/freescale/mx7d_19x19_lpddr3_arm2/mx7d_19x19_lpddr3_arm2.c13
-rw-r--r--board/freescale/mx7dsabresd/mx7dsabresd.c6
5 files changed, 37 insertions, 0 deletions
diff --git a/board/freescale/mx7d_12x12_ddr3_arm2/mx7d_12x12_ddr3_arm2.c b/board/freescale/mx7d_12x12_ddr3_arm2/mx7d_12x12_ddr3_arm2.c
index 19d1ebb..b43a618 100644
--- a/board/freescale/mx7d_12x12_ddr3_arm2/mx7d_12x12_ddr3_arm2.c
+++ b/board/freescale/mx7d_12x12_ddr3_arm2/mx7d_12x12_ddr3_arm2.c
@@ -326,6 +326,12 @@ int power_init_board(void)
pmic_reg_write(p, PFUZE300_SW1ASTBY, reg);
pmic_reg_write(p, PFUZE300_SW1BSTBY, reg);
+ /* decrease SW1B normal voltage to 0.975V */
+ pmic_reg_read(p, PFUZE300_SW1BVOLT, &reg);
+ reg &= ~0x1f;
+ reg |= PFUZE300_SW1AB_SETP(975);
+ pmic_reg_write(p, PFUZE300_SW1BVOLT, reg);
+
return 0;
}
#endif
diff --git a/board/freescale/mx7d_12x12_lpddr3_arm2/mx7d_12x12_lpddr3_arm2.c b/board/freescale/mx7d_12x12_lpddr3_arm2/mx7d_12x12_lpddr3_arm2.c
index c41ccf3..bfaf34a 100644
--- a/board/freescale/mx7d_12x12_lpddr3_arm2/mx7d_12x12_lpddr3_arm2.c
+++ b/board/freescale/mx7d_12x12_lpddr3_arm2/mx7d_12x12_lpddr3_arm2.c
@@ -860,6 +860,12 @@ int power_init_board(void)
reg |= 0x20;
pmic_reg_write(p, PFUZE300_SW2MODE, reg);
+ /* decrease SW1B normal voltage to 0.975V */
+ pmic_reg_read(p, PFUZE300_SW1BVOLT, &reg);
+ reg &= ~0x1f;
+ reg |= PFUZE300_SW1AB_SETP(975);
+ pmic_reg_write(p, PFUZE300_SW1BVOLT, reg);
+
return 0;
}
#endif
diff --git a/board/freescale/mx7d_19x19_ddr3_arm2/mx7d_19x19_ddr3_arm2.c b/board/freescale/mx7d_19x19_ddr3_arm2/mx7d_19x19_ddr3_arm2.c
index 6b75ec6..5e1e178 100644
--- a/board/freescale/mx7d_19x19_ddr3_arm2/mx7d_19x19_ddr3_arm2.c
+++ b/board/freescale/mx7d_19x19_ddr3_arm2/mx7d_19x19_ddr3_arm2.c
@@ -630,6 +630,12 @@ int power_init_board(void)
pmic_reg_write(p, PFUZE300_SW1ASTBY, reg);
pmic_reg_write(p, PFUZE300_SW1BSTBY, reg);
+ /* decrease SW1B normal voltage to 0.975V */
+ pmic_reg_read(p, PFUZE300_SW1BVOLT, &reg);
+ reg &= ~0x1f;
+ reg |= PFUZE300_SW1AB_SETP(975);
+ pmic_reg_write(p, PFUZE300_SW1BVOLT, reg);
+
return 0;
}
#endif
diff --git a/board/freescale/mx7d_19x19_lpddr3_arm2/mx7d_19x19_lpddr3_arm2.c b/board/freescale/mx7d_19x19_lpddr3_arm2/mx7d_19x19_lpddr3_arm2.c
index 3e77951..9a5bf2a 100644
--- a/board/freescale/mx7d_19x19_lpddr3_arm2/mx7d_19x19_lpddr3_arm2.c
+++ b/board/freescale/mx7d_19x19_lpddr3_arm2/mx7d_19x19_lpddr3_arm2.c
@@ -555,6 +555,7 @@ static const struct boot_mode board_boot_modes[] = {
#define PFUZE_LDOGCTL 0x69
#define PFUZE300_SW1ASTBY 0x21
#define PFUZE300_SW1AMODE 0x23
+#define PFUZE300_SW1BVOLT 0x2e
#define PFUZE300_SW1BSTBY 0x2f
#define PFUZE300_SW1BMODE 0x31
@@ -609,6 +610,18 @@ static int setup_pmic_voltages(void)
printf("Set PFUZE300_SW1BSTBY error!\n");
return -1;
}
+
+ /* decrease SW1B normal voltage to 0.975V */
+ if (i2c_read(CONFIG_PMIC_I2C_SLAVE, PFUZE300_SW1BVOLT, 1, &value, 1)) {
+ printf("Read SW1BVOLT error!\n");
+ return -1;
+ }
+ value &= ~0x1f;
+ value |= 0x0b;
+ if (i2c_write(CONFIG_PMIC_I2C_SLAVE, PFUZE300_SW1BVOLT, 1, &value, 1)) {
+ printf("Set SW1BVOLT error!\n");
+ return -1;
+ }
}
return 0;
diff --git a/board/freescale/mx7dsabresd/mx7dsabresd.c b/board/freescale/mx7dsabresd/mx7dsabresd.c
index 30d4b29..59fb352 100644
--- a/board/freescale/mx7dsabresd/mx7dsabresd.c
+++ b/board/freescale/mx7dsabresd/mx7dsabresd.c
@@ -964,6 +964,12 @@ int power_init_board(void)
pmic_reg_write(p, PFUZE300_SW1ASTBY, reg);
pmic_reg_write(p, PFUZE300_SW1BSTBY, reg);
+ /* decrease SW1B normal voltage to 0.975V */
+ pmic_reg_read(p, PFUZE300_SW1BVOLT, &reg);
+ reg &= ~0x1f;
+ reg |= PFUZE300_SW1AB_SETP(975);
+ pmic_reg_write(p, PFUZE300_SW1BVOLT, reg);
+
return 0;
}
#endif