From patchwork Mon Apr 22 19:13:44 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088836 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qSib0CWJ"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxGW0QBxz9sMQ for ; Tue, 23 Apr 2019 05:19:31 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728349AbfDVTSy (ORCPT ); Mon, 22 Apr 2019 15:18:54 -0400 Received: from mail-lj1-f194.google.com ([209.85.208.194]:39341 "EHLO mail-lj1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728142AbfDVTSx (ORCPT ); Mon, 22 Apr 2019 15:18:53 -0400 Received: by mail-lj1-f194.google.com with SMTP id l7so11247536ljg.6; Mon, 22 Apr 2019 12:18:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Wxo1mTlnG7HCW7qNviKHVt088dVN4BbKUg558KqhhM4=; b=qSib0CWJSpsucT03obYyVS270O48CfqZuuwM3auib5qwOLmFAYw6jhmztQnIYeFTzV VNZpyRbp1SRdJpB32DUPyrBXzx83jQo3v+v5K9Y+JP/cJIJzXT2sUue81N3KOCB2W2rg PH6AfwwPdb7FIFoOKbM16oTPUiB4Wb9dlGnnA7aO7kqkKNggl7qx9uVoIEcvy0ctrZRt KjJYF+lzxOCORwmL6rTP37IFbv5rJ9MVX3lStb4AM8vTagK5zPIJMIltcR+06E44n3Za emYMG4VQ1PxCnDhY6jATyrdrLgYjGicdf+rZko7bQXqPd2O/EfZjhjB5/ttHQgh4zu/c 2guw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Wxo1mTlnG7HCW7qNviKHVt088dVN4BbKUg558KqhhM4=; b=bIFxQBza3TlA3M6/iTiACWzwaL76fss0urh5RONx2pBze3CfmLyZ2E0mzT9zsWOfrx arI81izFNe1Tb/ScOjOUv/4fsoPVnVA16/VibVbX9WAVJumnCXzHgoN4MloRz99euMXs qd87foQOPwmZjge08WOLrJBON6ezuMwD82B3iD3lXYTSWWUHz7fLLbXrzF3Wl8eoKweR nc0hTECN7AdhCnbTogNO1h/o79//qj9QQfv+FArTZaCQdM9//n46ca/uWrIwxc9Ne36H XpBX7RmaX7Th0ANWZz/Zbrn0G720lq4mWaJ3rcyp98te2SxRVjHVAoJ1Yt8QKuSCrVKw /vyg== X-Gm-Message-State: APjAAAVKCeMapDFIVkfE6AHYN1TFjbjxa5X970+TEu1YQGb26YZIwaFe Wzbu/9FI5ba5oX7jmkedVQk= X-Google-Smtp-Source: APXvYqwuuxi+b+rdRdYTbqRT8tyoBWv4t+DX8AcSlOweICorMx+ArN/Y84DTCP7c4x21uRzJmJqyiw== X-Received: by 2002:a2e:3204:: with SMTP id y4mr11087630ljy.90.1555960731097; Mon, 22 Apr 2019 12:18:51 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:50 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/7] mfd: max77620: Fix swapped FPS_PERIOD_MAX_US values Date: Mon, 22 Apr 2019 22:13:44 +0300 Message-Id: <20190422191350.27527-2-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org The FPS_PERIOD_MAX_US definitions are swapped for MAX20024 and MAX77620, fix it. Cc: stable Signed-off-by: Dmitry Osipenko --- include/linux/mfd/max77620.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/linux/mfd/max77620.h b/include/linux/mfd/max77620.h index ad2a9a852aea..b4fd5a7c2aaa 100644 --- a/include/linux/mfd/max77620.h +++ b/include/linux/mfd/max77620.h @@ -136,8 +136,8 @@ #define MAX77620_FPS_PERIOD_MIN_US 40 #define MAX20024_FPS_PERIOD_MIN_US 20 -#define MAX77620_FPS_PERIOD_MAX_US 2560 -#define MAX20024_FPS_PERIOD_MAX_US 5120 +#define MAX20024_FPS_PERIOD_MAX_US 2560 +#define MAX77620_FPS_PERIOD_MAX_US 5120 #define MAX77620_REG_FPS_GPIO1 0x54 #define MAX77620_REG_FPS_GPIO2 0x55 From patchwork Mon Apr 22 19:13:45 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088838 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="XNJTS7q+"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxGc54hZz9sMQ for ; Tue, 23 Apr 2019 05:19:36 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728372AbfDVTT3 (ORCPT ); Mon, 22 Apr 2019 15:19:29 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:45679 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726407AbfDVTSz (ORCPT ); Mon, 22 Apr 2019 15:18:55 -0400 Received: by mail-lj1-f195.google.com with SMTP id y6so11209483ljd.12; Mon, 22 Apr 2019 12:18:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Qb30F3csxPMWkF7SUL4LY++a+c/C+BjbyqzAzgW0ngI=; b=XNJTS7q+zEKtZBHSThIN3wotp+rEasrOU4+2l0gfHYbvdna1+sIOPttu9BN7wzJFc7 XgAo4aT1ZzFjrxwg4ZNer3gsaNcgLWn4xYBtVhG+PzGdaNljPzK/13T2QXLDOJnt7CgE XQy8imHH5/8bt9gifRoY+lhBwS0OVEwwssmMD9MofMkceMyPzRj1iXY2TTQOQXuYtaqx 04ByBvyi44OAsYBLn5tCsLaKQswggmJWY+lXJJ7jQjOUz+JlclWAjfW1ojl3iBD581PX K/bIaQsVNmWF/PZIJZWBzZ37Rhi351scR68aRLpFMrWCkTP3/2d+ZOcSO+C6VfRRZV8+ CN/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Qb30F3csxPMWkF7SUL4LY++a+c/C+BjbyqzAzgW0ngI=; b=QFdZ5EqcClmNCXUbyhn8MatVo00mrQu1N8xfynhfgTRxuhiPp/SHzhSoc781b4EWvX S68ybJe9d4i1P/V14Tz1g7qY5768+FhGkAYYsHssVJhx1HoNsaF3hjXlLTFzPL2I/VGI rbt7AA6oNQ1K7KZGZepsw1MLJf1Pc5ITLdO07pcooa0s9W3SimrInapbvg14GBQQ+6uM /A1b991kZivW14Dy8DCcUfQaMuRgwr7YS1mN1y+f5VX/NfEI3pNDx4dMokAWBMtBH114 O7O6oQ8nb8jj/fvM5f7dYnebKGuJrQRSnJZx0VkXzRP1KIndG098TQioatBavYHif0Ue pX2g== X-Gm-Message-State: APjAAAU+Sdkwktx49BmjsrKkmO3jBZ2Y0djQyfEX3IEu8c1T3Tvol27b E1ycZ+93rVMf/sQJz1C+FkA= X-Google-Smtp-Source: APXvYqyBN5s3KfbZN82OIIjtS6zhzM8jeviNGMjyWEAFmFjtKVDf+Mf7h7x8yIiqln53dBwU2zd1AQ== X-Received: by 2002:a2e:9155:: with SMTP id q21mr762904ljg.178.1555960732290; Mon, 22 Apr 2019 12:18:52 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:51 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/7] mfd: max77620: Support Maxim 77663 Date: Mon, 22 Apr 2019 22:13:45 +0300 Message-Id: <20190422191350.27527-3-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Add support for Maxim 77663 using the Max77620 driver. The hardware is very similar to Max77663/20024, although there are couple minor differences. Signed-off-by: Dmitry Osipenko --- drivers/mfd/max77620.c | 69 +++++++++++++++++++++++++++++++++++- include/linux/mfd/max77620.h | 1 + 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/drivers/mfd/max77620.c b/drivers/mfd/max77620.c index d8ddd1a6f304..9b0009c29610 100644 --- a/drivers/mfd/max77620.c +++ b/drivers/mfd/max77620.c @@ -111,6 +111,26 @@ static const struct mfd_cell max20024_children[] = { }, }; +static const struct mfd_cell max77663_children[] = { + { .name = "max77620-pinctrl", }, + { .name = "max77620-clock", }, + { .name = "max77663-pmic", }, + { .name = "max77620-watchdog", }, + { + .name = "max77620-gpio", + .resources = gpio_resources, + .num_resources = ARRAY_SIZE(gpio_resources), + }, { + .name = "max77620-rtc", + .resources = rtc_resources, + .num_resources = ARRAY_SIZE(rtc_resources), + }, { + .name = "max77663-power", + .resources = power_resources, + .num_resources = ARRAY_SIZE(power_resources), + }, +}; + static const struct regmap_range max77620_readable_ranges[] = { regmap_reg_range(MAX77620_REG_CNFGGLBL1, MAX77620_REG_DVSSD4), }; @@ -171,6 +191,35 @@ static const struct regmap_config max20024_regmap_config = { .volatile_table = &max77620_volatile_table, }; +static const struct regmap_range max77663_readable_ranges[] = { + regmap_reg_range(MAX77620_REG_CNFGGLBL1, MAX77620_REG_CID5), +}; + +static const struct regmap_access_table max77663_readable_table = { + .yes_ranges = max77663_readable_ranges, + .n_yes_ranges = ARRAY_SIZE(max77663_readable_ranges), +}; + +static const struct regmap_range max77663_writable_ranges[] = { + regmap_reg_range(MAX77620_REG_CNFGGLBL1, MAX77620_REG_CID5), +}; + +static const struct regmap_access_table max77663_writable_table = { + .yes_ranges = max77663_writable_ranges, + .n_yes_ranges = ARRAY_SIZE(max77663_writable_ranges), +}; + +static const struct regmap_config max77663_regmap_config = { + .name = "power-slave", + .reg_bits = 8, + .val_bits = 8, + .max_register = MAX77620_REG_CID5 + 1, + .cache_type = REGCACHE_RBTREE, + .rd_table = &max77663_readable_table, + .wr_table = &max77663_writable_table, + .volatile_table = &max77620_volatile_table, +}; + /* * MAX77620 and MAX20024 has the following steps of the interrupt handling * for TOP interrupts: @@ -237,6 +286,9 @@ static int max77620_get_fps_period_reg_value(struct max77620_chip *chip, case MAX20024: fps_min_period = MAX20024_FPS_PERIOD_MIN_US; break; + case MAX77663: + fps_min_period = MAX20024_FPS_PERIOD_MIN_US; + break; case MAX77620: fps_min_period = MAX77620_FPS_PERIOD_MIN_US; break; @@ -274,6 +326,9 @@ static int max77620_config_fps(struct max77620_chip *chip, case MAX77620: fps_max_period = MAX77620_FPS_PERIOD_MAX_US; break; + case MAX77663: + fps_max_period = MAX20024_FPS_PERIOD_MAX_US; + break; default: return -EINVAL; } @@ -375,6 +430,9 @@ static int max77620_initialise_fps(struct max77620_chip *chip) } skip_fps: + if (chip->chip_id == MAX77663) + return 0; + /* Enable wake on EN0 pin */ ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2, MAX77620_ONOFFCNFG2_WK_EN0, @@ -453,6 +511,11 @@ static int max77620_probe(struct i2c_client *client, n_mfd_cells = ARRAY_SIZE(max20024_children); rmap_config = &max20024_regmap_config; break; + case MAX77663: + mfd_cells = max77663_children; + n_mfd_cells = ARRAY_SIZE(max77663_children); + rmap_config = &max77663_regmap_config; + break; default: dev_err(chip->dev, "ChipID is invalid %d\n", chip->chip_id); return -EINVAL; @@ -546,6 +609,9 @@ static int max77620_i2c_suspend(struct device *dev) return ret; } + if (chip->chip_id == MAX77663) + goto out; + /* Disable WK_EN0 */ ret = regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG2, MAX77620_ONOFFCNFG2_WK_EN0, 0); @@ -581,7 +647,7 @@ static int max77620_i2c_resume(struct device *dev) * For MAX20024: No need to configure WKEN0 on resume as * it is configured on Init. */ - if (chip->chip_id == MAX20024) + if (chip->chip_id == MAX20024 || chip->chip_id == MAX77663) goto out; /* Enable WK_EN0 */ @@ -603,6 +669,7 @@ static int max77620_i2c_resume(struct device *dev) static const struct i2c_device_id max77620_id[] = { {"max77620", MAX77620}, {"max20024", MAX20024}, + {"max77663", MAX77663}, {}, }; diff --git a/include/linux/mfd/max77620.h b/include/linux/mfd/max77620.h index b4fd5a7c2aaa..82407fe85ca2 100644 --- a/include/linux/mfd/max77620.h +++ b/include/linux/mfd/max77620.h @@ -324,6 +324,7 @@ enum max77620_fps_src { enum max77620_chip_id { MAX77620, MAX20024, + MAX77663, }; struct max77620_chip { From patchwork Mon Apr 22 19:13:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088834 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="bWVqkBu6"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxGM5GWdz9sMQ for ; Tue, 23 Apr 2019 05:19:23 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728416AbfDVTS5 (ORCPT ); Mon, 22 Apr 2019 15:18:57 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:33840 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728347AbfDVTSz (ORCPT ); Mon, 22 Apr 2019 15:18:55 -0400 Received: by mail-lj1-f195.google.com with SMTP id y16so424475ljg.1; Mon, 22 Apr 2019 12:18:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pwolm0wYaQsW4TCiJ23NvsAidX1qtREXRI4t9bNq3t4=; b=bWVqkBu6YSAqKMw1of8TyjUtzasEHfBseGsGXNm1xu/k4ma3+PTtwdBggb2fzlG5du IfMYU+BejDVI7FDLe5BstGDF+Dmx8iAjescFl4Sbicfr2JhDZtIRQC4yHdQCmG8Wt/BO 2tBYy0EOup9t0d87bvD4vK2BB6y5aEzwVZ/XDM6t9gbzmGJKuoRc9pDPlLcj0+6PrGyz 0ilZtThMGohBHl96vKdE5GHL3UbwQqTRmX84cAlsvVM67JAnPgCTUi2pyKInxQ/KH/jc r7RyTbwmdlhSfgVyyG/PF66Zj1xhhSFxSonuLcqSItrTqigQ3yVUpmQsSXThuz4oA8aW 75Zg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pwolm0wYaQsW4TCiJ23NvsAidX1qtREXRI4t9bNq3t4=; b=RsvQ+mXO9RFf3h30envgmkbkajxwR3nrYxdqGOppOUnYttwe8J1+B2ueR3RKVFgY2q CRZuvJkymWUkAoS9ZFwKR68tKcT01A3ybH/wSfwv2wYojaqpz90qNP0wr0Vxex/OfRu7 F79BYkW8pCNdMjmY5J25B1A2WCzxrd1gR/+EjBMXJuZRlDKW0vb4QGPiSwmJd1cb7VhY xvHOcEcAA3XVqEbVqkRm5/WEnfetshnG6F4NTJjOZcgCOP34kFtIq5NSG8sXY1AirHLr UHb+NfKxtvsIfn4tr6QYxacUL0mk8zHUMSitbR+7MRlU+OJn1lrb1y7IRDV6oJ+tJ8As f/rw== X-Gm-Message-State: APjAAAXroi/5J+48x7xOVLfc+hnvrB1ZDAIKVJBu5q7t71hs63i7I8FG Rytb5Kc1NHoy6uSMDJbEp8E= X-Google-Smtp-Source: APXvYqzVnuNI6gGglqV5Sm9CJDU2Piho1gYLVlvsta7jxoKBHoyye099OYhDf23xdASpH9tFBOdZVw== X-Received: by 2002:a2e:89da:: with SMTP id c26mr11015418ljk.186.1555960733441; Mon, 22 Apr 2019 12:18:53 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.52 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:52 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 3/7] regulator: max77620: Support Maxim 77663 Date: Mon, 22 Apr 2019 22:13:46 +0300 Message-Id: <20190422191350.27527-4-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Add support for Maxim 77663. Signed-off-by: Dmitry Osipenko --- drivers/regulator/max77620-regulator.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/regulator/max77620-regulator.c b/drivers/regulator/max77620-regulator.c index 1607ac673e44..7d6b53828056 100644 --- a/drivers/regulator/max77620-regulator.c +++ b/drivers/regulator/max77620-regulator.c @@ -761,6 +761,24 @@ static struct max77620_regulator_info max20024_regs_info[MAX77620_NUM_REGS] = { RAIL_LDO(LDO8, ldo8, "in-ldo7-8", N, 800000, 3950000, 50000), }; +static struct max77620_regulator_info max77663_regs_info[MAX77620_NUM_REGS] = { + RAIL_SD(SD0, sd0, "in-sd0", SD0, 600000, 3387500, 12500, 0xFF, NONE), + RAIL_SD(SD1, sd1, "in-sd1", SD1, 800000, 1587500, 12500, 0xFF, NONE), + RAIL_SD(SD2, sd2, "in-sd2", SDX, 600000, 3787500, 12500, 0xFF, NONE), + RAIL_SD(SD3, sd3, "in-sd3", SDX, 600000, 3787500, 12500, 0xFF, NONE), + RAIL_SD(SD4, sd4, "in-sd4", SDX, 600000, 3787500, 12500, 0xFF, NONE), + + RAIL_LDO(LDO0, ldo0, "in-ldo0-1", N, 800000, 2375000, 25000), + RAIL_LDO(LDO1, ldo1, "in-ldo0-1", N, 800000, 2375000, 25000), + RAIL_LDO(LDO2, ldo2, "in-ldo2", P, 800000, 3950000, 50000), + RAIL_LDO(LDO3, ldo3, "in-ldo3-5", P, 800000, 3950000, 50000), + RAIL_LDO(LDO4, ldo4, "in-ldo4-6", P, 800000, 1587500, 12500), + RAIL_LDO(LDO5, ldo5, "in-ldo3-5", P, 800000, 3950000, 50000), + RAIL_LDO(LDO6, ldo6, "in-ldo4-6", P, 800000, 3950000, 50000), + RAIL_LDO(LDO7, ldo7, "in-ldo7-8", N, 800000, 3950000, 50000), + RAIL_LDO(LDO8, ldo8, "in-ldo7-8", N, 800000, 3950000, 50000), +}; + static int max77620_regulator_probe(struct platform_device *pdev) { struct max77620_chip *max77620_chip = dev_get_drvdata(pdev->dev.parent); @@ -785,9 +803,14 @@ static int max77620_regulator_probe(struct platform_device *pdev) case MAX77620: rinfo = max77620_regs_info; break; - default: + case MAX20024: rinfo = max20024_regs_info; break; + case MAX77663: + rinfo = max77663_regs_info; + break; + default: + return -EINVAL; } config.regmap = pmic->rmap; @@ -881,6 +904,7 @@ static const struct dev_pm_ops max77620_regulator_pm_ops = { static const struct platform_device_id max77620_regulator_devtype[] = { { .name = "max77620-pmic", }, { .name = "max20024-pmic", }, + { .name = "max77663-pmic", }, {}, }; MODULE_DEVICE_TABLE(platform, max77620_regulator_devtype); From patchwork Mon Apr 22 19:13:47 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088837 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="rYHb2K8i"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxGW5TTmz9sNF for ; Tue, 23 Apr 2019 05:19:31 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726305AbfDVTTX (ORCPT ); Mon, 22 Apr 2019 15:19:23 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:46596 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728372AbfDVTS5 (ORCPT ); Mon, 22 Apr 2019 15:18:57 -0400 Received: by mail-lj1-f196.google.com with SMTP id h21so11214303ljk.13; Mon, 22 Apr 2019 12:18:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=LgD/uImHb6NwkHJPZVMHXtBTkKsMvl+ZXd/c4dnETFU=; b=rYHb2K8iEd3lQ8zKFttTGCOneJAWHT1WTwhyx3WIVJ0BhbjWweozRbUACYEMyLFfQp aDgfeJ1t2wpo7kXOYrjVerNLZogItOuKG+ycotMBfQbUgltONAXnw4kOMrk1BmK9RXIL K1Jv+XnFMO27alqXVhw2eY5gh7jLUHh+3TgHYN4K+potbIFcZHvfnuy03u/Bmr3DDSEx tzEs3ErOmYwD+rzcOmcsb1/tlWwQtD3ZmU/NBri8Rc7oF6D6hipsRj0Z2qCcUTH2pfk1 hsdjjPl1bydPYobWUvfZ38Dj3OQMmgK6Ex6ZMBjad5a12IT0rXkDou2CdNjtAOZmwwIZ zACg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=LgD/uImHb6NwkHJPZVMHXtBTkKsMvl+ZXd/c4dnETFU=; b=FT/iO+LGggm3JEH5DvkAY9m8bQDOhQgQ/dGMK0d9DrBmvNTIT0j2yunWoFTmWI6XFy qjqiakuCtKXuGGlEOKPvcbRxumvghvF3sxpubhhujwznbIFQrISzp8w488qkGHze5aqQ ImR9Couupa1Hm30r6SCnNQEuoj0LHo0eF96HMWuAhVaSVteDgwZGFYlz53f+DaC1+fM1 F5OPhjw02kKh3HGhXbxl0awHJ1MvRyIxGigdkcAdAKc0K1QnEPLcre62hjO7To0INtcY n3XVk4D/N+B1YGcDgtUlTmCZMQdONSKk84MQ1G3ex+DrRT9Bxk1H/NBgWlrVY+lF9QUh NTwA== X-Gm-Message-State: APjAAAUK0no5VEnHoudMKcVw0pRlElHh/OlM03nHlNj0K7hxkvh0pd8S jbuea3nK9eP1EGYDqtq6/tY= X-Google-Smtp-Source: APXvYqyQ4QQ0lnVzARVPt9wAqT6Do5arnX1LrulaM/w8jdqKLUnJAKKYRRGGFDy7tQ3MWXW+GWpmlQ== X-Received: by 2002:a2e:8582:: with SMTP id b2mr10938851lji.24.1555960734653; Mon, 22 Apr 2019 12:18:54 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.53 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:54 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 4/7] dt-bindings: mfd: max77620: Add compatible for Maxim 77663 Date: Mon, 22 Apr 2019 22:13:47 +0300 Message-Id: <20190422191350.27527-5-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Maxim 77663 has a few minor differences in regards to hardware interface and available capabilities by comparing it with 77620 and 20024 models, hence re-use 77620 device-tree binding for the 77663. Signed-off-by: Dmitry Osipenko --- Documentation/devicetree/bindings/mfd/max77620.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Documentation/devicetree/bindings/mfd/max77620.txt b/Documentation/devicetree/bindings/mfd/max77620.txt index 9c16d51cc15b..9058499051e0 100644 --- a/Documentation/devicetree/bindings/mfd/max77620.txt +++ b/Documentation/devicetree/bindings/mfd/max77620.txt @@ -4,7 +4,8 @@ Required properties: ------------------- - compatible: Must be one of "maxim,max77620" - "maxim,max20024". + "maxim,max20024" + "maxim,max77663". - reg: I2C device address. Optional properties: @@ -105,6 +106,7 @@ Optional properties: Here supported time periods by device in microseconds are as follows: MAX77620 supports 40, 80, 160, 320, 640, 1280, 2560 and 5120 microseconds. MAX20024 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. +MAX77663 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. -maxim,power-ok-control: configure map power ok bit 1: Enables POK(Power OK) to control nRST_IO and GPIO1 From patchwork Mon Apr 22 19:13:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088830 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UEakgE0I"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxG54CKvz9sMQ for ; Tue, 23 Apr 2019 05:19:09 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728525AbfDVTS7 (ORCPT ); Mon, 22 Apr 2019 15:18:59 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:43377 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728404AbfDVTS6 (ORCPT ); Mon, 22 Apr 2019 15:18:58 -0400 Received: by mail-lj1-f195.google.com with SMTP id f18so11216801lja.10; Mon, 22 Apr 2019 12:18:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=/z49LJ/T8Zar3+evR8ZrGril6xWv/cqi+vT7q6ZMxfU=; b=UEakgE0Iby15sztNXCqfq4zDTDMJafLDuEXXT75N9Jzi2sNu859WYnxswFYx3f7gM1 FG6E7Vgih7/YgMeSaFOJyVDI5CjkrxPitdWJ5FxuLe2LkNP+cH4lcyT/KKVPNqdxRS5B pa/5mD/eTA8SW1KRtsc3VvnIk46HwPS5Kw5ZzznHIx/ZLBcG0HZ6VPOzfw2UfqbpY41R YVAxjfnqstBJ/7Mpjf13YVVzOZ6ujE72MLHruegjcR2OoDXnHGqQO8tT2h/o5iHlKJr+ nl29Qf68QbKIImDGZurnCebbaJaLAUXWpoiLcdV1SSeqD+8sAUyqwKRhxcJh3Lop8mpf Q5Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=/z49LJ/T8Zar3+evR8ZrGril6xWv/cqi+vT7q6ZMxfU=; b=Zo0q3GHM599f+Co1f0yqFCZyE1G+rer+cs5n00gc27RwHaxVM0360UBcmInCPPjB7I RaCUqUIaXZd77gcxnwci1dCSg5zbEc7yObFVndkfaxtwegiwQHH0yo83NNP8FLpaoykQ 7UyyDPLhmlFXwXqQiGqoCHzHSBgjYhf05iqH24HosVlM3VstZ5S95RCif4WgjSiLkyV4 6uaAIt7D2/I++/5eKyOJIjzq2ivRyiQR5VsPP0I/BVjFQX62xIqYhNAmldx0NUGEH18/ Xt9/3l/A2gmON4jXHn0RlGG0hyoRcpqWV1paGpGbWoh90nIU8BQr059QjoNYZS2KlFP/ Z2wQ== X-Gm-Message-State: APjAAAUjhXI4j+pYsdBSqugICwT2vkjrAoa8AuAQ9ELvqtGymwSoe6l9 +8TrEc4PM2A9A+kf1vgT8a4HU7wn X-Google-Smtp-Source: APXvYqyszXDkh8LRMkXyLYNC1wmJ5wxpG4c6NwbqJj6sDSnQCHN7KSRsG85hSl/1hYoNbTk7Tfzhpw== X-Received: by 2002:a2e:87cd:: with SMTP id v13mr10901502ljj.98.1555960735834; Mon, 22 Apr 2019 12:18:55 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.54 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:55 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 5/7] dt-bindings: mfd: max77620: Add maxim, system-power-controller property Date: Mon, 22 Apr 2019 22:13:48 +0300 Message-Id: <20190422191350.27527-6-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Add new property that designates the PMIC as the system's power controller. Signed-off-by: Dmitry Osipenko --- Documentation/devicetree/bindings/mfd/max77620.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/max77620.txt b/Documentation/devicetree/bindings/mfd/max77620.txt index 9058499051e0..dda6d158b170 100644 --- a/Documentation/devicetree/bindings/mfd/max77620.txt +++ b/Documentation/devicetree/bindings/mfd/max77620.txt @@ -18,6 +18,9 @@ Optional properties: IRQ numbers for different interrupt source of MAX77620 are defined at dt-bindings/mfd/max77620.h. +- maxim,system-power-controller: Indicates that this PMIC is controlling the + system power. + Optional subnodes and their properties: ======================================= From patchwork Mon Apr 22 19:13:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088833 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="OutOUoS9"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxGH5DqFz9sMQ for ; Tue, 23 Apr 2019 05:19:19 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727670AbfDVTTI (ORCPT ); Mon, 22 Apr 2019 15:19:08 -0400 Received: from mail-lj1-f195.google.com ([209.85.208.195]:40345 "EHLO mail-lj1-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728142AbfDVTS7 (ORCPT ); Mon, 22 Apr 2019 15:18:59 -0400 Received: by mail-lj1-f195.google.com with SMTP id q66so11228851ljq.7; Mon, 22 Apr 2019 12:18:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Pht/1vjvg2q3MB1Rd06xLxNqPL9m9lhaJlJmlWaCpSg=; b=OutOUoS9sP/PJIiLPB3hAHNHq792ITn/30CV5OWyX1JP/XoY/0bi2GaGZBUiDf8ICU mNn6QA1+1AExBxDHGpJN0/fKVgpdtYbeEh68xoTGiK30v62cfuPBMJc9v1/lxOvRZyPT PBtITDHRD334W6rnQiKdAMYf09qSRo7/KzOZP7APrL67O2/WI7fdiVYl7C5ZCj+Vx7yE XsnzfpuWNVoqsdChWiudrK1y2Vs9e/zivBRfY9LZ74MRSPIUvzaaXJOpsH7iw/sf3rmr +z9KKLWMYGfYJjCpj8Nej8oqvJ1AJKxm2jnbn98eNcIWTruj4WxvKQO32CF2nM3+2Rhk 9bDw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Pht/1vjvg2q3MB1Rd06xLxNqPL9m9lhaJlJmlWaCpSg=; b=G+3MxPZauPkH15Max5CWl6jN87tKGgRAyZ3Bns4lbRJcQ0A87sziocsT3qxep93pWy vTmNsKAwYSLodaBsBztWusP1zRhO1PVhGsuiTBhh/MZZwe9c40FudfD8m0oNI2uSCkJg 16mKHp4aKakuROeb5SJEX9mFMR2Tsf7WSdJxWq9C9B9cPB31xsAN+l2lqMb4R3zuFhfH cVr8IK+zYTJx0YxWXO4Fde+imZSc2UnTrHID+DxszKvEboDWKYKJriVdupjuyuDcmaeO yKQLf8yZ4Qw8AEZIi/HAufnesH3X7YmIx2LYJhNIIN4Fz/jJVhZEGAZwyg8qGMhjJvBt lrAQ== X-Gm-Message-State: APjAAAWBMvTzgIHO+r5rhkZNfAhSYfmgM4LTnZ2NXS74l3no672Fhr3C nov46gLiNA7Df0saMGzvDQw= X-Google-Smtp-Source: APXvYqz0ec+77GNlCE90c8yTtQpQhW6IyxgP98PBJU8/iVc/SFY501BioKILCu8/UE2gs82cxKyk8A== X-Received: by 2002:a2e:74f:: with SMTP id i15mr10748083ljd.156.1555960737006; Mon, 22 Apr 2019 12:18:57 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.55 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:56 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 6/7] mfd: max77620: Support device-tree properly Date: Mon, 22 Apr 2019 22:13:49 +0300 Message-Id: <20190422191350.27527-7-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org For some unknown reason the driver for Max77620 doesn't wire up the device-tree support properly and nothing in kernel creates I2C device for the driver (and never did), moreover device-tree files for NVIDIA Tegra210/186/194 boards already have nodes for Max77620. Hence add the missing of_match_table to make driver actually usable. Signed-off-by: Dmitry Osipenko --- drivers/mfd/max77620.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/drivers/mfd/max77620.c b/drivers/mfd/max77620.c index 9b0009c29610..b7a058069808 100644 --- a/drivers/mfd/max77620.c +++ b/drivers/mfd/max77620.c @@ -37,6 +37,10 @@ #include #include +struct max77620_desc { + enum max77620_chip_id chip_id; +}; + static const struct resource gpio_resources[] = { DEFINE_RES_IRQ(MAX77620_IRQ_TOP_GPIO), }; @@ -487,6 +491,7 @@ static int max77620_probe(struct i2c_client *client, const struct regmap_config *rmap_config; struct max77620_chip *chip; const struct mfd_cell *mfd_cells; + const struct max77620_desc *desc; int n_mfd_cells; int ret; @@ -500,6 +505,10 @@ static int max77620_probe(struct i2c_client *client, chip->chip_irq = client->irq; chip->chip_id = (enum max77620_chip_id)id->driver_data; + desc = of_device_get_match_data(&client->dev); + if (desc) + chip->chip_id = desc->chip_id; + switch (chip->chip_id) { case MAX77620: mfd_cells = max77620_children; @@ -673,6 +682,25 @@ static const struct i2c_device_id max77620_id[] = { {}, }; +static const struct max77620_desc max77620_desc = { + .chip_id = MAX77620, +}; + +static const struct max77620_desc max20024_desc = { + .chip_id = MAX20024, +}; + +static const struct max77620_desc max77663_desc = { + .chip_id = MAX77663, +}; + +static const struct of_device_id max77620_of_match[] = { + { .compatible = "maxim,max77620", .data = &max77620_desc }, + { .compatible = "maxim,max20024", .data = &max20024_desc }, + { .compatible = "maxim,max77663", .data = &max77663_desc }, + { }, +}; + static const struct dev_pm_ops max77620_pm_ops = { SET_SYSTEM_SLEEP_PM_OPS(max77620_i2c_suspend, max77620_i2c_resume) }; @@ -681,6 +709,7 @@ static struct i2c_driver max77620_driver = { .driver = { .name = "max77620", .pm = &max77620_pm_ops, + .of_match_table = of_match_ptr(max77620_of_match), }, .probe = max77620_probe, .id_table = max77620_id, From patchwork Mon Apr 22 19:13:50 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Osipenko X-Patchwork-Id: 1088831 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="RYr8caM3"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44nxG60rK4z9sNB for ; Tue, 23 Apr 2019 05:19:10 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726430AbfDVTTI (ORCPT ); Mon, 22 Apr 2019 15:19:08 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:37481 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728483AbfDVTTA (ORCPT ); Mon, 22 Apr 2019 15:19:00 -0400 Received: by mail-lj1-f196.google.com with SMTP id v13so11260157ljk.4; Mon, 22 Apr 2019 12:18:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=HnfsaQVDx7Y54QXh/MZkgYdypBQriZZ4UUY09gSW6Sg=; b=RYr8caM3koRTKtWePRmwHxdHhcWtKzrtDjkFvAGqhgP7gal0yd5TJto1hbcab0AFak f13ZI1V8kKPQGO3LbUASYpT5l8BE4jKWNtRIQm8wCFRpy5S8kYe70L/UTcPaEsnMGlt2 XdI8bSwENM4cdgu6dLTl0dsWFGSeHHecM9vm1dIxXpwVVBZngZhx1uwKy5kuVnU46Wz1 aYwOy0BZinKF9se8HpFoncLUJGprcofwznhjMvbRr0rOqvmD6pHLsglG3TIRWSszaeHr BGTdth6nPddQ/tEix/KvP8IA80QlSzIittD6Rfu86mgN9JfudB78dXDWfC/KRG52YNBQ UyUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HnfsaQVDx7Y54QXh/MZkgYdypBQriZZ4UUY09gSW6Sg=; b=b335ASdnzPiKhBbvRQGaRhZ7Bgv7PeEcy4A2umwhN0WabZ7hykIjcyplqQyblNWcBP RL89R1u+5o0Y9dTR0WLsNE62KVQnuQYINi1W0E+8E/xqocFHaCMdc8y2C+FvjnbNRMr5 2DeSF2dUR5CpfFForgU4mslGRBWMflmDu4J9FGnY+ZxIwxlsENqQHZfhg4eaby59vT8u /FzGHzFu7twca0NO8hzXKpulsxfGXfQd2KukPlW9KSUeQYCq0WoX6uNWW8DETLbAqaHT peYMcDRcnhIZx9X3Jr0cayTZtsGFV/NIaYGk3lotJyCe44Z2RO+nGV9yILH/QLrUYKYY e6Sw== X-Gm-Message-State: APjAAAWrefAli5k9dNazu4SuAjvvKYR2Sf9/8zwatUpIyAfJTVyDcJ2W TwKPTUGQ0Tbi4t6j5TEDrdo= X-Google-Smtp-Source: APXvYqz6NHNTIBH8UJ+icj9VXTVN4h1hM8/qBUrhU51PGhKjwXDJoLlz82/h+u/VosO5SOGShvrVkg== X-Received: by 2002:a2e:9d12:: with SMTP id t18mr11183714lji.163.1555960738203; Mon, 22 Apr 2019 12:18:58 -0700 (PDT) Received: from localhost.localdomain (ppp94-29-35-107.pppoe.spdop.ru. [94.29.35.107]) by smtp.gmail.com with ESMTPSA id l13sm2848762lji.39.2019.04.22.12.18.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 22 Apr 2019 12:18:57 -0700 (PDT) From: Dmitry Osipenko To: Lee Jones , Rob Herring , Mark Rutland , Liam Girdwood , Mark Brown , Laxman Dewangan , Mallikarjun Kasoju , Thierry Reding , Jonathan Hunter Cc: devicetree@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 7/7] mfd: max77620: Provide system power-off functionality Date: Mon, 22 Apr 2019 22:13:50 +0300 Message-Id: <20190422191350.27527-8-digetx@gmail.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190422191350.27527-1-digetx@gmail.com> References: <20190422191350.27527-1-digetx@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org Provide system power-off functionality that allows to turn off machine gracefully. Signed-off-by: Dmitry Osipenko --- drivers/mfd/max77620.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/mfd/max77620.c b/drivers/mfd/max77620.c index b7a058069808..3b8fd0b45425 100644 --- a/drivers/mfd/max77620.c +++ b/drivers/mfd/max77620.c @@ -41,6 +41,8 @@ struct max77620_desc { enum max77620_chip_id chip_id; }; +static struct max77620_chip *max77620_scratch; + static const struct resource gpio_resources[] = { DEFINE_RES_IRQ(MAX77620_IRQ_TOP_GPIO), }; @@ -485,6 +487,15 @@ static int max77620_read_es_version(struct max77620_chip *chip) return ret; } +static void max77620_pm_power_off(void) +{ + struct max77620_chip *chip = max77620_scratch; + + regmap_update_bits(chip->rmap, MAX77620_REG_ONOFFCNFG1, + MAX77620_ONOFFCNFG1_SFT_RST, + MAX77620_ONOFFCNFG1_SFT_RST); +} + static int max77620_probe(struct i2c_client *client, const struct i2c_device_id *id) { @@ -493,6 +504,7 @@ static int max77620_probe(struct i2c_client *client, const struct mfd_cell *mfd_cells; const struct max77620_desc *desc; int n_mfd_cells; + bool pm_off; int ret; chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL); @@ -563,6 +575,13 @@ static int max77620_probe(struct i2c_client *client, return ret; } + pm_off = of_property_read_bool(client->dev.of_node, + "maxim,system-power-controller"); + if (pm_off && !pm_power_off) { + max77620_scratch = chip; + pm_power_off = max77620_pm_power_off; + } + return 0; }