Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751975AbdHaHfn (ORCPT ); Thu, 31 Aug 2017 03:35:43 -0400 Received: from relmlor2.renesas.com ([210.160.252.172]:35200 "EHLO relmlie1.idc.renesas.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752010AbdHaHez (ORCPT ); Thu, 31 Aug 2017 03:34:55 -0400 X-IronPort-AV: E=Sophos;i="5.41,451,1498489200"; d="scan'208";a="255373752" 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 3/4] phy: rcar-gen3-usb2: add SoC-specific parameter for dedicated pins Date: Thu, 31 Aug 2017 16:31:11 +0900 Message-Id: <1504164672-20677-4-git-send-email-yoshihiro.shimoda.uh@renesas.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1504164672-20677-1-git-send-email-yoshihiro.shimoda.uh@renesas.com> References: <1504164672-20677-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: KL1PR0601CA0009.apcprd06.prod.outlook.com (2603:1096:802:1::19) To SG2PR06MB0982.apcprd06.prod.outlook.com (2a01:111:e400:5213::24) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7329026a-c599-4329-4cf4-08d4f042c44d 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:vlwJc599Cwk2hv8L/yD7RLyQENt2WZrgEQy+/LMasFCQyVP0nZJdumRPxKaGKje38Ad1c7Ifu5XM1yUF3wc0tWHK8chW8JtiO5Bt0ntXWFhsmLehrDvToBE5h3AC+8n1350KYCaU6MmOWEsScZ7bQGgwjblwQBlHAM5HCZYqbQS93BFBCScU8Nx42rLqdRLVvOhiZhFHBtVmgwy1cXYSL6SiuQQp0/JW30tdu3ej5QoeAY9RBPlTWaATYV133cr2;25:/1sRJTsT08aYEbx3qlJsxgaXLWCUedKGjf0BNNHtb35I/0AJy4UHQQkZ2ByhvazEOOsat9IQWHanzOGA50RTCYcTzWbKYgRMIjeR+TK/7aF+fLBixBKwL7R4mi4JbR0QR0vMxzif0c8/XO83TvLQhAdqYD1vLLhV8fomKmoMVd2AMHd+2hsOOJlIEIHRyxobsdf9czM9le2Lh256vT+dXUHgX0BCdMt2FFOMVrnrsfLuHVrbXd3P9Omhf0R4tc+QSkvHr8obaFSlDRiFqqi0A35j3SBphH3Jj9Yndu0GDSLK9FL+SjUaN33TlTO2fr3KqpDpy58rTpx7sEQ98KzGWw==;31:4WEuRxwveZRcyXNwcz8Tg4gGrxuqVXKrShhf2tLpSJNWSJ+fxFixPGHNSwQlB/OD06E+dvgjzuPd/mMKEZE9D0mGvQ6JBN9tHbN/IyfBPLf+oNarQZuJ4Ql6bgLDgBb7h/7VxfnNhjchtI5x5hntyKcCSl5nHzxrixy4s12W6Z9nCwZufkyaCOsQ5Va17BpdcvBZ3N8nHxOK/BsYN51xL+iyQRURkKygDiDeUhbgnKE= X-MS-TrafficTypeDiagnostic: SG2PR06MB0982: X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;20:drxxghF2Vj7PBgEQKg2l9M4YIUlX9niZOj0JXiiENDNxXc+MxTbENbaUGD/5OCuvMrvMi+Qt2qRdWg+9pRACg61MPqU5Q/eKBv1bX+idqxPys8yWb2b52Vzk9e1AIwxBKPOJW5zUlBDxMPoZRW//jD9kOFAh+sJGHyKwLob3P5VBTxqm2wUO7U0R1Dp9dCzmaPbvOYJdEihhiJFQ7wttnh5aTeFzLqsuxg8ApcZ4lJ25YoTDC8vZoWnJNDLd5TQgRL8dRx7XmI1bVyf0FsKi8jvPF+C07hKYhCc7DmPn/hMBtvEXYKYsbutaxD1VgYAGfPWEBtjRIt3cogY2UxccBsQEQI15ynHzhUfKZljLG2vHLpQorsLOFI+NQf04rQr05ImiKhfCXlCqxqlJb8HslibwsyL/0o/4s/zHlcgRI4jCYzyT+0h+zI1Sjecr7dnVN8hSpUQ11zL5tmmLNXFixUbK68vhP6g7mBwrVnPdBmSoflZjGZXR+AjIt6Dh87Df;4:gH2FFYmd23UyjYueVEVM5OjMN6YoiXSGsruRzmAYYl43B49K4yVVmZX/blFILK8R6wRHeZDrXIbDVcx1Sh7SXbJZzEVeXzMdLE6A6A2BJpVZoBLIy5pPeNqk4Uity2SQdJenpn8D6QJBqeOmaDpCFEWiQIJ4Seg7h2BHEK/LamzIzIZOwRmJUa340WMMWNaddJ0KzxuR3fa4baoo7rdHrxWm9gNE3dcu6Ich1Kfu2wzMqnUSZQYQcggCtCVg8lae 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)(201703131423075)(201702281528075)(201703061421075)(201703061750153)(20161123560025)(20161123562025)(20161123555025)(20161123564025)(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)(6486002)(48376002)(66066001)(2906002)(6916009)(36756003)(68736007)(47776003)(42882006)(97736004)(6666003)(50466002)(25786009)(42186005)(8676002)(81156014)(76176999)(81166006)(105586002)(106356001)(4326008)(50226002)(107886003)(110136004)(6512007)(2950100002)(189998001)(3846002)(5003940100001)(6116002)(305945005)(2351001)(2361001)(7736002)(50986999)(498600001)(78352004)(53936002)(7350300001)(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:VaYHOG7ivg/shbH5WYmQt/OSEqt1w36xD0bIqhQVD?= =?us-ascii?Q?kOl1/lf7m+LWHY15Y5F2YzLfVTwWqF6zigSgDh2occ4HZQ6aKnh5RdexNMPT?= =?us-ascii?Q?8SNtRhYjBV656voXl66eIWJFPA8TzNrnlj0NIMZK57grQxobfe98x20ra9f4?= =?us-ascii?Q?rEAOgZCb61nehbmbHUbABItVQ78vPgX4IrLm39ILdE1coZeAvL1FAUAsrlWb?= =?us-ascii?Q?Kn5tOzKt0eTRTB3zSykW9g6zXg0G3vu8JgXjP5lVRHGwkxUrHsZUJmeuYvff?= =?us-ascii?Q?U/lJnUFVBLymYHudoZWfLy6zonyokt1//ERwK7Joxg9Cg8094X8LArAUgj4Q?= =?us-ascii?Q?/+9UtJXhLbdxjbMt0qXzs1xTqa7n8+XeCT/Px8TphYoxsQE6BD5soaEaF16S?= =?us-ascii?Q?8gG4KEe/mnCHh2QNA/UmpFgmoB9QJbY530zm6pYG+Uunlood+jP+9sSAWa+C?= =?us-ascii?Q?X5rp4gqxfdf49/lpyiG66dwKS+tDAtYoOpidmY7M2yHFzjBwU6kPUxOKKw7Q?= =?us-ascii?Q?9fyw7ufYZ3Jgsov+FAU98a842P15/uZaX2BmI6kczm+F5STRFnyekzYua/lA?= =?us-ascii?Q?hl7rnkNeZpoNRsPjSvqWR7XmZeVb7STRRcEqAumdI3ITI0DdvZYkW37QQ2p6?= =?us-ascii?Q?D/iakN8Rr68py91HBNT7CIAFOFRlTJQ73ozdIYjCz+vC5vbZvhafGbMWzr8a?= =?us-ascii?Q?ZucKavb0jp5lfcu+qdvzQNX4HLgbR3D6NePCqb5vvMIXLG8UGKbNFQho5xVX?= =?us-ascii?Q?PTsDnL8klUwpIgT5CMufo8q9gsZZDGjBqOMgsjR+Ad3BvhJq1wcmtH7ahX5G?= =?us-ascii?Q?wPShMjXfVZ8L2v1qn17dZL/L+RGBGv1Ih28dTRe9zWKLYfO77bE36QUMyBzW?= =?us-ascii?Q?LOyACDoI/w+GrdtFAdrIwmlyuFkigA64Ujn1yHLBYim2DdRGp8yiqr05bK7G?= =?us-ascii?Q?ejZmcA0bRn91LmLfljBbEzXwljk7NaXQxNHJb23fLBLJVKIFyy/ipG/Pv/s3?= =?us-ascii?Q?ABpzJrg3sWoFTFWavxrth9zhJYZaDzhIhoGKLo92qMJw6B6MFskeKWJkrlBz?= =?us-ascii?Q?uQ38fHYivOBdgtlcnU2cW0iv4f13AnGPGLRlxpHF/gtbQkdRTt61BIOP3Uaa?= =?us-ascii?Q?feOz8UTUk+8tnv9LF0p4Rd4kaUX+NpfgMtjEq1r2buWjtiIfe35PyoUE4Rpo?= =?us-ascii?Q?J8ZVDWVCdvlhrEl12oaYJE0ovAmAu7adGrklJvdWI72+L63u1P/tc8IpZNJi?= =?us-ascii?Q?IKNlz6So27NT8HVOuRIr5YZKGf9vaXFsh6DFltR?= X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;6:rO0YLxSH8ogqfEsfyCvVyvpwfpau5BNbz7xGYnbWREGfriuegpFnyusZC9YtOTVIiK5nvKYkEMuCrnL5hsB6gmKhQB67I3DZtDLwEia65c09jboOb2FdzFQ/+cTGeZePaBqmgFJxgic1ZEgLIC4M0uI0/Q6uMW2tcO+E1b5w14cW0a4X9t5XokBKue37GNn+6RSInptjpf5If65ezhKO3g4ZH744vX+bjjh34jRJ9x8ObINCEK+1sjB4tlV4eM+SMdjSzBTyIx3B1fqEN8c2H4ypG8qG8U9IjFVFZRinCVZb/iexVrKWHiyTSJjaY36JErpUZ60jl9O0wautJzKReA==;5:ZFkyp9tYrADn4aoqVieRivsTaeL0beuysjeGEtTh7lszo/4odABTLMZv1uaWwIj7E6nL4nncz8Ip0tfZDpAaAxF8BaCEYgQ98UOMbzJvgROiRyPgmaB9P4OFb1JfWSfZc6rD1NneVf6y9/5aLJuzjg==;24:6bE2GGQjUSiRrlK6VTJn+NzDmAHDhVPGgoQ97nTNMUObg+D4gcMN3fjttgwPT0aRmx11/ZybE62LmaNPdaA7625wXW7MC+jGW5Nef+8CNNs=;7:93WHaw7dqiu2AwNTh7HAmLXPZf/LOGfz2zgZwH9KqLUU0/VUjts9CpBBlvkIMQNoIQs9MB1pCmY7k+sjVVOqoqT55dhCI9Ddw4lqFRUcw1o7njCl3ewsfFn6iXMwdmvEnuOKfRZMMMX7a94mCdsVweBa0r8LEDMJw4DkglnpGw6xPPEwrfcsrkL4uoKYiNDfD2l6RDvWFcoUio7USZ4dGCS44YC1tPeFUVrYf2lp3Ec= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1;SG2PR06MB0982;20:A0CR9E8rS4hnFJ1feL9JSKxyDaiS9n4Yl1/P7+bsIPm3jwNXudacVaeMnzFQJgreeE75c0N4xLaQhMt8IYETsHzd1bONnBM04VZUpzyYhcOpv1QcXApYLmmka/nALqGKiOjEZjoRrL1cj0148PRZhdlAhuXFUUPgoOES7YaR7CI= X-OriginatorOrg: renesas.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Aug 2017 07:34:51.2677 (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: 2311 Lines: 69 This patch adds SoC-specific parameter to avoid reading/writing specific registers wronly 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 | 25 ++++++++++++++++++++----- 1 file changed, 20 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..28ebc98 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,18 @@ 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", + .data = (void *)RCAR_GEN3_PHY_HAS_DEDICATED_PINS, + }, { } }; MODULE_DEVICE_TABLE(of, rcar_gen3_phy_usb2_match_table); @@ -446,9 +458,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