From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lukasz Majewski Date: Mon, 14 May 2018 12:01:26 +0200 Subject: [U-Boot] [PATCH v2 05/11] pmic: dm: Add support for MC34708 for PMIC DM In-Reply-To: References: <20180506202608.5899-1-lukma@denx.de> <20180506202608.5899-6-lukma@denx.de> Message-ID: <20180514120126.7643f4d4@jawa> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Mon, 14 May 2018 08:01:45 +1000 Simon Glass wrote: > Hi Lukasz, > > On 7 May 2018 at 06:26, Lukasz Majewski wrote: > > This patch adds support for MC34708 PMIC, to be used with driver > > model (DM). > > > > Signed-off-by: Lukasz Majewski > > > > --- > > > > Changes in v2: > > - Support for uclass private data with trasfer length > > > > drivers/power/pmic/Kconfig | 7 +++ > > drivers/power/pmic/Makefile | 1 + > > drivers/power/pmic/mc34708.c | 101 > > +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 109 > > insertions(+) create mode 100644 drivers/power/pmic/mc34708.c > > > > diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig > > index 40ab9f7fa5..d504c28b77 100644 > > --- a/drivers/power/pmic/Kconfig > > +++ b/drivers/power/pmic/Kconfig > > @@ -69,6 +69,13 @@ config DM_PMIC_MAX8998 > > This config enables implementation of driver-model pmic > > uclass features for PMIC MAX8998. The driver implements read/write > > operations. > > > > +config DM_PMIC_MC34708 > > + bool "Enable Driver Model for PMIC MC34708" > > + depends on DM_PMIC > > + help > > + This config enables implementation of driver-model pmic > > uclass features > > + for PMIC MC34708. The driver implements read/write > > operations. + > > config PMIC_MAX8997 > > bool "Enable Driver Model for PMIC MAX8997" > > depends on DM_PMIC > > diff --git a/drivers/power/pmic/Makefile > > b/drivers/power/pmic/Makefile index ad32068b3a..418b5e7aee 100644 > > --- a/drivers/power/pmic/Makefile > > +++ b/drivers/power/pmic/Makefile > > @@ -8,6 +8,7 @@ > > obj-$(CONFIG_DM_PMIC) += pmic-uclass.o > > obj-$(CONFIG_DM_PMIC_MAX77686) += max77686.o > > obj-$(CONFIG_DM_PMIC_MAX8998) += max8998.o > > +obj-$(CONFIG_DM_PMIC_MC34708) += mc34708.o > > obj-$(CONFIG_$(SPL_)DM_PMIC_PFUZE100) += pfuze100.o > > obj-$(CONFIG_PMIC_S2MPS11) += s2mps11.o > > obj-$(CONFIG_DM_PMIC_SANDBOX) += sandbox.o i2c_pmic_emul.o > > diff --git a/drivers/power/pmic/mc34708.c > > b/drivers/power/pmic/mc34708.c new file mode 100644 > > index 0000000000..d9d1a41802 > > --- /dev/null > > +++ b/drivers/power/pmic/mc34708.c > > @@ -0,0 +1,101 @@ > > +/* > > + * Copyright (C) 2018 > > + * Lukasz Majewski, DENX Software Engineering, lukma at denx.de > > + * > > + * SPDX-License-Identifier: GPL-2.0+ > > + */ > > + > > +#include > > +#include > > +#include > > +#include > > +#include > > should be at end > > > +#include > > should be above i2c.h > > > + > > +DECLARE_GLOBAL_DATA_PTR; > > + > > +static int mc34708_reg_count(struct udevice *dev) > > +{ > > + return PMIC_NUM_OF_REGS; > > +} > > + > > +static int mc34708_write(struct udevice *dev, uint reg, const u8 > > *buff, > > + int len) > > +{ > > + u8 buf[3] = { 0 }; > > + int ret; > > + > > + if (len != MC34708_TRANSFER_SIZE) > > + return -EINVAL; > > + > > + buf[0] = buff[2]; > > + buf[1] = buff[1]; > > + buf[2] = buff[0]; > > What is going on here? It deserves a comment at least. This is the data endianess conversion for this chip (as described in earlier reply). The upper layer (pmic-uclass) will receive data formatted in little endian. This unification can be leveraged with pmic_read/write generic functions (as it is done latter). > > > + > > + ret = dm_i2c_write(dev, reg, buf, len); > > + if (ret) > > + printf("write error to device: %p register: %#x!", > > dev, reg); + > > + return ret; > > +} > > + > > Regards, > Simon Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: