Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp1724738rwb; Sat, 19 Nov 2022 02:16:19 -0800 (PST) X-Google-Smtp-Source: AA0mqf6BWIvu8QJFzcPBTkx/IbtIZqo1WmWnydSoUvE0vRzRMgq/+3aIhkMHJTjV8eooqMwIy3B8 X-Received: by 2002:a17:90b:378d:b0:218:9ea5:b081 with SMTP id mz13-20020a17090b378d00b002189ea5b081mr753682pjb.105.1668852978775; Sat, 19 Nov 2022 02:16:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668852978; cv=none; d=google.com; s=arc-20160816; b=ASSMbtSlJc/O+3IDQ+YcKF0EfCDFSfbZ9uU3WNzIh5Xfx7T5VlFErKUP04Z8ER0yat CSiGBImhiRlAh5WoDPQc1JPM2FIXvhatfmo4ncLbWiAJSGR1Cd69G4ZauQex9YCoWVdh qGIG/wgDBk2xvvUvqGUcuPXqeOHXf1B0igwGVCkqCEHFd3l1e5AgxNqfwzck3Ggf2geQ AFH8dXrIiFHwPllZpy1N+arzRBSBLn0qUjCkYQemGjVDHR2JspH8VCEbS158BV6UZ5Pu B+VoYlQVoAV0vSlomKXPjkwZnGjadpk4Sj+k7YKo3Kb2Mx1JPlT3HGO9FMWiQc08Dkce Z6zQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=RMNXYrumhI3yLofiZI7k3r2DEJ+lXONtPLs3WFv5g+o=; b=GFRHioKFurNWobq/65QwqGSNg59uUOB9aq0Ptg0hHQHUmBw1+VufSsQZ7e2XAf5a0X zME37coQ8s/E3A5QbTzoqhxJ+k2E5rYd1N9EEyllurS6jhkgwBN7QPQLEs+IDKSNCj1S 04b8z4I13Xd3I8jhXlLcK+Mxvy38bg3KYwF0EtvB6PHTy8sHHlcIVs7hvpUGYeCLzkj3 BNSsog6IDiWPlncewywRowH79BcSV4YgxHxbcY49kfmgYKlhxoK4hMY/jy8CNDACrjbh a0/geXxevofMpOhuCPo01uMjj8sORo3/bxAqFITF+lBg6/Q8cKfbaJG2XNmZm2hyz5kk sgaw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@kemnade.info header.s=20220719 header.b=5SsmuCcG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id t8-20020a1709027fc800b0017bcea4e6b6si6005204plb.234.2022.11.19.02.15.47; Sat, 19 Nov 2022 02:16:18 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=fail header.i=@kemnade.info header.s=20220719 header.b=5SsmuCcG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231666AbiKSKEP (ORCPT + 90 others); Sat, 19 Nov 2022 05:04:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41340 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229606AbiKSKEL (ORCPT ); Sat, 19 Nov 2022 05:04:11 -0500 Received: from mail.andi.de1.cc (mail.andi.de1.cc [IPv6:2a01:238:4321:8900:456f:ecd6:43e:202c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A5832193DE; Sat, 19 Nov 2022 02:04:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=kemnade.info; s=20220719; h=Content-Transfer-Encoding:MIME-Version: Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type:Content-ID: Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc :Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=RMNXYrumhI3yLofiZI7k3r2DEJ+lXONtPLs3WFv5g+o=; b=5SsmuCcG6tK82cWqUfyg9d5Eck KksnUD/SWupHQBxwWvOf/0nvvNjb6cxknUFGI+j80Y9R+kKA/6TKtoWvbPIjZozzgbKWomxQtfNYz Y7uImLQblBjsKTvabMuZOzRF6QZXYiD9m1tWIClhx0oG+Dre6nBQGhQ6IaVRacUi7WtYThIiwmPW2 zt1GSi5mnynxPaPOPRzphluF4GIu9yPBGCqOTV4QlYwvIppsaJXq/pRX/mr0vBIQGJcB4WBJ4c6ub dN+1SjblSLACfPUtXxXovJu1FyAVtaUAK2wtbvtEB3YZDBxfxxVNKOzPAXUjehDaF/wHtF5TT4izx 4xs+cLfA==; Received: from p200300ccff2ff3001a3da2fffebfd33a.dip0.t-ipconnect.de ([2003:cc:ff2f:f300:1a3d:a2ff:febf:d33a] helo=aktux) by mail.andi.de1.cc with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1owKhf-0000Nr-Oi; Sat, 19 Nov 2022 11:04:04 +0100 Received: from andi by aktux with local (Exim 4.94.2) (envelope-from ) id 1owKhe-00CIPK-Qp; Sat, 19 Nov 2022 11:04:02 +0100 From: Andreas Kemnade To: tony@atomide.com, lee@kernel.org, linux-omap@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Andreas Kemnade , Bin Liu Subject: [PATCH] mfd: twl: fix TWL6032 phy vbus detection Date: Sat, 19 Nov 2022 11:03:41 +0100 Message-Id: <20221119100341.2930647-1-andreas@kemnade.info> X-Mailer: git-send-email 2.30.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -1.0 (-) X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org TWL6032 has a few charging registers prepended before the charging registers the TWL6030 has. To be able to use common register defines declare the additional registers as additional module. At the moment this affects the access to CHARGERUSB_CTRL1 in phy-twl6030-usb. Without this patch, it is accessing the wrong register on TWL6032. The consequence is that presence of Vbus is not reported. Cc: Bin Liu Cc: Tony Lindgren Signed-off-by: Andreas Kemnade --- drivers/mfd/twl-core.c | 8 ++++---- include/linux/mfd/twl.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c index f6b4b9d94bbd..5a7ed71d0e30 100644 --- a/drivers/mfd/twl-core.c +++ b/drivers/mfd/twl-core.c @@ -111,6 +111,7 @@ #define TWL6030_BASEADD_GASGAUGE 0x00C0 #define TWL6030_BASEADD_PIH 0x00D0 #define TWL6030_BASEADD_CHARGER 0x00E0 +/* A few regs prepended before the 6030 regs */ #define TWL6032_BASEADD_CHARGER 0x00DA #define TWL6030_BASEADD_LED 0x00F4 @@ -353,6 +354,9 @@ static struct twl_mapping twl6030_map[] = { { 2, TWL6030_BASEADD_ZERO }, { 1, TWL6030_BASEADD_GPADC_CTRL }, { 1, TWL6030_BASEADD_GASGAUGE }, + + /* TWL6032 specific charger registers */ + { 1, TWL6032_BASEADD_CHARGER }, }; static const struct regmap_config twl6030_regmap_config[3] = { @@ -802,10 +806,6 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id) if ((id->driver_data) & TWL6030_CLASS) { twl_priv->twl_id = TWL6030_CLASS_ID; twl_priv->twl_map = &twl6030_map[0]; - /* The charger base address is different in twl6032 */ - if ((id->driver_data) & TWL6032_SUBCLASS) - twl_priv->twl_map[TWL_MODULE_MAIN_CHARGE].base = - TWL6032_BASEADD_CHARGER; twl_regmap_config = twl6030_regmap_config; } else { twl_priv->twl_id = TWL4030_CLASS_ID; diff --git a/include/linux/mfd/twl.h b/include/linux/mfd/twl.h index eaa233038254..6e3d99b7a0ee 100644 --- a/include/linux/mfd/twl.h +++ b/include/linux/mfd/twl.h @@ -69,6 +69,8 @@ enum twl6030_module_ids { TWL6030_MODULE_GPADC, TWL6030_MODULE_GASGAUGE, + /* A few extra registers before the registers shared with the 6030 */ + TWL6032_MODULE_CHARGE, TWL6030_MODULE_LAST, }; -- 2.30.2