diff options
author | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2014-01-09 20:07:10 -0600 |
---|---|---|
committer | Alexandru Gagniuc <mr.nuke.me@gmail.com> | 2014-01-13 04:02:12 +0100 |
commit | 4d3a89d72a9def26c9d44d0bbdb40165d24a9417 (patch) | |
tree | bb2fdf967e3f8c32204b9441e3bdb0453abd4c2e | |
parent | 428eeff923f8b4e18f4df093f8e8e389311cce3a (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.c | 13 | ||||
-rw-r--r-- | src/drivers/xpowers/axp209/chip.h | 21 |
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 */ |