diff --git a/board/amlogic/g12a_estelle_bx/g12a_estelle_bx.c b/board/amlogic/g12a_estelle_bx/g12a_estelle_bx.c
index 9885cca..b198c58 100644
--- a/board/amlogic/g12a_estelle_bx/g12a_estelle_bx.c
+++ b/board/amlogic/g12a_estelle_bx/g12a_estelle_bx.c
@@ -493,21 +493,21 @@
 	int calibrated_current, persistent_brightness;
 
 	/* Values to write:
-	 * [0]:   Brightness register control only, backlight enabled
-	 * [1-2]: Standby disabled, 20mA MAX_CURRENT, CURRENT scale 1/2
-	 * [3]:   Enable undervoltage protection at 5.2 V, "disable" backlight
-	 *        (i2c only), disable set resistors
-	 * [4]:   9.6kHz PWM rate, 3 phase drivers
-         * [5]:   EN_DRV3, EN_DRV2, boost inductor current limit = 1.6 A
-         * [6]:   VBOOST_MAX = 25 V, JUMP_EN = 0
-         * [7]:   STEP_UP = 105 mV, STEP_DN = 105 mV, LED_FAULT_TH = 3V,
-         *        LED_COMP_HYST = DRIVER_HEADROOM + 750 mV
-	 * [8-9]: 12-bit brightness (default: 100%)
+	 * 0xa1: Brightness register control only, backlight enabled
+	 * 0xa0-a1: Standby disabled, 20mA MAX_CURRENT, CURRENT scale 1/2
+	 * 0xa2: Enable undervoltage protection at 5.2 V, "disable" backlight
+	 *       (i2c only), disable set resistors
+	 * 0xa5: 9.6kHz PWM rate, 3 phase drivers
+	 * 0xa7: EN_DRV3, EN_DRV2, boost inductor current limit = 1.6 A
+	 * 0xa9: VBOOST_MAX = 25 V, JUMP_EN = 0
+	 * 0xae: STEP_UP = 105 mV, STEP_DN = 105 mV, LED_FAULT_TH = 3V,
+	 *       LED_COMP_HYST = DRIVER_HEADROOM + 750 mV
+	 * 0x10-11: 12-bit brightness (default: 100%)
 	 * Important: Write brightness last to apply current calibration */
-	const __u8 addrs[] = {0x01, 0xa0, 0xa1, 0xa2, 0xa5, 0xa7, 0xa9, 0xae,
-		0x10, 0x11};
-	__u8 values[] = {0x85, 0xff, 0x37, 0x30, 0x54, 0xf4, 0x60, 0x09, 0xff,
-		0x0f};
+	const __u8 addrs[] = {0x01, 0xa0, 0xa1, 0xa2, 0xa3, 0xa5, 0xa7, 0xa9,
+			      0xae, 0x10, 0x11};
+	__u8 values[] = {0x85, 0xff, 0x37, 0x30, 0x32, 0x54, 0xf4, 0x60, 0x09,
+			 0xff, 0x0f};
 	const int n_bytes = sizeof(values)/sizeof(values[0]);
 
 	if (argc > 2) {
diff --git a/board/amlogic/g12a_estelle_p2/g12a_estelle_p2.c b/board/amlogic/g12a_estelle_p2/g12a_estelle_p2.c
index 2257d6c..5d249b9 100755
--- a/board/amlogic/g12a_estelle_p2/g12a_estelle_p2.c
+++ b/board/amlogic/g12a_estelle_p2/g12a_estelle_p2.c
@@ -525,21 +525,21 @@
 	int calibrated_current, persistent_brightness;
 
 	/* Values to write:
-	 * [0]:   Brightness register control only, backlight enabled
-	 * [1-2]: Standby disabled, 20mA MAX_CURRENT, CURRENT scale 1/2
-	 * [3]:   Enable undervoltage protection at 5.2 V, "disable" backlight
-	 *        (i2c only), disable set resistors
-	 * [4]:   9.6kHz PWM rate, 3 phase drivers
-         * [5]:   EN_DRV3, EN_DRV2, boost inductor current limit = 1.6 A
-         * [6]:   VBOOST_MAX = 25 V, JUMP_EN = 0
-         * [7]:   STEP_UP = 105 mV, STEP_DN = 105 mV, LED_FAULT_TH = 3V,
-         *        LED_COMP_HYST = DRIVER_HEADROOM + 750 mV
-	 * [8-9]: 12-bit brightness (default: 100%)
+	 * 0xa1: Brightness register control only, backlight enabled
+	 * 0xa0-a1: Standby disabled, 20mA MAX_CURRENT, CURRENT scale 1/2
+	 * 0xa2: Enable undervoltage protection at 5.2 V, "disable" backlight
+	 *       (i2c only), disable set resistors
+	 * 0xa5: 9.6kHz PWM rate, 3 phase drivers
+	 * 0xa7: EN_DRV3, EN_DRV2, boost inductor current limit = 1.6 A
+	 * 0xa9: VBOOST_MAX = 25 V, JUMP_EN = 0
+	 * 0xae: STEP_UP = 105 mV, STEP_DN = 105 mV, LED_FAULT_TH = 3V,
+	 *       LED_COMP_HYST = DRIVER_HEADROOM + 750 mV
+	 * 0x10-11: 12-bit brightness (default: 100%)
 	 * Important: Write brightness last to apply current calibration */
-	const __u8 addrs[] = {0x01, 0xa0, 0xa1, 0xa2, 0xa5, 0xa7, 0xa9, 0xae,
-		0x10, 0x11};
-	__u8 values[] = {0x85, 0xff, 0x37, 0x30, 0x54, 0xf4, 0x60, 0x09, 0xff,
-		0x0f};
+	const __u8 addrs[] = {0x01, 0xa0, 0xa1, 0xa2, 0xa3, 0xa5, 0xa7, 0xa9,
+			      0xae, 0x10, 0x11};
+	__u8 values[] = {0x85, 0xff, 0x37, 0x30, 0x32, 0x54, 0xf4, 0x60, 0x09,
+			 0xff, 0x0f};
 	const int n_bytes = sizeof(values)/sizeof(values[0]);
 
 	if (argc > 2) {
