Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751545AbdHaIzt (ORCPT ); Thu, 31 Aug 2017 04:55:49 -0400 Received: from relmlor2.renesas.com ([210.160.252.172]:11595 "EHLO relmlie1.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751359AbdHaIz0 (ORCPT ); Thu, 31 Aug 2017 04:55:26 -0400 X-IronPort-AV: E=Sophos;i="5.41,451,1498489200"; d="scan'208";a="256474203" 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 v2 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins Date: Thu, 31 Aug 2017 17:32:46 +0900 Message-Id: <1504168367-29464-4-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1504168367-29464-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> References: <1504168367-29464-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: KAWPR01CA0083.jpnprd01.prod.outlook.com (2603:1096:402:c::19) To SG2PR06MB0982.apcprd06.prod.outlook.com (2a01:111:e400:5213::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c3b8f6f7-31ae-4bc6-c6ad-08d4f04b5993 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(48565401081)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);SRVR:SG2PR06MB0982; X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;3:Sw6LClrkakFhMzvXwy8GQ7DhUKGyvtR+T9Iv/CfmbyLwZCIzGkCQTYGxlqQjoVO4B59g8Nw+ZgRJhkq9auNib1ihpfDsPuTJqzyvaAjk8r2DT5dgmx9hDIOY9FzNPPCqTNcw/4sxi55tkKAhymGdm9v3n+wJTgCrRVKSvCFoYeb96ck/RzVLb+YiGZKODvIs5tL42zMOcXcSO7Ic2Pdo3yAl4FSKLk5K0Pk5QR4X2BRFkOsNcp1dv+b3/UX1UJ2j;25:kXhmBXgj+kXgSpJNpvyfAVKDA1/CgqMfjmGgTY0kc15yft2vAFnLAQX0GvLMPZGKOmBDetis6rdzjDF3Nr5vUqXweZNY8Ih4pSh+UCL+AS3ASjk87wYjkG/C2eIwqcpoLQysE6mnLXcCUPfhannoevAUzAtcYnVPE8cMciwUHYf6pJFm/GIGzvKwLW/mccWzSwc2nDwLDwfEyv+wC4Q2s21gM/cujPR4BFyy9dqCQmb0R7hHrT7AIbEy4Hn+ywCAicWkd1VWbHD8Ry3v1mz413r/7B+DqGs/AQkyV61ZA0tBAIHMpscrA9vMF/RpxTveKwQOGcaRR5UGq2v6/W7fxg==;31:Z7mwAy089Rhwl7mC25wFQBPuAGtMavnK0+dapS4Maq7IMuoSOPvQlyMhMDINSOCJv5X+U5lPwnm9dCRRIo9ZpR/yLn74hc1YAf0BCkefLOJ3sTD5xXPvvPVrh6HW3DtUb4pNvJhljdh2791eHf3NC8slYvIVLRBEM0IDLPXeKyL1BxT4W9YA58b53RkXSPos/PtG9uQNBGoYxh+/rCsoMr5XajD7j3QrKFPmzzC1AN4= X-MS-TrafficTypeDiagnostic: SG2PR06MB0982: X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;20:x3zkW267SbWtlmNz/o5iwQgxGu0/rju+IaemAz+x/LJ48RVk5CBUrYxdWCtvZXrFwrbHhaOwhHPsR8TSJAbFUR8Y1ckfEg+ynD/scFiHQG9N1wVhDRnAvqg3n3TcBBcWtHFJ+FHCUDw6JzL/UgPODaOoq+IFa9QUEnS7pO0SM9pxW04RsHLf5EZfVQ90P1Z912P67E0ZE4Ww1NlvPsUpemQlFoVNNWAge6dQFLiEdFf1sWwXJB9nrB07ihN8xju0ialAUTeopMc2v5ISiodj6oztpXLYIQV+ZDPidk0jLLCqAWWJuDRpUVBC6BqGVxYYtYpGLdsyyOij3/rJDP1toIBauyl5RfuMvj9+TbfnVQeCG/95qo2998B75H8bJm1NpzCyb8+YKSWkCyHmaTMlp4cN6A2BR124o8ycCxADXXRDVp9K+rbln3ePPu4yEHbezuPjCR6N/+eiL+v/Qd5Wzby9fwJPZeEW/DRKt1hABqFhblp5M3+/x1yCAW4Cl83Y;4:TS5hPuCBUzJzR+hwYDClZZaqZBu+BNOIeCgC71+bHWWjNsWKzDFqnuB52MDPsAL16wMI9eAYNOKc9kLNMzZENaij+SAQ79E/F7qFC5rKAkeN9FKusKKvKWnnSEpHA7B/SYZViW79QECdovi9AecFRyDMYb86/+Uv79qHZ9KBDP3OLMrn8dv6XeP405ZSx0C0/+0TBsldqyQqDM/P9pN70hVbl3e/iosiz5PgTlEQwXfl2ahP9x8UMUJKV2TkFkqc 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)(100000703101)(100105400095)(10201501046)(93006095)(3002001)(6055026)(6041248)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123562025)(20161123564025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);SRVR:SG2PR06MB0982;BCL:0;PCL:0;RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);SRVR:SG2PR06MB0982; X-Forefront-PRVS: 04163EF38A X-Forefront-Antispam-Report: SFV:NSPM;SFS:(10019020)(7370300001)(4630300001)(6069001)(6009001)(39860400002)(189002)(199003)(33646002)(6506006)(101416001)(230783001)(5660300001)(48376002)(6486002)(66066001)(6916009)(2906002)(36756003)(68736007)(47776003)(42882006)(97736004)(6666003)(50466002)(25786009)(42186005)(8676002)(81156014)(76176999)(81166006)(105586002)(106356001)(4326008)(107886003)(110136004)(50226002)(6512007)(2950100002)(189998001)(3846002)(5003940100001)(305945005)(2351001)(2361001)(7736002)(6116002)(50986999)(498600001)(7350300001)(78352004)(53936002)(3720700003)(309714004);DIR:OUT;SFP:1102;SCL:1;SRVR:SG2PR06MB0982;H:localhost.localdomain;FPR:;SPF:None;PTR:InfoNoRecords;MX:0;A:0;LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SG2PR06MB0982;23:HFK6bPhaMzjfW5Fu32lgEPd8hQIyR56U/+fJSh29l?= =?us-ascii?Q?QyI7NkK5VFeP10AU9xZqFem27CZLHYosK7WABZIPizroyaAtOjijMAQbioKl?= =?us-ascii?Q?e4FBxuRJu1ztBRl9yrpqLeMbCRpeDitPkh0SMUov8M7RyN/j1OSpqNjO3a5y?= =?us-ascii?Q?U0QK1y+fLET2Wy1z20RlI0F97qxSkYtb7AdzlyF75TbybcGYdZccAmCruYho?= =?us-ascii?Q?EvpcPW1OMm2BLllMMPbHUV90OCeSQAEo7+jNogaXeMh+aI/bV0EmkRdvZQJE?= =?us-ascii?Q?p3p+D5R9bq8YlLfxeZO6v1DoDV9MtUhBUZIl3BgE5bzi8LnUxbXuFxXVXoDe?= =?us-ascii?Q?bkbnrP1vE5EhCjmm+m2xDBlINs72eqCWlKz0x0MfjFLYZL4iIGPXTffmptMA?= =?us-ascii?Q?sua8UFeRbK7mekkrsMAq5l4U1P5iSpEim9O/KrJEMbFlOdB8sLAdVCg5M12A?= =?us-ascii?Q?1iDCZ4HkCtaief3W8IP0g4teA9+bUzLLp7vjM9/LT9t72sAtQmzDXlmcAQog?= =?us-ascii?Q?NlxibnXLL37AhvzX34efhEr6OGBBlgWpmXNK6aw+CEeAqrmGx7cMHGJrPYlH?= =?us-ascii?Q?twmTOny0zjTTOCbbLLd+LIbsRDc9UR8gVgFtwYCmTsAnHQQOJYHYkbA/KS5L?= =?us-ascii?Q?rKxG3WHMC/L6nmD3fsDo9MG6rdF5voeQozjtkJnAEVEMsV1+/boZ2Vl85Fqe?= =?us-ascii?Q?JYIen8xFN4C41kVwXfQvX6tcVGe+rDrodHRkB5pSlaz89wrMjd/vkDC2WPXM?= =?us-ascii?Q?FOheYzJ2Ex7KJeKzxvtCHqaeDPy4gSm27bPxYt5yV9OG00t6tWpY3QprBelA?= =?us-ascii?Q?AEA8wS3al2/Hf8lpwbhVxhlQ2JE4ZVEsFeJ3Ov9JniAGUCBx7YGLFTBd0oZ/?= =?us-ascii?Q?GqLEuIo4MfZfA0gBmvGs2JVdJtQFf5/tPIqrdptldcTali9x2s2McnWmYigp?= =?us-ascii?Q?+yRxeEsWXO56cVYzMlS16GDSIU6BtsBk4pw95naxhBnMrQJnZ5R0+/Jx9ByE?= =?us-ascii?Q?OyOyh/1xHhGSx02bjKmwpd/hjhE5OgtpJn9d4WxHgRQMz+Ix9nA/19lvteel?= =?us-ascii?Q?LwJnD1e3cfZ1gTU9CjKOGg7BdWuWZT90mMTTlGttoSnYKwCkDi3LuKbPN5aW?= =?us-ascii?Q?MQYeA8kYHI58B7CGoAKMUbOE/qK8d2d82W2JcoIJ2xUM4F/yCj6bLyc7w8dp?= =?us-ascii?Q?Hv8Cy8f93WH8VVUcF61av98bPktpXHTuhNToU9O2zohz1YVf3tiunYq4g60f?= =?us-ascii?Q?4HLwStv9DJ3xVkahVnFZQH+cDPxV/D1tVyPcHBa?= X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;6:0fCSCYFo1iSihEm+NtqHaSSBQVnYWF4SSTJb+9CypQA6IojlTH+YDRlvG8G1DtS35WOrGKnWZ+fICm9IB5jrhbeXMJWL8WpBIq02T740ocgV4RkLqEKXmIizKrzs6VmgvXARFSN3FnOsG589iMmZdS6ZB67zapEsSfgoe9cuiuUeCr2Xkm5INt0igArchxzjCocsohVls8AGmIikzIIrZZfuvm7dZZqvK7hfOQcswWMY0EdAgZaZXQ8VYLHZIBymgHaet2/KJDFahkx0Z1nytGCru7JM0J9emq2xk/H4G1murvWPyTjul5Y2nzlWjIfPo2q8ina/O1/B16uuOk4y1w==;5:2v3eNFsq05w0wvcaXkxkyFPkFEyNV+OLhoTIAZdTgWyACKbajbx+TgH3ppHvKm/AZ86vSiA9q7heO+H8fF2z4l6bEq5XSCBv5e11W8vGGCIaBGZyJGypdFdnwUmB3/K0cqPyy3vSfq5Rv7C1XAXPhw==;24:zOKFKteeu59dloTPcMc0Nz8wqiTymZif4jWI/vgaYDqzs75IEC8awSmZnTwV0pdJKR1uQjjSZIl/COA5Go2JLtOX3GqEoGPo2wytXo3nIno=;7:7R1g+Uru+LXDxhkeSYDBMX67FPYshZMSMZZ1Gzpedn+R82LTGEhki2jwCUb4d0q3gCkFVG1XFTyb+cSVMM7t32xbZJ4/sVNh94yKeKkYuFTHFXUQiXo1EOr8LC9gbd6DE4E1DYcBAYSbiWyORLLPySqpP0zlA3XaJDe7IecA6ihdxr0ivV7VKQ/OUJ1gyqUmcw1b+2kEYEWabN3CTRMzJXy0WlZ0Q7tuMifgFOojL4M= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;20:L6uxJTldf1o666q0bJi19FhWD62uJcTPQPyHRLZca0w4RSqxt5XWEDVIzn/s+hECNqrqlz31e75UhXusfuVtbHNOxrwXtxgxswdsBkNFJMxLTuSY6+42W3SWsxiG0v6+OeDLl/PilhfV1sx9n8OqJJV3OXWAV8XpNXvPTR0vXxI= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2017 08:36:17.7308 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB0982 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