From patchwork Wed Jan 9 07:03:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rajeshwari Shinde X-Patchwork-Id: 13940 Return-Path: X-Original-To: patchwork@peony.canonical.com Delivered-To: patchwork@peony.canonical.com Received: from fiordland.canonical.com (fiordland.canonical.com [91.189.94.145]) by peony.canonical.com (Postfix) with ESMTP id 9079423F7F for ; Wed, 9 Jan 2013 06:56:43 +0000 (UTC) Received: from mail-vb0-f48.google.com (mail-vb0-f48.google.com [209.85.212.48]) by fiordland.canonical.com (Postfix) with ESMTP id 4A4FCA18C76 for ; Wed, 9 Jan 2013 06:56:43 +0000 (UTC) Received: by mail-vb0-f48.google.com with SMTP id fc21so1243665vbb.35 for ; Tue, 08 Jan 2013 22:56:42 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=x-received:x-forwarded-to:x-forwarded-for:delivered-to:x-received :received-spf:x-auditid:from:to:cc:subject:date:message-id:x-mailer :in-reply-to:references:dlp-filter:x-mtr:x-brightmail-tracker :x-brightmail-tracker:x-cfilter-loop:x-gm-message-state; bh=CEBzDVuTmq6QD4/csZ+5uElXZRftTdIC1icHcSbuvu0=; b=hMdnocBe/FJnmyh19krjQ7Hhi3Eax4Ab9Nwc+pGg8DwNKhzAURBEzyG/Ql6qol7MWX 0pufePwIsmRxd4OANvR2+1XV5gnIhuUvqXR28zoDnPkrb2+qKMOtuMwerczC5MoSmCQe Jo6LiOHV7NJS/IyzvBvacU279IXRxA61VYTFftTZm4ePaH8uhqqRglX6ISWzngApttaX NADcF6ysPYMV23svkF19v1cAGx4zNa141S5EErwhfDcPwtRSKgRoxNdisOBYuTDlXpkn feCYIdRSEJ5CmgtuZeKLnJCMnR4hYQ5mN2p+8TerA1x4nWCcmO9NdSvFsrhd4CGiMS0r 0o1g== X-Received: by 10.52.176.6 with SMTP id ce6mr77205577vdc.57.1357714602806; Tue, 08 Jan 2013 22:56:42 -0800 (PST) X-Forwarded-To: linaro-patchwork@canonical.com X-Forwarded-For: patch@linaro.org linaro-patchwork@canonical.com Delivered-To: patches@linaro.org Received: by 10.58.145.101 with SMTP id st5csp465veb; Tue, 8 Jan 2013 22:56:42 -0800 (PST) X-Received: by 10.68.132.98 with SMTP id ot2mr206171924pbb.39.1357714601713; Tue, 08 Jan 2013 22:56:41 -0800 (PST) Received: from mailout4.samsung.com (mailout4.samsung.com. [203.254.224.34]) by mx.google.com with ESMTP id r2si65522140paz.206.2013.01.08.22.56.40; Tue, 08 Jan 2013 22:56:41 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of rajeshwari.s@samsung.com designates 203.254.224.34 as permitted sender) client-ip=203.254.224.34; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of rajeshwari.s@samsung.com designates 203.254.224.34 as permitted sender) smtp.mail=rajeshwari.s@samsung.com 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 <0MGC00FH6J9FBLS0@mailout4.samsung.com>; Wed, 09 Jan 2013 15:56:40 +0900 (KST) Received: from epcpsbgm1.samsung.com ( [172.20.52.123]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id E7.2E.01231.8A41DE05; Wed, 09 Jan 2013 15:56:40 +0900 (KST) X-AuditID: cbfee61a-b7fa66d0000004cf-2e-50ed14a8a30a Received: from epmmp1.local.host ( [203.254.227.16]) by epcpsbgm1.samsung.com (EPCPMTA) with SMTP id 27.2E.01231.7A41DE05; Wed, 09 Jan 2013 15:56:40 +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 <0MGC00L0DJA2MOB0@mmp1.samsung.com>; Wed, 09 Jan 2013 15:56:39 +0900 (KST) From: Rajeshwari Shinde To: u-boot@lists.denx.de Cc: patches@linaro.org, sjg@chromium.org, mk7.kang@samsung.com, chander.kashyap@linaro.org, l.majewski@samsung.com Subject: [PATCH 3/3 V5] PMIC: MAX77686: Add FDT Support Date: Wed, 09 Jan 2013 12:33:40 +0530 Message-id: <1357715020-16297-4-git-send-email-rajeshwari.s@samsung.com> X-Mailer: git-send-email 1.7.4.4 In-reply-to: <1357715020-16297-1-git-send-email-rajeshwari.s@samsung.com> References: <1357715020-16297-1-git-send-email-rajeshwari.s@samsung.com> DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrELMWRmVeSWpSXmKPExsWyRsSkWneFyNsAgz3neC0err/JYjHl8BcW ByaPO9f2sAUwRnHZpKTmZJalFunbJXBlLDjfy1rwkL/i0YrZrA2MB3m6GDk5JARMJJ68O8EK YYtJXLi3nq2LkYtDSGApo8S3Cb2MMEWbe/YyQyQWMUq8PbuZEcKZyCSxedlGFpAqNgEjia0n p4F1iAhISPzqvwpmMwuUSHz71g22QljAXGLlzOVg9SwCqhIn590Fq+EV8JBYduMM1BkKEsem fgWzOQU8Jfbe+sgOYgsB1Wyee4odoldA4tvkQ0BzOIDqZSU2HQA7TkLgNpvEvUkQ90gISEoc XHGDZQKj8AJGhlWMoqkFyQXFSem5hnrFibnFpXnpesn5uZsYgQF5+t8zqR2MKxssDjEKcDAq 8fBaznwTIMSaWFZcmXuIUYKDWUmE9643UIg3JbGyKrUoP76oNCe1+BCjD9AlE5mlRJPzgdGS VxJvaGxibmpsamlkZGZqikNYSZyX8dSTACGB9MSS1OzU1ILUIphxTBycUg2MrDI1ZetuOjPW T5y1Xn6JS5OmfJ3+y47wtvuBU79ELUgzu7qBf92teUemv77jtOAh1/GHDY+uqexYrCPcvfLi 39U8B7csnqZquuHM1Fkv/0z1ZC1h+/jNSsPyuq3lt0u3TwoY3TnzzLDxLdeCbSyrz/zJa1x3 c2tF4cbzL1QN12+UjChV4HpolKvEUpyRaKjFXFScCAD6yLQ5dQIAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprIIsWRmVeSWpSXmKPExsVy+t9jAd0VIm8DDL6vY7Z4uP4mi8WUw19Y HJg87lzbwxbAGNXAaJORmpiSWqSQmpecn5KZl26r5B0c7xxvamZgqGtoaWGupJCXmJtqq+Ti E6DrlpkDNFtJoSwxpxQoFJBYXKykb4dpQmiIm64FTGOErm9IEFyPkQEaSFjDmLHgfC9rwUP+ ikcrZrM2MB7k6WLk5JAQMJHY3LOXGcIWk7hwbz1bFyMXh5DAIkaJt2c3M0I4E5kkNi/byAJS xSZgJLH15DRGEFtEQELiV/9VMJtZoETi27duVhBbWMBcYuXM5WD1LAKqEifn3QWr4RXwkFh2 4wwrxDYFiWNTv4LZnAKeEntvfWQHsYWAajbPPcU+gZF3ASPDKkbR1ILkguKk9FxDveLE3OLS vHS95PzcTYzgcH8mtYNxZYPFIUYBDkYlHl7LmW8ChFgTy4orcw8xSnAwK4nw3vUGCvGmJFZW pRblxxeV5qQWH2L0AbpqIrOUaHI+MBbzSuINjU3MTY1NLU0sTMwscQgrifMynnoSICSQnliS mp2aWpBaBDOOiYNTqoFR4pfB19JIT77dZoX/HLkczt9K7j7Ree+Ezp8DjemRbVJ8pr7MIUWN +3dOTv+slp++epk6l2BQ/bHGPuPHb3u3vWbi/b00hmeFi8i5slqrjIVLndXSupbF3ylyuBuc q3Iz8Pz60rjFt7I+2FxYu1f23xz+Z+wNLS03Zpxvy3r690dpsI2pW58SS3FGoqEWc1FxIgDo DjaCpAIAAA== X-CFilter-Loop: Reflected X-Gm-Message-State: ALoCoQlzwX5Ysxw5wYsW2GFzlWFE6R8U8NzuxQrKCfdDr0rBKSPGrP0XXpNdbE4YSsRSng9BduQc 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 Changes in V4: - Corrected PMIC register address Changes in V5: - None. 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..7fcb4c0 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", 9); +#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; }