From patchwork Thu Jan 3 13:47:49 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Birje X-Patchwork-Id: 209255 X-Patchwork-Delegate: promsoft@gmail.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 14D312C0084 for ; Fri, 4 Jan 2013 00:42:54 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id AEE4E4A0A6; Thu, 3 Jan 2013 14:42:52 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de 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 VYEhU6GFWnUb; Thu, 3 Jan 2013 14:42:52 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 5EEDB4A0BB; Thu, 3 Jan 2013 14:42:51 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 035FC4A0BB for ; Thu, 3 Jan 2013 14:42:50 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at theia.denx.de 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 XGv9dldv7GT9 for ; Thu, 3 Jan 2013 14:42:49 +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 mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) by theia.denx.de (Postfix) with ESMTP id 100484A0A6 for ; Thu, 3 Jan 2013 14:42:48 +0100 (CET) Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout4.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MG100A5NY3BIN10@mailout4.samsung.com> for u-boot@lists.denx.de; Thu, 03 Jan 2013 22:42:47 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.126]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 41.9D.01231.7DA85E05; Thu, 03 Jan 2013 22:42:47 +0900 (KST) X-AuditID: cbfee61a-b7fa66d0000004cf-1e-50e58ad74e1d Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id B0.9D.01231.7DA85E05; Thu, 03 Jan 2013 22:42:47 +0900 (KST) Received: from rajeshwari-linux.sisodomain.com ([107.108.215.115]) by mmp1.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTPA id <0MG1001GEY058Y20@mmp1.samsung.com> for u-boot@lists.denx.de; Thu, 03 Jan 2013 22:42:47 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Date: Thu, 03 Jan 2013 19:17:49 +0530 Message-id: <1357220869-13819-4-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1357220869-13819-1-git-send-email-rajeshwari.s@samsung.com> References: <1357220869-13819-1-git-send-email-rajeshwari.s@samsung.com> DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsWyRsSkTvd619MAgylr1Cze7u1kd2D0OHtn B2MAYxSXTUpqTmZZapG+XQJXxp/9H9gK/vFVXNq1gqmBsY2ni5GDQ0LARGLv1/AuRk4gU0zi wr31bF2MXBxCAksZJY58f8gIkTCRuP/pOytEYhGjxLqru1ggnFVMEg8/9LCAVLEJGElsPTkN rENEQELiV/9VMJtZoETi27duVhBbWMBcon/7UrA4i4CqxPw/W9hBbF4BD4lXy6eyQmxTkDg2 9SuYzSngKXH3/HU2EFsIqKb1eQNUr4DEt8mHWCA+kJXYdIAZ5B4JgTNsEuc/32aGmCMpcXDF DZYJjMILGBlWMYqmFiQXFCel5xrqFSfmFpfmpesl5+duYgQG4el/z6R2MK5ssDjEKMDBqMTD y1j/JECINbGsuDL3EKMEB7OSCO/s/KcBQrwpiZVVqUX58UWlOanFhxh9gC6ZyCwlmpwPjJC8 knhDYxNzU2NTSyMjM1NTHMJK4ryMp4DGC6QnlqRmp6YWpBbBjGPi4JRqYMxhy5b+m1FuW8Oz JfT+8v1bdjySPczQ+2Te5epmuX/PY9Y+v6Rw72eueA3/XolXlYxvV1ewv5zpJuvC5iZ7wGlC Woxp9EGWNpuz1UyqO08ZiSxU6GOsFjudevXf/9QzFa9nfJjxwPrIvkfCqYsX6al0HJuw1CnP aPYCbtunZy8ZvK5aWZRb2K7EUpyRaKjFXFScCAD6Oz0jbwIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphkeLIzCtJLcpLzFFi42I5/e+xgO71rqcBBkufiFq83dvJ7sDocfbO DsYAxqgGRpuM1MSU1CKF1Lzk/JTMvHRbJe/geOd4UzMDQ11DSwtzJYW8xNxUWyUXnwBdt8wc oLFKCmWJOaVAoYDE4mIlfTtME0JD3HQtYBojdH1DguB6jAzQQMIaxow/+z+wFfzjq7i0awVT A2MbTxcjJ4eEgInE/U/fWSFsMYkL99azdTFycQgJLGKUWHd1FwuEs4pJ4uGHHhaQKjYBI4mt J6cxgtgiAhISv/qvgtnMAiUS3751g00SFjCX6N++FCzOIqAqMf/PFnYQm1fAQ+LV8qlQ2xQk jk39CmZzCnhK3D1/nQ3EFgKqaX3ewDiBkXcBI8MqRtHUguSC4qT0XEO94sTc4tK8dL3k/NxN jOAgfya1g3Flg8UhRgEORiUeXsb6JwFCrIllxZW5hxglOJiVRHhn5z8NEOJNSaysSi3Kjy8q zUktPsToA3TVRGYp0eR8YATmlcQbGpuYmxqbWppYmJhZ4hBWEudlPAU0XiA9sSQ1OzW1ILUI ZhwTB6dUA6PC3P9if7f8a5mQIyfKbclu+NtDwva34OW3dU/ZxDa+7mQ3Zy5UZUycHc595vH+ pNOpJeLCSjt0trwx420xm2CeNofrxrOpdru19ux28M/mcPuYUaf9Ozo82kEoM3bx0/zXQd7X shfPPNct8XrSs8kTojPc2d9Ym694fPpzZ7JXTelOnzdf85RYijMSDbWYi4oTAYGHNf2fAgAA X-CFilter-Loop: Reflected Cc: patches@linaro.org Subject: [U-Boot] [PATCH 3/3 V3] PMIC: MAX77686: Add FDT Support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.11 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: u-boot-bounces@lists.denx.de Errors-To: u-boot-bounces@lists.denx.de This patch adds fdt support to MAX77686. Signed-off-by: Rajeshwari Shinde --- Changes in V2: - Corrected indentation errors. Changes in V3: - Rebased on top of the latest implementation of PMIC drivers/power/pmic/pmic_max77686.c | 37 +++++++++++++++++++++++++++++++++-- 1 files changed, 34 insertions(+), 3 deletions(-) diff --git a/drivers/power/pmic/pmic_max77686.c b/drivers/power/pmic/pmic_max77686.c index fce0183..a1ee04e 100644 --- a/drivers/power/pmic/pmic_max77686.c +++ b/drivers/power/pmic/pmic_max77686.c @@ -22,10 +22,14 @@ */ #include +#include +#include #include #include #include +DECLARE_GLOBAL_DATA_PTR; + int pmic_init(unsigned char bus) { static const char name[] = "MAX77686_PMIC"; @@ -36,13 +40,40 @@ int pmic_init(unsigned char bus) return -ENOMEM; } - puts("Board PMIC init\n"); +#ifdef CONFIG_OF_CONTROL + const void *blob = gd->fdt_blob; + int node, parent; + + node = fdtdec_next_compatible(blob, 0, COMPAT_MAXIM_MAX77686_PMIC); + if (node < 0) { + debug("PMIC: No node for PMIC Chip in device tree\n"); + debug("node = %d\n", node); + return -1; + } + + parent = fdt_parent_offset(blob, node); + if (parent < 0) { + debug("%s: Cannot find node parent\n", __func__); + return -1; + } + + p->bus = i2c_get_bus_num_fdt(parent); + if (p->bus < 0) { + debug("%s: Cannot find I2C bus\n", __func__); + return -1; + } + p->hw.i2c.addr = fdtdec_get_int(blob, node, "reg", 6); +#else + p->bus = bus; + p->hw.i2c.addr = MAX77686_I2C_ADDR; +#endif + p->name = name; p->interface = PMIC_I2C; p->number_of_regs = PMIC_NUM_OF_REGS; - p->hw.i2c.addr = MAX77686_I2C_ADDR; p->hw.i2c.tx_num = 1; - p->bus = bus; + + puts("Board PMIC init\n"); return 0; }