[U-Boot] [PATCH] 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 --- board/samsung/universal_c210/universal.c | 30 +++++++++++++++++++++++++++--- include/max8998_pmic.h | 1 + 2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index d0ff834..f166c3e 100644 --- a/board/samsung/universal_c210/universal.c +++ b/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,32 @@ 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; + + if (on) + ret = pmic_set_output(p, + MAX8998_REG_ONOFF1, + MAX8998_LDO4, LDO_ON); + else + ret = pmic_set_output(p, + MAX8998_REG_ONOFF1, + MAX8998_LDO4, LDO_OFF); + + 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 +157,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; }
diff --git a/include/max8998_pmic.h b/include/max8998_pmic.h index 10c892a..ca21f88 100644 --- a/include/max8998_pmic.h +++ b/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)

Hi Minkyu,
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
Any opinion/comment about this patch?

Dear Lukasz Majewski,
On 13 March 2012 17:05, Lukasz Majewski l.majewski@samsung.com wrote:
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
board/samsung/universal_c210/universal.c | 30 +++++++++++++++++++++++++++--- include/max8998_pmic.h | 1 + 2 files changed, 28 insertions(+), 3 deletions(-)
diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index d0ff834..f166c3e 100644 --- a/board/samsung/universal_c210/universal.c +++ b/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,32 @@ 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;
- if (on)
need brace at this if statement
- ret = pmic_set_output(p,
- MAX8998_REG_ONOFF1,
- MAX8998_LDO4, LDO_ON);
- else
- ret = pmic_set_output(p,
- MAX8998_REG_ONOFF1,
- MAX8998_LDO4, LDO_OFF);
hm, I think, you don't have to use if statement here.
ret = pmic_set_output(p, MAX8998_REG_ONOFF1, MAX8998_LDO4, !!on);
- return ret;
+}
Thanks Minkyu Kang.

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 --- board/samsung/universal_c210/universal.c | 25 ++++++++++++++++++++++--- include/max8998_pmic.h | 1 + 2 files changed, 23 insertions(+), 3 deletions(-)
diff --git a/board/samsung/universal_c210/universal.c b/board/samsung/universal_c210/universal.c index 334a346..70f03e9 100644 --- a/board/samsung/universal_c210/universal.c +++ b/board/samsung/universal_c210/universal.c @@ -59,13 +59,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; }
@@ -110,10 +110,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 */
@@ -136,6 +153,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; }
diff --git a/include/max8998_pmic.h b/include/max8998_pmic.h index 10c892a..ca21f88 100644 --- a/include/max8998_pmic.h +++ b/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)

Dear Lukasz Majewski,
On 27 March 2012 16:53, Lukasz Majewski l.majewski@samsung.com wrote:
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
board/samsung/universal_c210/universal.c | 25 ++++++++++++++++++++++--- include/max8998_pmic.h | 1 + 2 files changed, 23 insertions(+), 3 deletions(-)
applied to u-boot-samsung
participants (2)
-
Lukasz Majewski
-
Minkyu Kang