From patchwork Wed Dec 5 12:51:00 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Birje X-Patchwork-Id: 203862 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 437502C00BD for ; Wed, 5 Dec 2012 23:47:41 +1100 (EST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BE4B34A0C7; Wed, 5 Dec 2012 13:47:39 +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 ZCN8xjYrKJuw; Wed, 5 Dec 2012 13:47:39 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 7C27D4A0FD; Wed, 5 Dec 2012 13:47:37 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 6D2D04A0FD for ; Wed, 5 Dec 2012 13:47:35 +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 ximVUqgDzmnD for ; Wed, 5 Dec 2012 13:47:34 +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 mailout3.samsung.com (mailout3.samsung.com [203.254.224.33]) by theia.denx.de (Postfix) with ESMTP id 5A9124A0F6 for ; Wed, 5 Dec 2012 13:47:34 +0100 (CET) Received: from epcpsbgm1.samsung.com (epcpsbgm1 [203.254.230.26]) by mailout3.samsung.com (Oracle Communications Messaging Server 7u4-24.01(7.0.4.24.0) 64bit (built Nov 17 2011)) with ESMTP id <0MEK00KKZ675V5Z0@mailout3.samsung.com> for u-boot@lists.denx.de; Wed, 05 Dec 2012 21:47:32 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.125]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id C2.52.01231.4624FB05; Wed, 05 Dec 2012 21:47:32 +0900 (KST) X-AuditID: cbfee61a-b7fa66d0000004cf-d0-50bf4264aa82 Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 62.52.01231.4624FB05; Wed, 05 Dec 2012 21:47:32 +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 <0MEK00CKF6300130@mmp1.samsung.com> for u-boot@lists.denx.de; Wed, 05 Dec 2012 21:47:32 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Date: Wed, 05 Dec 2012 18:21:00 +0530 Message-id: <1354711860-10575-4-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1354711860-10575-1-git-send-email-rajeshwari.s@samsung.com> References: <1354711860-10575-1-git-send-email-rajeshwari.s@samsung.com> DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrDLMWRmVeSWpSXmKPExsWyRsSkVjfFaX+Awa0fxhZv93ayOzB6nL2z gzGAMYrLJiU1J7MstUjfLoEr40nfGraCBt6KO4++szYwnuDqYuTkkBAwkbj/dj47hC0mceHe erYuRi4OIYGljBJvJ15khSk6dGIVE0RiEaPEo21dUM4qJolr006DtbMJGElsPTmNEcQWEZCQ +NV/FcxmFoiReL3/B9BYDg5hAXOJnfs4QcIsAqoSN7/PZAOxeQU8JB7unM4MsUxB4tjUr2CL OQU8Jb79fAU2Rgio5l73DWaIXgGJb5MPsYCMlBCQldh0gBnkHAmB62wSC/5uhPpGUuLgihss ExiFFzAyrGIUTS1ILihOSs811CtOzC0uzUvXS87P3cQIDMLT/55J7WBc2WBxiFGAg1GJhzdL b1+AEGtiWXFl7iFGCQ5mJRHeeTL7A4R4UxIrq1KL8uOLSnNSiw8x+gBdMpFZSjQ5HxgheSXx hsYm5qbGppZGRmampjiElcR5mz1SAoQE0hNLUrNTUwtSi2DGMXFwSjUwHrsv19a2xvNQP1tp /RWbGdZTDBfft+qcEFP53f8UC9/Z3R+2B3/JT+AwEm0++MhAPibt1v2wg8du26ev/mupr7tG Knd/1ZtvV2etFpS9yCg9m4H1kf06ldaE3GDXpbePTNnk0ukktoR7+ncWBacES3HpA5uCImIu mm4tihZbPNX5rf/i41umK7EUZyQaajEXFScCAGGLTidvAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmkeLIzCtJLcpLzFFi42I5/e+xgG6K0/4AgyNH1Sze7u1kd2D0OHtn B2MAY1QDo01GamJKapFCal5yfkpmXrqtkndwvHO8qZmBoa6hpYW5kkJeYm6qrZKLT4CuW2YO 0FglhbLEnFKgUEBicbGSvh2mCaEhbroWMI0Rur4hQXA9RgZoIGENY8aTvjVsBQ28FXcefWdt YDzB1cXIySEhYCJx6MQqJghbTOLCvfVsXYxcHEICixglHm3rYoJwVjFJXJt2mh2kik3ASGLr yWmMILaIgITEr/6rYDazQIzE6/0/gLo5OIQFzCV27uMECbMIqErc/D6TDcTmFfCQeLhzOjPE MgWJY1O/soLYnAKeEt9+vgIbIwRUc6/7BvMERt4FjAyrGEVTC5ILipPScw31ihNzi0vz0vWS 83M3MYJD/JnUDsaVDRaHGAU4GJV4eLP09gUIsSaWFVfmHmKU4GBWEuGdJ7M/QIg3JbGyKrUo P76oNCe1+BCjD9BVE5mlRJPzgfGXVxJvaGxibmpsamliYWJmiUNYSZy32SMlQEggPbEkNTs1 tSC1CGYcEwenVAPj1P1xYhc1u6+EPWgscLhu12d77HZH7scT7nf7Lx2zqGgNuv7Y7Gn9JI+N KWuytgpZKcTGzxXRdetSc9eJvdtVlyzyySR44cZKq3U/2h5I/1jIb5we+C9XKkC+/HTKjXvq ExpsO7c+qdqutWhJeF5e0LY2h8I/8g/fMh//YDxP5oX14Xh2xWVKLMUZiYZazEXFiQDmqtaQ ngIAAA== X-CFilter-Loop: Reflected Cc: patches@linaro.org Subject: [U-Boot] [PATCH 3/3 V2] 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 Acked-by: Simon Glass --- Changes in V2: - Corrected indentation errors. drivers/misc/pmic_max77686.c | 35 ++++++++++++++++++++++++++++++----- 1 files changed, 30 insertions(+), 5 deletions(-) diff --git a/drivers/misc/pmic_max77686.c b/drivers/misc/pmic_max77686.c index 36f7f4d..a370d35 100644 --- a/drivers/misc/pmic_max77686.c +++ b/drivers/misc/pmic_max77686.c @@ -22,21 +22,46 @@ */ #include +#include +#include #include #include +DECLARE_GLOBAL_DATA_PTR; + int pmic_init(void) { struct pmic *p = get_pmic(); static const char name[] = "MAX77686_PMIC"; - 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); + p->hw.i2c.addr = fdtdec_get_int(blob, node, "reg", 0); +#else + p->bus = I2C_PMIC; + p->hw.i2c.addr = MAX77686_I2C_ADDR; +#endif + p->name = name; + p->hw.i2c.tx_num = 1; 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 = I2C_PMIC; - + puts("Board PMIC init MAX77686\n"); return 0; }