exynos5: support tps65090 pmic
authorAaron Durbin <adurbin@chromium.org>
Tue, 20 May 2014 12:01:39 +0000 (06:01 -0600)
committerMinkyu Kang <mk7.kang@samsung.com>
Wed, 28 May 2014 01:58:19 +0000 (10:58 +0900)
The TSP65090 is a PMIC on some exynos5 boards. The init function is
called for the TPS65090 pmic. If that device is not a part of the device
tree (returns -ENODEV) then continue. Otherwise return a failure.

Signed-off-by: Aaron Durbin <adurbin@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
board/samsung/smdk5250/exynos5-dt.c

index fbf5850811924dc89dd16859574a93f692e2000b..bce7583fd0241d9e4b5c4265814cbcc9531f2e87 100644 (file)
@@ -20,6 +20,7 @@
 #include <asm/arch/sromc.h>
 #include <power/pmic.h>
 #include <power/max77686_pmic.h>
+#include <power/tps65090_pmic.h>
 #include <tmu.h>
 
 DECLARE_GLOBAL_DATA_PTR;
@@ -161,7 +162,19 @@ int exynos_power_init(void)
 
 #ifdef CONFIG_POWER_MAX77686
        ret = max77686_init();
+       if (ret)
+               return ret;
 #endif
+#ifdef CONFIG_POWER_TPS65090
+       /*
+        * The TPS65090 may not be in the device tree. If so, it is not
+        * an error.
+        */
+       ret = tps65090_init();
+       if (ret == 0 || ret == -ENODEV)
+               return 0;
+#endif
+
        return ret;
 }
 #endif /* CONFIG_POWER */