From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stefano Babic Date: Mon, 03 Feb 2014 13:05:14 +0100 Subject: [U-Boot] [PATCH 1/2] power: add PFUZE100 PMIC driver In-Reply-To: <1391284192-8440-2-git-send-email-tharvey@gateworks.com> References: <1391284192-8440-1-git-send-email-tharvey@gateworks.com> <1391284192-8440-2-git-send-email-tharvey@gateworks.com> Message-ID: <52EF85FA.4040302@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Tim, On 01/02/2014 20:49, Tim Harvey wrote: > Signed-off-by: Tim Harvey > --- > drivers/power/pmic/Makefile | 1 + > drivers/power/pmic/pmic_pfuze100.c | 42 +++++++++++++++++ > include/power/pfuze100_pmic.h | 96 ++++++++++++++++++++++++++++++++++++++ > 3 files changed, 139 insertions(+) > create mode 100644 drivers/power/pmic/pmic_pfuze100.c > create mode 100644 include/power/pfuze100_pmic.h > > diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile > index 0b45ffa..4129bda 100644 > --- a/drivers/power/pmic/Makefile > +++ b/drivers/power/pmic/Makefile > @@ -9,5 +9,6 @@ obj-$(CONFIG_POWER_MAX8998) += pmic_max8998.o > obj-$(CONFIG_POWER_MAX8997) += pmic_max8997.o > obj-$(CONFIG_POWER_MUIC_MAX8997) += muic_max8997.o > obj-$(CONFIG_POWER_MAX77686) += pmic_max77686.o > +obj-$(CONFIG_POWER_PFUZE100) += pmic_pfuze100.o > obj-$(CONFIG_POWER_TPS65217) += pmic_tps65217.o > obj-$(CONFIG_POWER_TPS65910) += pmic_tps65910.o > diff --git a/drivers/power/pmic/pmic_pfuze100.c b/drivers/power/pmic/pmic_pfuze100.c > new file mode 100644 > index 0000000..c382921 > --- /dev/null > +++ b/drivers/power/pmic/pmic_pfuze100.c > @@ -0,0 +1,42 @@ > +/* > + * Copyright (C) 2014 Gateworks Corporation > + * Tim Harvey > + * > + * SPDX-License-Identifier: GPL-2.0+ > + */ > + > +#include > +#include > +#include > +#include > +#include > + > +int pmic_init(unsigned char bus) > +{ > + static const char name[] = "PFUZE100_PMIC"; > + int ret; > + struct pmic *p = pmic_alloc(); > + > + if (!p) { > + printf("%s: POWER allocation error!\n", __func__); > + return -ENOMEM; > + } > + > + p->name = name; > + p->interface = PMIC_I2C; > + p->number_of_regs = PMIC_NUM_OF_REGS; > + p->hw.i2c.addr = CONFIG_POWER_PFUZE100_I2C_ADDR; > + p->hw.i2c.tx_num = 1; > + p->bus = bus; > + > + ret = i2c_set_bus_num(p->bus); > + if (ret) > + return ret; > + if (!i2c_probe(p->hw.i2c.addr)) { > + unsigned char dev_id, rev_id; > + i2c_read(p->hw.i2c.addr, PFUZE100_DEVICEID, 1, &dev_id, 1); > + i2c_read(p->hw.i2c.addr, PFUZE100_REVID, 1, &rev_id, 1); > + printf("PMIC: PFUZE100 0x%02x/0x%02x\n", dev_id, rev_id); This is always printed, not only on your board - even from other board, if any, that will use this pmic. If you want that your board always prints the pmic revision, move this output to your board file - maybe in checkboard(). > + } > + return 0; If i2c_probe() returns with error, why does this function returns with zero (= no error) ? Best regards, Stefano Babic -- ===================================================================== DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de =====================================================================