Browse Source

ARM: Exynos4: ADC: Universal_C210: Enable LDO4 power line for ADC measurement

This patch enables LDO4 power line for preparing proper voltages to be
measured by ADC converter.
This measurement is used for determination of target board HW revision.

Test HW:
Universal_C210 (Exynos4210) rev. 0.0

Signed-off-by: Lukasz Majewski <l.majewski@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Cc: Minkyu Kang <mk7.kang@samsung.com>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
Łukasz Majewski 13 years ago
parent
commit
4d86bf0860
2 changed files with 23 additions and 3 deletions
  1. 22 3
      board/samsung/universal_c210/universal.c
  2. 1 0
      include/max8998_pmic.h

+ 22 - 3
board/samsung/universal_c210/universal.c

@@ -58,13 +58,13 @@ int board_init(void)
 	gd->bd->bi_arch_number = MACH_TYPE_UNIVERSAL_C210;
 	gd->bd->bi_boot_params = PHYS_SDRAM_1 + 0x100;
 
-	check_hw_revision();
-	printf("HW Revision:\t0x%x\n", board_rev);
-
 #if defined(CONFIG_PMIC)
 	pmic_init();
 #endif
 
+	check_hw_revision();
+	printf("HW Revision:\t0x%x\n", board_rev);
+
 	return 0;
 }
 
@@ -109,10 +109,27 @@ static unsigned short get_adc_value(int channel)
 	return ret;
 }
 
+static int adc_power_control(int on)
+{
+	int ret;
+	struct pmic *p = get_pmic();
+
+	if (pmic_probe(p))
+		return -1;
+
+	ret = pmic_set_output(p,
+			      MAX8998_REG_ONOFF1,
+			      MAX8998_LDO4, !!on);
+
+	return ret;
+}
+
 static unsigned int get_hw_revision(void)
 {
 	int hwrev, mode0, mode1;
 
+	adc_power_control(1);
+
 	mode0 = get_adc_value(1);		/* HWREV_MODE0 */
 	mode1 = get_adc_value(2);		/* HWREV_MODE1 */
 
@@ -135,6 +152,8 @@ static unsigned int get_hw_revision(void)
 
 	debug("mode0: %d, mode1: %d, hwrev 0x%x\n", mode0, mode1, hwrev);
 
+	adc_power_control(0);
+
 	return hwrev;
 }
 

+ 1 - 0
include/max8998_pmic.h

@@ -75,6 +75,7 @@ enum {
 };
 
 #define MAX8998_LDO3		(1 << 2)
+#define MAX8998_LDO4		(1 << 1)
 #define MAX8998_LDO8		(1 << 5)
 #define MAX8998_SAFEOUT1	(1 << 4)