Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751639AbdIACpu (ORCPT ); Thu, 31 Aug 2017 22:45:50 -0400 Received: from relmlor2.renesas.com ([210.160.252.172]:46354 "EHLO relmlie1.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751110AbdIACo5 (ORCPT ); Thu, 31 Aug 2017 22:44:57 -0400 X-IronPort-AV: E=Sophos;i="5.41,456,1498489200"; d="scan'208";a="256586963" Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=<>; From: Yoshihiro Shimoda To: kishon@ti.com Cc: linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, Yoshihiro Shimoda Subject: [PATCH v3 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins Date: Fri, 1 Sep 2017 11:41:24 +0900 Message-Id: <1504233685-17947-4-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1504233685-17947-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> References: <1504233685-17947-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [211.11.155.138] X-ClientProxiedBy: SG2PR01CA0091.apcprd01.prod.exchangelabs.com (2603:1096:3:15::17) To SG2PR06MB0984.apcprd06.prod.outlook.com (2a01:111:e400:5213::26) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d04fed24-2fe8-4cda-13cf-08d4f0e36d33 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(48565401081)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:SG2PR06MB0984; X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0984;3:ZxqBdXaxi1c5RDUql0PuIz3MYm8B81ZniiGC/JtPJQZ9gUuROiXlkySChEPgNyGC7K9jLb2LD6lDMJY4bdx95lbFqttPUDTrj9l0hZ3klXops6xNnfU0D/+NRyRA2c/GtyWXwfsRSIm+ZgOrqNf0ZBEL7InnuKoUrt7F8l1UOKRxKBroMAPTtMvzMu9JbAVQaoOBKcMfCmgYknmi4X+DvtJgQPGpYBLIWs/x06XlY0g5ePUacNohvFl2IEiaT8Mh;25:IolP52WRW7VIse0/QAERyaee1qmPceeMEh3ZFoje/LhNzmTfs25oEoQmQ+pDRQyok+bPRtumJSksVwjLnhomB0zI+gww5X2den4PUOEabYeVgI0yzpJbVroeLNnYdzQsWoU8eyBZ8RDwiwz3uo5H/A/pVz1rSkZRPyuGu/0Bfd+BWHDk4D3iz3CrXplKvBGYIv+OPChhrf3MYN211YuZt2vdUTJ0OBxWBZe7PcKST6HXplV2phs4uMYyImOByfMJBnPAMsehPqF//L0QKviGX7Wc4WqxvkrYI6TJmr02J07Xwl6483+sSCT7pRk9NwKXmLvq/tPIjGPlOPE6eM71YQ==;31:abCm3ihK6HEkuw7bR6UztP4myGMomZIujTa5t6G/3rbMFE4ABOMb9zZfZNFTrSqDJRgbGulUa2IbcLFeL4Q3o0jOsLxp0t9OlmMyNfUTVx7fTchXZ2lc+kcTCNSl5WNPNMj3+TINo3FqN4vZA6KhgoSKRqSjBKKAbFP5fhNy7XEyIPGd8dund4MmCBpNA6vzTar+tD7qB3+HJLvTOMCtix7IpcQ21OFAtIMJGzrXiE8= X-MS-TrafficTypeDiagnostic: SG2PR06MB0984: X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0984;20:/74rJuS5zEJd+AXV+NpDgWqnNPE5ivJ5yWxHNykQD8XF3ftmdwKqMak32Czkxml5WUaoYVSn06zq6nkGr588ZxLvDzYXsfunJ/VXPY3LkIoJ+OXGwloZxJxtaQ7LImFq9aGVWH+mTiIIRyz5Es0Z0jGmAgqKV2d3fBgfVINwNTMnfOB2GVxZNQQ7LigYGMIre+5LECvbBpIMT4Jq7KnnYP5BfzwdciwoxMkZlFkJ1lMSAG+Ru+znOMSYou+BtBUI8Msxzz4E2KOvvSd3lkbJmf87wRJx1+ieNf74oGuhFXG0VaAIcwHqudasvJiGsoemAaZuh8jMCb27pXvhqMV4tQxSromklNDTKSC40qNxzA60lzTgfoXp7j7lKUrs0ifVNUXIeDCj6hns9tCo7x8svWAXmmUjrWBkM8fMs7cMwZF6qB/C8GLaYnPrFBbtJEhpKvStwdXcjgS0MEtKvy/eAMppPoH1u/Ua2v1V5+TAlqwfkML/9z1NgrUCCF7Rctbv;4:vkCV+8w03rLpqsqINkgWMLpeC9bs+znP0CtmVbqAvIcOmWq5OZ9HLiyWTVMCgn6iqQmD8/wwCOzZ6A0RBaqI3tgL7JiemiHC59KpC15uAcDOIz8Qshf8OW6CJF3xWIS72mnbZ/r1axPsibFBC1DEUeRtaPLtEkFQHpiyWwFrtUfkFHV3j8OG7318oBZzHVHScsBS0315zQFfeQC4NKjvOayzAEvTPpIlkBqVOPV2icQVN9REvaWDWI3/tF2AzaOl X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(3002001)(100000703101)(100105400095)(10201501046)(6055026)(6041248)(20161123562025)(20161123558100)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123560025)(20161123564025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SG2PR06MB0984;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SG2PR06MB0984; X-Forefront-PRVS: 0417A3FFD2 X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6009001)(6069001)(39860400002)(199003)(189002)(2950100002)(42882006)(66066001)(2361001)(6916009)(6666003)(105586002)(2906002)(101416001)(6512007)(5660300001)(68736007)(47776003)(107886003)(33646002)(110136004)(50466002)(106356001)(48376002)(498600001)(8676002)(6506006)(2351001)(36756003)(6486002)(4326008)(53936002)(50226002)(3846002)(97736004)(7736002)(230783001)(5003940100001)(42186005)(6116002)(25786009)(81166006)(81156014)(189998001)(305945005)(7350300001)(78352004)(76176999)(50986999)(3720700003)(309714004);DIR:OUT;SFP:1102;SCL:1;SRVR:SG2PR06MB0984;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;A:0;MX:0;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SG2PR06MB0984;23:M5ulf4vWN6Nr1noQ3TlVnwWaSyoJ6qglosi0MqAuE?= =?us-ascii?Q?NXerYc9hKzM1Ofdg8z9X+wLz6fSkFOIwa/XnBq0kgoJTyJSNLO+/zr+u/TWm?= =?us-ascii?Q?dSQQbuvIqrKsdF4SPgr5/uJKLQlWImjZS7yhwTNpMJGQbPQ9DuwmxSOJurYf?= =?us-ascii?Q?hoSzQAR+TTHbu05FxnqWb8cUdF4W5sj/QSpltBHBS6sgD+EtLdV+7hzUFOOC?= =?us-ascii?Q?tn+8zXyFK1d4VlKalVJTzYAqbC6naHtcsZGz/utF+sk8rK7r0nUrcA3RLROU?= =?us-ascii?Q?mRshx4lLdRmfpRz44OuGk4p7Es1co3cKHM03vBLwc3fTwRJD57iPckM/5zHj?= =?us-ascii?Q?II/f9eju2k04MuzUkKqTWv1Gkxel+BMt/4+XS//4xOrrvAMpCPwaJVdyycT+?= =?us-ascii?Q?6RfoOmgvM/+4p9nbu4m0uebpQ4tKZPbZ2+rBUnhMYiH6E2GmQgi68yPXFK21?= =?us-ascii?Q?9x/9J+6IFD1j4qpBzG3HKqwam97QEPF1sX+FQXoS9GxqmZ1lTp5cvuycZapK?= =?us-ascii?Q?2eFrJyXSB5GxkVGtfufBhkceoWlsl+Od8aBDntUTh0/PaoeycL2Xr/PojLM9?= =?us-ascii?Q?K2zQh7yHk3wfB9bSHyDHV/tC9xFo6HNiM2LKN80pOpUYFiwhXzr41WEDZznU?= =?us-ascii?Q?SeINrIfH7XA6/WjIbWjIaqM+1F0T0qCuz5Eb7tx8nXhKy6ijncJ20/ysvYqR?= =?us-ascii?Q?oadwLBEDXEOnYnw2jh1TEj1QPVppVho66uBu/riCvE5mhJRSilEjUq27SCUc?= =?us-ascii?Q?BmHyYW6c6evWnTbbq8GN30j6cucjTyvBOFVrgEeaCIbFX0QG2JdtY9GduIrZ?= =?us-ascii?Q?bAoXtzaUpR7WswUTtqAM3JIX15BDYB1EhYvu2drpmmubmw4KFbjZn4xhW/Y5?= =?us-ascii?Q?MVKSzoqSY0rD15+tNnT2VOnvMoqNGVI0w6MLE8eycAOaZkNBW0X8T8icPZcJ?= =?us-ascii?Q?a2ENzmzb7vzcmlhmxQ5HUZYpMVSxV3PTBpJqHatpbWANpfkOFo8ajHMBrcHU?= =?us-ascii?Q?HVoWDWAlpTh8dAqAK30qFqS6VNBYqdJDu6gK5Wo3k/zzeAOX5kpeGqu/YGtU?= =?us-ascii?Q?kRDmdZKG6nsfpoPoindm3IAFfLBSlzGUxq03PLsj1sRqhxH0BMc54fAw4m9f?= =?us-ascii?Q?9zYzfDn2tZ4QFLRcxJRxR3pCmMZBRl/Cep/pLrJSKvnoq8M5jeVV1U2vFxQf?= =?us-ascii?Q?btqozke5ku5ZTeBToDbwzDs14MHy3OpJRBYJ4Ws10iHm5Yxw43C3ISUM94+I?= =?us-ascii?Q?ITFo1aQXg9TG8A9zH4ud7R4Jl73Cd4G2eudbQiF?= X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0984;6:H+l3ydpSUqa8p1PYKv3iBozEkjvqb/cD7IHwJToN6wcdSWhnLT4oVLtJ8MfE7bgfZhKL4c4KGzrmP50gIDyV7GpZsfawc4OLW39QMlMmlBOTv2dV0wB9CxbFxjkm3Zz6UxCaRMFo6wpQ189re5w0H3zfViIssDE/Qa0dD8PBuJlUxe+Oc2WRD4hlKgO/GsFrRjhWDDhRMoThoxidYol9qLXgThU3PCy7cDnLj9woswlPsW5udU5ad96w/L74qyhtskVQCZsXJ+tCV17NmH/WOS6KB8Sl8OLnKBUhmwiS3iQesOjoljN0Iwiqi+X0vWFREDk5Rp1D1E+uAcJ3EIEPVQ==;5:ol89vW5fC3LodvlbbniJBhvnSj8znvt6NGcfjmEOeFiVdr8fnT86bDmIBWfLq16X1plGqh67/Mf9BLyb5KuWsI3uDiBk0N+psEWBgz8eyDixcPUJYTM45P4bcyj9yem7DCCXfkRcqdzSY7T9Vqu6NQ==;24:7aB+ZG2CjO2xtexo0tHbjydr4afO6xHKtM4a/szQAI26Svo5schlUtfXp2bFCgROWZcdNiHEfW6x0Xin3bnOI/4h1U9QsKocoML4keiKpI4=;7:N96DpESSzpjhK13fJLmKs9lXMN1Q8znRX55sl2OUYsWv3fYugiwYfwKNaln/2T89th+sUKQuBBRyEhfGhBuXJGXQhEVPfs6XnBYJKEizKouTlwIDgaOi5p/7QJI2vjgGJxlMKtxDS0h+Qz0TUQYxeOsIRnH7I/Re/sr11DFPMWmffLMm9Sk4NxFVp6pJx6jRK/MMXwY51mZAmXmmzdDVFSUG2bWIrqn1/2+Fsqd5sq0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0984;20:oNutfLwQiefTOmKf/7Rm8e7LqXznsovMIEqIvrXlFuECtg+vI7lIkYmvtY1eFtOCwEzNuyizzEXjATEbnaJfq5V2D68nb173hRsGda7p3FQ9O+eptlPsorDfGMQswJtrEBzKiZU3CxBskSkBFQXm71tMiklXZ3u0t/ykwyJzYGY= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2017 02:44:54.1388 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB0984 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2258 Lines: 68 This patch adds SoC-specific parameter to avoid reading/writing specific registers wrongly if this driver runs on a SoC which doesn't have dedicated pins (e.g. R-Car D3). Signed-off-by: Yoshihiro Shimoda --- drivers/phy/renesas/phy-rcar-gen3-usb2.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/drivers/phy/renesas/phy-rcar-gen3-usb2.c b/drivers/phy/renesas/phy-rcar-gen3-usb2.c index 4ea9902..15e095e 100644 --- a/drivers/phy/renesas/phy-rcar-gen3-usb2.c +++ b/drivers/phy/renesas/phy-rcar-gen3-usb2.c @@ -18,6 +18,7 @@ #include #include #include +#include #include #include #include @@ -80,6 +81,8 @@ #define USB2_ADPCTRL_IDPULLUP BIT(5) /* 1 = ID sampling is enabled */ #define USB2_ADPCTRL_DRVVBUS BIT(4) +#define RCAR_GEN3_PHY_HAS_DEDICATED_PINS 1 + struct rcar_gen3_chan { void __iomem *base; struct extcon_dev *extcon; @@ -400,9 +403,17 @@ static irqreturn_t rcar_gen3_phy_usb2_irq(int irq, void *_ch) } static const struct of_device_id rcar_gen3_phy_usb2_match_table[] = { - { .compatible = "renesas,usb2-phy-r8a7795" }, - { .compatible = "renesas,usb2-phy-r8a7796" }, - { .compatible = "renesas,rcar-gen3-usb2-phy" }, + { + .compatible = "renesas,usb2-phy-r8a7795", + .data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS, + }, + { + .compatible = "renesas,usb2-phy-r8a7796", + .data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS, + }, + { + .compatible = "renesas,rcar-gen3-usb2-phy", + }, { } }; MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table); @@ -446,9 +457,12 @@ static int rcar_gen3_phy_usb2_probe(struct platform_device *pdev) } if (of_usb_get_dr_mode_by_phy(dev->of_node, 0) == USB_DR_MODE_OTG) { - int ret; + int ret, dedicated_pins; + const struct of_device_id *of_id = + of_match_device(rcar_gen3_phy_usb2_match_table, dev); - channel->has_otg = true; + dedicated_pins = of_id ? (uintptr_t)of_id->data : 0; + channel->has_otg = !!dedicated_pins; channel->can_role_swap = true; channel->extcon = devm_extcon_dev_allocate(dev, rcar_gen3_phy_cable); -- 1.9.1