summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2014-11-12 08:18:00 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2014-11-20 14:57:18 +0100
commita56dcaa9d4bfe8e3e9e38ee153e488266d8bffaa (patch)
treebca5f4b05cdd2670472cd2c91b42631c40fd19af /arch
parentf1b3619759c457f0323e999d0aa7874c2887d172 (diff)
downloadbarebox-a56dcaa9d4bfe8e3e9e38ee153e488266d8bffaa.tar.gz
barebox-a56dcaa9d4bfe8e3e9e38ee153e488266d8bffaa.tar.xz
ARM: i.MX51 efikasb: register init callback for PMIC init
So that the PMIC initialisation is called once it's available. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boards/efika-mx-smartbook/board.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/arch/arm/boards/efika-mx-smartbook/board.c b/arch/arm/boards/efika-mx-smartbook/board.c
index 02fce4b1c0..99efd666f9 100644
--- a/arch/arm/boards/efika-mx-smartbook/board.c
+++ b/arch/arm/boards/efika-mx-smartbook/board.c
@@ -64,16 +64,9 @@ static inline int machine_is_efikasb(void)
return 1;
}
-static int efikamx_power_init(void)
+static void efikamx_power_init(struct mc13xxx *mc)
{
unsigned int val;
- struct mc13xxx *mc;
-
- mc = mc13xxx_get();
- if (!mc) {
- printf("could not get mc13892\n");
- return -ENODEV;
- }
/* Write needed to Power Gate 2 register */
mc13xxx_reg_read(mc, MC13892_REG_POWER_MISC, &val);
@@ -178,8 +171,6 @@ static int efikamx_power_init(void)
mc13xxx_reg_write(mc, MC13892_REG_POWER_CTL2, val);
udelay(2500);
-
- return 0;
}
static int efikamx_usb_init(void)
@@ -189,6 +180,8 @@ static int efikamx_usb_init(void)
barebox_set_hostname("efikasb");
+ mc13xxx_register_init_callback(efikamx_power_init);
+
gpio_direction_output(GPIO_BLUETOOTH, 0);
gpio_direction_output(GPIO_WIFI_ENABLE, 1);
gpio_direction_output(GPIO_WIFI_RESET, 0);
@@ -246,8 +239,6 @@ static int efikamx_late_init(void)
if (!of_machine_is_compatible("genesi,imx51-sb"))
return 0;
- efikamx_power_init();
-
defaultenv_append_directory(defaultenv_efikasb);
gpio_direction_output(GPIO_BACKLIGHT_POWER, 1);