From mboxrd@z Thu Jan 1 00:00:00 1970 From: mark.brown314@gmail.com (Mark F. Brown) Date: Sun, 12 Dec 2010 15:28:50 -0500 Subject: [PATCH] ARM: mmp: added 5V Regulator enable for Brownstone Message-ID: <1292185730-3015-1-git-send-email-mark.brown314@gmail.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org 5V supply for USB ports, LCD connector, and HDMI Signed-off-by: Mark F. Brown --- arch/arm/mach-mmp/brownstone.c | 20 ++++++++++++++++++++ 1 files changed, 20 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-mmp/brownstone.c b/arch/arm/mach-mmp/brownstone.c index 635c400..9d37b35 100644 --- a/arch/arm/mach-mmp/brownstone.c +++ b/arch/arm/mach-mmp/brownstone.c @@ -97,8 +97,13 @@ static unsigned long brownstone_pin_config[] __initdata = { GPIO111_MMC3_DAT0 | MFP_PULL_HIGH, GPIO112_MMC3_CMD | MFP_PULL_HIGH, GPIO151_MMC3_CLK, + + /* 5V Regulator */ + GPIO89_GPIO89, }; +#define GPIO_5V_ENABLE (89) + static struct regulator_consumer_supply max8649_supply[] = { REGULATOR_SUPPLY("vcc_core", NULL), }; @@ -145,10 +150,25 @@ static struct sdhci_pxa_platdata mmp2_sdh_platdata_mmc0 = { .max_speed = 25000000, }; +/* enable for MAX8815A regulator (5V_ENABLE) */ +static void brownstone_enable_5v_regulator(void) +{ + int ret; + ret = gpio_request(GPIO_5V_ENABLE, "5V_ENABLE"); + if (ret < 0) + pr_warning("Unable to request GPIO_5V_ENABLE\n"); + else + gpio_direction_output(GPIO_5V_ENABLE, 1); + gpio_free(GPIO_5V_ENABLE); +} + static void __init brownstone_init(void) { mfp_config(ARRAY_AND_SIZE(brownstone_pin_config)); + /* enable 5v regulator */ + brownstone_enable_5v_regulator(); + /* on-chip devices */ mmp2_add_uart(1); mmp2_add_uart(3); -- 1.7.0.4