power: Export register access functions from as3722

With the full PMIC framework we may be able to avoid this. But for now
we need access to the PMIC.

Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Tom Warren <twarren@nvidia.com>
This commit is contained in:
Simon Glass 2015-04-14 21:03:26 -06:00 committed by Tom Warren
parent ec74664434
commit d55b7d4c53
2 changed files with 16 additions and 3 deletions

View file

@ -27,7 +27,7 @@
#define AS3722_DEVICE_ID 0x0c #define AS3722_DEVICE_ID 0x0c
#define AS3722_ASIC_ID2 0x91 #define AS3722_ASIC_ID2 0x91
static int as3722_read(struct udevice *pmic, u8 reg, u8 *value) int as3722_read(struct udevice *pmic, u8 reg, u8 *value)
{ {
int err; int err;
@ -38,7 +38,7 @@ static int as3722_read(struct udevice *pmic, u8 reg, u8 *value)
return 0; return 0;
} }
static int as3722_write(struct udevice *pmic, u8 reg, u8 value) int as3722_write(struct udevice *pmic, u8 reg, u8 value)
{ {
int err; int err;
@ -234,6 +234,15 @@ int as3722_gpio_direction_output(struct udevice *pmic, unsigned int gpio,
return 0; return 0;
} }
/* Temporary function until we get the pmic framework */
int as3722_get(struct udevice **devp)
{
int bus = 0;
int address = 0x40;
return i2c_get_chip_for_busnum(bus, address, 1, devp);
}
int as3722_init(struct udevice **devp) int as3722_init(struct udevice **devp)
{ {
struct udevice *pmic; struct udevice *pmic;
@ -258,7 +267,8 @@ int as3722_init(struct udevice **devp)
debug("AS3722 revision %#x found on I2C bus %u, address %#x\n", debug("AS3722 revision %#x found on I2C bus %u, address %#x\n",
revision, bus, address); revision, bus, address);
*devp = pmic; if (devp)
*devp = pmic;
return 0; return 0;
} }

View file

@ -23,5 +23,8 @@ int as3722_gpio_configure(struct udevice *pmic, unsigned int gpio,
unsigned long flags); unsigned long flags);
int as3722_gpio_direction_output(struct udevice *pmic, unsigned int gpio, int as3722_gpio_direction_output(struct udevice *pmic, unsigned int gpio,
unsigned int level); unsigned int level);
int as3722_read(struct udevice *pmic, u8 reg, u8 *value);
int as3722_write(struct udevice *pmic, u8 reg, u8 value);
int as3722_get(struct udevice **devp);
#endif /* __POWER_AS3722_H__ */ #endif /* __POWER_AS3722_H__ */