summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-01-09 20:07:10 -0600
committerAlexandru Gagniuc <mr.nuke.me@gmail.com>2014-01-13 04:02:12 +0100
commit4d3a89d72a9def26c9d44d0bbdb40165d24a9417 (patch)
treebb2fdf967e3f8c32204b9441e3bdb0453abd4c2e
parent428eeff923f8b4e18f4df093f8e8e389311cce3a (diff)
xpowers/axp209: Allow voltages to be sepecified in devicetree.cb
This allows system voltages to be specified uniformly, rather than hardcoding them for each board. This will be used by cubieboard in an upcoming patch. Change-Id: I9dc2d3281d076c359c3fad13688649f7d36c0001 Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-on: http://review.coreboot.org/4637 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
-rw-r--r--src/drivers/xpowers/axp209/axp209.c13
-rw-r--r--src/drivers/xpowers/axp209/chip.h21
2 files changed, 34 insertions, 0 deletions
diff --git a/src/drivers/xpowers/axp209/axp209.c b/src/drivers/xpowers/axp209/axp209.c
index 68ab8a5d42..9f77cf6867 100644
--- a/src/drivers/xpowers/axp209/axp209.c
+++ b/src/drivers/xpowers/axp209/axp209.c
@@ -9,7 +9,9 @@
*/
#include "axp209.h"
+#include "chip.h"
+#include <device/device.h>
#include <device/i2c.h>
/* Hide these definitions from the rest of the source, so keep them here */
@@ -228,3 +230,14 @@ enum cb_err axp209_set_ldo4_voltage(u8 bus, u16 millivolts)
return CB_SUCCESS;
}
+
+/*
+ * Usually, the AXP209 is enabled and configured in romstage, so there is no
+ * need for a full ramstage driver. Hence .enable_dev is NULL.
+ */
+#ifndef __PRE_RAM__
+struct chip_operations drivers_xpowers_axp209_config = {
+ CHIP_NAME("X-Powers AXP 209 Power Management Unit")
+ .enable_dev = NULL,
+};
+#endif /* __PRE_RAM__ */
diff --git a/src/drivers/xpowers/axp209/chip.h b/src/drivers/xpowers/axp209/chip.h
new file mode 100644
index 0000000000..c19253d6b5
--- /dev/null
+++ b/src/drivers/xpowers/axp209/chip.h
@@ -0,0 +1,21 @@
+/*
+ * X-Powers AXP 209 devicetree.cb interface
+ *
+ * Copyright (C) 2013 Alexandru Gagniuc <mr.nuke.me@gmail.com>
+ * Subject to the GNU GPL v2, or (at your option) any later version.
+ */
+
+#ifndef AXP209_CHIP_H
+#define AXP209_CHIP_H
+
+#include <types.h>
+
+struct drivers_xpowers_axp209_config {
+ u16 dcdc2_voltage_mv; /**< DCDC2 converter voltage output */
+ u16 dcdc3_voltage_mv; /**< DCDC3 converter voltage output */
+ u16 ldo2_voltage_mv; /**< LDO2 regulator voltage output */
+ u16 ldo3_voltage_mv; /**< LDO3 regulator voltage output */
+ u16 ldo4_voltage_mv; /**< LDO4 regulator voltage output */
+};
+
+#endif /* AXP209_CHIP_H */