From patchwork Thu Feb 2 08:04:09 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaehoon Chung X-Patchwork-Id: 722911 X-Patchwork-Delegate: jh80.chung@samsung.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3vDXb73X9lz9s79 for ; Thu, 2 Feb 2017 19:04:35 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 67A7F4AE45; Thu, 2 Feb 2017 09:04:33 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LsJCBWaUZauC; Thu, 2 Feb 2017 09:04:33 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id F12144AC0C; Thu, 2 Feb 2017 09:04:32 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 77DA84AC0C for ; Thu, 2 Feb 2017 09:04:29 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 85eDf8Y_k98H for ; Thu, 2 Feb 2017 09:04:29 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from mailout1.samsung.com (mailout1.samsung.com [203.254.224.24]) by theia.denx.de (Postfix) with ESMTPS id 3CA254ABD8 for ; Thu, 2 Feb 2017 09:04:24 +0100 (CET) Received: from epcas1p4.samsung.com (unknown [182.195.41.48]) by mailout1.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTP id <0OKQ02I2UMF4RX50@mailout1.samsung.com> for u-boot@lists.denx.de; Thu, 02 Feb 2017 17:04:16 +0900 (KST) Received: from epsmges1p2.samsung.com (unknown [182.195.40.64]) by epcas1p1.samsung.com (KnoxPortal) with ESMTP id 20170202080416epcas1p1437643c15883894018bb204d5078eda5~fabudSOj13003430034epcas1p15; Thu, 2 Feb 2017 08:04:16 +0000 (GMT) Received: from epcas1p2.samsung.com ( [182.195.41.46]) by epsmges1p2.samsung.com (Symantec Messaging Gateway) with SMTP id 5B.3C.06735.008E2985; Thu, 2 Feb 2017 17:04:16 +0900 (KST) Received: from epcpsbgm1new.samsung.com (u26.gpu120.samsung.co.kr [203.254.230.26]) by epcas1p2.samsung.com (KnoxPortal) with ESMTP id 20170202080416epcas1p2d8692ed2f0e090b5b3527849a7e3baf3~fabuOSMMI2143421434epcas1p2q; Thu, 2 Feb 2017 08:04:16 +0000 (GMT) X-AuditID: b6c32a36-f79dd6d000001a4f-7c-5892e800132a Received: from epmmp2 ( [203.254.227.17]) by epcpsbgm1new.samsung.com (EPCPMTA) with SMTP id 9A.D8.06487.008E2985; Thu, 2 Feb 2017 17:04:16 +0900 (KST) Received: from localhost.localdomain ([10.113.62.216]) by mmp2.samsung.com (Oracle Communications Messaging Server 7.0.5.31.0 64bit (built May 5 2014)) with ESMTPA id <0OKQ00BHOMF4OW20@mmp2.samsung.com>; Thu, 02 Feb 2017 17:04:16 +0900 (KST) From: Jaehoon Chung To: u-boot@lists.denx.de Date: Thu, 02 Feb 2017 17:04:09 +0900 Message-id: <20170202080410.15240-1-jh80.chung@samsung.com> X-Mailer: git-send-email 2.10.2 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprFKsWRmVeSWpSXmKPExsWy7bCmni7Di0kRBp0fFSxu/Gpjteg40sJo 8W3LNkaLt3s72R1YPGY3XGTxOHtnB6NH35ZVjAHMUak2GamJKalFCql5yfkpmXnptkrewfHO 8aZmBoa6hpYW5koKeYm5qbZKLj4Bum6ZOUDrlBTKEnNKgUIBicXFSvp2NkX5pSWpChn5xSW2 StGGhkZ6hgbmekZGRnomxrFWRqZAJQmpGU/WRxZcl6/ouDGXtYFxtVQXIyeHhICJxKIV2xgh bDGJC/fWs3UxcnEICexglGhcvYAJwmlnklj9YB4TTMe7CyeYIRJzGCXW/LzAAuH8YJTY1AHi cHKwCehIbP92HKxDREBC4lf/VbAdzAIhEv9eTQerERZwk5g3r58VxGYRUJXYffgtG4jNK2At 0ffrHNRN8hILzx8BO0NCYAubxOGJ/9m7GDmAHFmJTQeYIWpcJC79OglVLyzx6vgWdghbWmLV v1tQvd2MEv++bGSDcHoYJW5tXQ31j7HE/Qf3mCGu45N497WHFWIBr0RHmxCE6SFx6yo3RLWj xPzLE8EqhARiJabfYJ3AKL2AkWEVo1hqQXFuemqxYYGRXnFibnFpXrpecn7uJkZwutAy28G4 6JzPIUYBDkYlHt4KlUkRQqyJZcWVuYcYJTiYlUR41W8AhXhTEiurUovy44tKc1KLDzGaAkNm IrOUaHI+MJXllcQbmpgZmhiZGBqaGxkYKYnzshpMjBASSE8sSc1OTS1ILYLpY+LglGpgFAy4 9SHexK5RIeW8xDbLwDl/7+79nfsy8/Svu3Uma99eqEnRFZlhvPOQad2Jly9/605duC6qsVt2 96nn9/IfnkpZp/DY82pvOu92jgRne6vfH6RaxX9ECvwJKr7Wvf1Vy7Ebd9j/fH07i5Ppu2rU 8qyDFw+deadyL3fG6wnn2ZSmFzvbTjJy5FNiKc5INNRiLipOBABaddCGLQMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrDLMWRmVeSWpSXmKPExsVy+t9jQV2GF5MiDFa+FrS48auN1aLjSAuj xbct2xgt3u7tZHdg8ZjdcJHF4+ydHYwefVtWMQYwR7nZZKQmpqQWKaTmJeenZOal2yqFhrjp Wigp5CXmptoqRej6hgQpKZQl5pQCeUYGaMDBOcA9WEnfLsEt48n6yILr8hUdN+ayNjCulupi 5OSQEDCReHfhBDOELSZx4d56ti5GLg4hgVmMEp8X9LFCOD8YJXZs3ANWxSagI7H923EmEFtE QELiV/9VRhCbWSBE4suVPnYQW1jATWLevH5WEJtFQFVi9+G3bCA2r4C1RN+vc4wQ2+QlFp4/ wjSBkXsBI8MqRonUguSC4qT0XMO81HK94sTc4tK8dL3k/NxNjOCQeya1g/HgLvdDjAIcjEo8 vBlikyKEWBPLiitzDzFKcDArifCq3wAK8aYkVlalFuXHF5XmpBYfYjQFOmAis5Rocj4wHvJK 4g1NzE3MjQ0szC0tTYyUxHkbZz8LFxJITyxJzU5NLUgtgulj4uCUamAs/ahdIL67KsernO3Y wpNdksoSdS177EKFJ0i97WqJ8p32cS73lgf/PzDblaXUJOxa9OkiwzLZeO8lK30FXn3bf/9F +C+di7378pLE5fd1TdRzDNjw5Off4oZzgtKrzvV/nxtzxVeKuVhvU8OKP2ncHm6TrXqOh/Tz XomJz+re8dLjxoY5k2cosRRnJBpqMRcVJwIAhjltfk8CAAA= X-MTR: 20000000000000000@CPGS X-CMS-MailID: 20170202080416epcas1p2d8692ed2f0e090b5b3527849a7e3baf3 X-Msg-Generator: CA X-Sender-IP: 203.254.230.26 X-Local-Sender: =?UTF-8?B?7KCV7J6s7ZuIG1RpemVuIFBsYXRmb3JtIExhYihTL1fshLw=?= =?UTF-8?B?7YSwKRvsgrzshLHsoITsnpAbUzUo7LGF7J6EKS/ssYXsnoQ=?= X-Global-Sender: =?UTF-8?B?SmFlaG9vbiBDaHVuZxtUaXplbiBQbGF0Zm9ybSBMYWIuG1Nh?= =?UTF-8?B?bXN1bmcgRWxlY3Ryb25pY3MbUzUvU2VuaW9yIEVuZ2luZWVy?= X-Sender-Code: =?UTF-8?B?QzEwG1NUQUYbQzEwVjgxMTE=?= CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-HopCount: 7 X-CMS-RootMailID: 20170202080416epcas1p2d8692ed2f0e090b5b3527849a7e3baf3 X-RootMTR: 20170202080416epcas1p2d8692ed2f0e090b5b3527849a7e3baf3 References: Subject: [U-Boot] [PATCH v2 1/2] power: pmic: add the max8997 controller for DM X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Add the max8997 controller for Driver model. Exynos4210 is using max8997 pmic controller. (pmic_max8997.c should be deprecated.) Signed-off-by: Jaehoon Chung Reviewed-by: Simon Glass --- Changelog on V2: - Add the descirption in more detail - Change from DM_PMIC_MAX8997 to PMIC_MAX8997 - Fixes header file ordering drivers/power/pmic/Kconfig | 15 +++++++++++ drivers/power/pmic/Makefile | 1 + drivers/power/pmic/max8997.c | 61 ++++++++++++++++++++++++++++++++++++++++++++ drivers/power/pmic/max8998.c | 2 +- 4 files changed, 78 insertions(+), 1 deletion(-) create mode 100644 drivers/power/pmic/max8997.c diff --git a/drivers/power/pmic/Kconfig b/drivers/power/pmic/Kconfig index e7cc405..03fea07 100644 --- a/drivers/power/pmic/Kconfig +++ b/drivers/power/pmic/Kconfig @@ -61,6 +61,21 @@ config DM_PMIC_MAX8998 This config enables implementation of driver-model pmic uclass features for PMIC MAX8998. The driver implements read/write operations. +config PMIC_MAX8997 + bool "Enable Driver Model for PMIC MAX8997" + depends on DM_PMIC + ---help--- + This config enables implementation of driver-model pmic uclass features + for PMIC MAX8997. The driver implements read/write operations. + This is a Power Management IC with RTC, Fuel Gauge, MUIC control on Chip. + - 21x LDOs + - 12x GPIOs + - Haptic Motor driver + - RTC with two alarms + - Fueal Gauge and One backup battery charger + - MUIC + - Others + config PMIC_PM8916 bool "Enable Driver Model for Qualcomm PM8916 PMIC" depends on DM_PMIC diff --git a/drivers/power/pmic/Makefile b/drivers/power/pmic/Makefile index 8615939..40240c7 100644 --- a/drivers/power/pmic/Makefile +++ b/drivers/power/pmic/Makefile @@ -12,6 +12,7 @@ obj-$(CONFIG_DM_PMIC_PFUZE100) += pfuze100.o obj-$(CONFIG_PMIC_S2MPS11) += s2mps11.o obj-$(CONFIG_DM_PMIC_SANDBOX) += sandbox.o i2c_pmic_emul.o obj-$(CONFIG_PMIC_ACT8846) += act8846.o +obj-$(CONFIG_PMIC_MAX8997) += max8997.o obj-$(CONFIG_PMIC_PM8916) += pm8916.o obj-$(CONFIG_PMIC_RK808) += rk808.o obj-$(CONFIG_PMIC_RN5T567) += rn5t567.o diff --git a/drivers/power/pmic/max8997.c b/drivers/power/pmic/max8997.c new file mode 100644 index 0000000..f749d7d --- /dev/null +++ b/drivers/power/pmic/max8997.c @@ -0,0 +1,61 @@ +/* + * Copyright (C) 2016 Samsung Electronics + * Jaehoon Chung + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include +#include +#include +#include +#include +#include + +DECLARE_GLOBAL_DATA_PTR; + +static int max8997_reg_count(struct udevice *dev) +{ + return PMIC_NUM_OF_REGS; +} + +static int max8997_write(struct udevice *dev, uint reg, const uint8_t *buff, + int len) +{ + int ret; + + ret = dm_i2c_write(dev, reg, buff, len); + if (ret) + error("write error to device: %p register: %#x!", dev, reg); + + return ret; +} + +static int max8997_read(struct udevice *dev, uint reg, uint8_t *buff, int len) +{ + int ret; + + ret = dm_i2c_read(dev, reg, buff, len); + if (ret) + error("read error from device: %p register: %#x!", dev, reg); + + return ret; +} + +static struct dm_pmic_ops max8997_ops = { + .reg_count = max8997_reg_count, + .read = max8997_read, + .write = max8997_write, +}; + +static const struct udevice_id max8997_ids[] = { + { .compatible = "maxim,max8997" }, + { }, +}; + +U_BOOT_DRIVER(pmic_max8997) = { + .name = "max8997_pmic", + .id = UCLASS_PMIC, + .of_match = max8997_ids, + .ops = &max8997_ops, +}; diff --git a/drivers/power/pmic/max8998.c b/drivers/power/pmic/max8998.c index 3baa8da..7c4773c 100644 --- a/drivers/power/pmic/max8998.c +++ b/drivers/power/pmic/max8998.c @@ -7,10 +7,10 @@ #include #include +#include #include #include #include -#include DECLARE_GLOBAL_DATA_PTR;