From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752415AbcHMKCP (ORCPT ); Sat, 13 Aug 2016 06:02:15 -0400 Received: from mail-bl2nam02on0069.outbound.protection.outlook.com ([104.47.38.69]:6201 "EHLO NAM02-BL2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751299AbcHMKCK (ORCPT ); Sat, 13 Aug 2016 06:02:10 -0400 Authentication-Results: spf=pass (sender IP is 149.199.60.83) smtp.mailfrom=xilinx.com; vger.kernel.org; dkim=none (message not signed) header.d=none;vger.kernel.org; dmarc=bestguesspass action=none header.from=xilinx.com; From: Kedareswara rao Appana To: , , , , , , , , CC: , , Subject: [PATCH] net: macb: add phy-handle support for the macb Date: Sat, 13 Aug 2016 15:31:49 +0530 Message-ID: <1471082509-11764-1-git-send-email-appanad@xilinx.com> X-Mailer: git-send-email 2.1.1 X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.0.0.1202-22510.005 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83;IPV:NLI;CTRY:US;EFV:NLI;SFV:NSPM;SFS:(10009020)(6009001)(7916002)(2980300002)(438002)(199003)(189002)(2201001)(7846002)(4326007)(8936002)(189998001)(86362001)(2906002)(36756003)(305945005)(19580405001)(52956003)(48376002)(106466001)(626004)(46386002)(5003940100001)(5890100001)(45336002)(356003)(5001770100001)(19580395003)(11100500001)(7049001)(50466002)(87936001)(42186005)(92566002)(36386004)(50226002)(81166006)(8676002)(33646002)(47776003)(4001450100002)(50986999)(7416002)(229853001)(103686003)(81156014)(586003)(63266004)(90966002)(107986001);DIR:OUT;SFP:1101;SCL:1;SRVR:BL2NAM02HT159;H:xsj-pvapsmtpgw01;FPR:;SPF:Pass;PTR:unknown-60-83.xilinx.com;A:1;MX:1;LANG:en; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02FT012;1:oAaq6brmzMGpV9ka0J46ZCP1Lw5PPTHYv5q5fo/a0ap/NXJj+mLtC7S7QhoPNe1q7qv26kwxX4YAbPc3RXWRl6gu/87OlTTM9SIuKli9lbyOf4WVnvEJmgtSWq+wVfoHgl8H7zW+GJwnoKGX3aV5nODnU8jrON6NWha10hVo+Y0IBBj5zlB8Zy8bsO87UFEZ2TARfJKKwkPlVnAWaW/QCUq+ua3lVMu3SuY+NdFv1VkoEmRD05SCNwNNrdJnYxRYWbvbrIh/MKZOxqa/E0KPrNmcTDIWZMotuXaSpfId+EL9zBr2VjFB6sJcnzRe79csu/GVoCjcBl9CeZi08vFWyLIoPdbZwZvCEMorLC6VjMk141on0P1pxKPtENZEt4GygpgV3t91N1vPg6oGZJiXBD8n6JJDLh5vzrhZYw/cDILSeeCn2vo72/1UgeLWC+dHNOVc+rnN0PHFgvtl3pzhcNeKq/y9/cYarKa9ALsSMyqUqUwihpD6JdmX3dF4pf+m0LMUrLhG5R6SR9N6rtIDMvpoiqfhCPyPSCtjiF8Efp/W8bZ2PZUcxK9SiqIVPxDAbM09fwsSFIs7AfOH3lxqmqhTzxuNCetWKj+irRThFTWDcGoddhbNuN7NI3rAD91Jsci/+1u0oQjFM4/Q6f/5qA== MIME-Version: 1.0 Content-Type: text/plain X-MS-Office365-Filtering-Correlation-Id: e3080756-5b0f-4560-ac11-08d3c360e33d X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02HT159;2:oQ8dlYebsjKLRcOh0ZQsOa8lM0IOxeaARHKHGp9IaW7sqfhM3BzPCZtKiFjIh5iL/9jk4d33v4svGqVn9gwTATJwJUa+EEsHS4er3MfIgswWOgS8khiyJ9gxx0U8dLYyWQrezWZ9H4C0fyNy8cH7+6//bbvzF4CdvUwXg/8W2KNugiU2ooE244+nbRmOHEFo;3:phADejX6lE5mqgPTqwlt0MenmV+ly8+HK8Q+eg6tLHATG7WdKKja64kc1WSw7fSt+dBQVWNwDeYd/bexc5VnroXAqV6KCMxNa8zTMSmEqNjhNanzBL46CV3AszVcDb4C35v+nmPRUGtZvkY2bqwP8WfcPsO7IswQ9So+5vS5gzOxtpTJUw88kfHaiUmeuiXfRRKNYdsBt1lERBTdTjWzBCrAA29e8TlkLzjH8mfcygCCBrKp86kCYvIJBC+nafQEKLskfzhdJEXlsdaYDKKD8g==;25:UzZU3nh4lB5sNv2c8NrvBksZhrakKktoR5qV48sY9mv6TDgCi+vbgpl8Gj1klOmVupcVNUNFuO7QbSVAk32HYJU6IytWHquh9WFIn+NELdo6eOb9sdq9xw8F+pW8i/KK422WX0+sE8hIb9XeI0V4i6rcmMYfhiqNa2mfQ1k6pCAH1SKMciH5nfpo9B2IEZDAUG4a9q1PFc90TCnaQKPWYUgfmncuH5+Qmhxz62tItrArFMsDIGMiayeUFzPX5+g+biFeP433KZMRwVfUhW6mYeb06LY35qSPrxbZz6Oob+zqbKNUX3ig7cVntTcxWGyqXqdQ9GDvewMfNzujhYnuJGbajyb8CS5kNb2Y2mINOpeycyXTbIq3GGVmNk8mmqKta+NBECJWweV6OucIehTdEYfjxDlN/nTjZdfa9OoKmDk= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:(8251501002);SRVR:BL2NAM02HT159; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02HT159;31:3ZN+pqQpKXRddhp5uBno5p/upzOSTg8wR3skFZ0s3/gkLqL9PxLsVPYkUiL5x0387DbC29UjllYcJKWFQSasTJARE5nANcKeMs7aKA54rVK10NKarx8RbcoPftit6VW+l6dxT/3TFuIIiUrYVKX6M/5TPSAVBz/u0eQYhwWeqUjVF8bxyUIe6T71qU92eN5fUvGCLbYNrkf8+f1B6LACpIyEw1r7aQBc4i8TXDJGq8g=;20:9bGuRs4BoJd+nSzbROjbGKQW5iCiMsSUOJGZf5qgSEppLc80IWYWbPjUpcZVl52lCEy52bhSbyyduPPGX4LeJnp+eW9I2C9RQ2SClTkn2uySxj8vTUi4jFTKEIrJlsBEt5ymj0EzU3Fhav74NKmuvIpCM4KfHvrVjU3mOA3OMOB02JLGPG1nhIc8Oc++81iRUd1aoOj7ZgHlcLpz0xzwYJnwpPt87rHqU08v1Hgv8LbEoqzuKy3n5B7S5b62e1oWMyWEaopyZ0fhDO9QVf7aBz8GJ0cZ7jLE0EYnEg/yZQhbkF6K35FfdjXXIaIpf3sFHpuAF3cBC23EjZ3Ae6tk8QAmJ6cfTxIHjUV/DvTbuLWjHYRLKtuK4FfglGgulwtA4xfQ98zraZDdD6YXnn0jBSVrTUMv0NYqEBWJj7xvMXVO2nLBezmzlUOJNNfrrq2cJMaej0QGyv3TWz0L5rLlEDI0JSwplLlhw+KO8q6fB/K4c9TcFJ/svOt3ItCn/xbc X-Microsoft-Antispam-PRVS: <21cfbb37bf7249b49ac8d91fc0351835@BL2NAM02HT159.eop-nam02.prod.protection.outlook.com> X-Exchange-Antispam-Report-Test: UriScan:(131327999870524)(192813158149592); X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(6040176)(601004)(2401047)(5005006)(8121501046)(13023025)(13024025)(13015025)(13017025)(13018025)(3002001)(10201501046)(6055026);SRVR:BL2NAM02HT159;BCL:0;PCL:0;RULEID:;SRVR:BL2NAM02HT159; X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02HT159;4:JkkrtQOQ6x9c2z/n0O/3GkfWDbaVD7K8HVkQgJMF2D5v0thzAk5lI93W9Y/jdVVEaTJzj24W0yFhKeurT3qJ1TeiGveP12+SCk6hp6qWlJ39/ASJAuIXzxBe11ofpXLicuLIshh/Ts8Fo4UVM1dy2MAlmwjiK+pSJMaj5beM45RYJFwqXy8xin62aZjRdkulZLzNIYLsrBsYg1mD6wYkE91wzb7By8rxcwzJLq2g2QX07hjCP1u3WXeS7aiaqSnRZ7IiPcY5NDLzImJgjPd1ArrD8YEEruTpvFLWe86YN0p3YopUizN/4kO1YaA58Q7hej9ALBJ4TAzWQIqTaEKOT8CLdgbI1eVaRqoLH4O5g/MwBRYKa5h7MXgoBVPV7ok8i+LvjY8Iz6xyi+G1IHCeq/hIJeKQmMbsB+QX4n6AnNOkOHNFtf1a4/yfRtPPMiTy+CrlTu9kSGJ6Oa/Nt15JP7thlyCnT9mIl1godjhdQvD9s+4dofhbf/694Dhc1xHOw+1sqw31Qyesk0y50U4SvvGp53RHMvaNDgNwxNZ3r/hk6MxEw5xh6gsgpYqo2Soe3/rJ1o3Btggpo5xHm8/sqw== X-Forefront-PRVS: 0033AAD26D X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;BL2NAM02HT159;23:6+bLlTkAbvY1f0Bt1C3Xqnn/k7+bjEnLBy12HsSIf?= =?us-ascii?Q?LeBhA6Tm/FfIrv6wwMvGe1Roltd7rX0w3NBAn0SWIvY8tQfeXdqreX05e0LY?= =?us-ascii?Q?79h5DyaNODwzGNAUgmrYVgdWheRlRMblLpqPz4hx3oEtJYWbeHLjJVCw+EVm?= =?us-ascii?Q?U4xIKDlZhZOju+Cpi1pxdy+GQDR9ujOLNEaiP0jiszo5Yx0mH/vm3k156aIO?= =?us-ascii?Q?K242/XB8i97LBFlSXm5bX0E+lgmGUToB8f+9MgsPPTD/c9AbLkjwlY5wMxpP?= =?us-ascii?Q?5EupPcg00AODrii9vnQahWwmNULHUhRny87fzCAs23Zi14TZj3rDvnaplFH2?= =?us-ascii?Q?lo8JbEhvqKsrmpiFVmPM8l+tfoEp0bvPeFuOp9jaMNNrAUJOP5WxUgBm4oRV?= =?us-ascii?Q?P6lD3kaMq3JZmfpyVysnV2SPWwuEzcVaa5sU3wQs8p07plpZLQcODHotJheG?= =?us-ascii?Q?3+bQV0clM+HoNqaK/GS513/+tiCZv2SgEqh81ctmNs0rhvYw38MlDG0vGnX/?= =?us-ascii?Q?Wloppf0vlgcmwoM5tRTWxTXbRFm/yklsZxLz4ntEYtqdtUn/1hntH/xbQckc?= =?us-ascii?Q?KRc9k2zIZHx7y+bC2z4Go890XLfiaCmtt5JDFMuLF/wQK7Nt/MSuTTOsAHZU?= =?us-ascii?Q?44pfyU1ifnZLTnh70RzwmbF9l07Pl55fbeI5NLP1Ft4Ie056b/pjkgD+yeL3?= =?us-ascii?Q?ZmYbjSqOplnIUowNkvXFkgKfJZ5nE/fJzqjTYxPNio+WRKik4yvJMTmFx2jm?= =?us-ascii?Q?IT8idWzne/Q9UdeGIbRPVLrGlRZgOtkNfqAsjOh2NSnmvHmVgr0xPbCxeld4?= =?us-ascii?Q?CEfqHFM19+osqbs7pL91bwWs9ANBPQhCvTdNmBrE42eYrjH3vHRMIGFrQTbz?= =?us-ascii?Q?X5gWEgbnX0ytubEu4jtr6RTK3aCXXy6/387iQYO3lEGBuiRNBr0yC2dnbMJ6?= =?us-ascii?Q?X4J5MhIVbNH4w/44BOB3Ue9K1n8LDbStzDJI0Bx/eu8ZNSwC2QBgh/L7IXV9?= =?us-ascii?Q?F7b8TWObzOZhJ0ZJ+H9RcGUNKjKVxIbcdb9IqaqgArqb74jpBiigoDzIsZCW?= =?us-ascii?Q?tsSq5cuuOyaH/+ypFx/JPZlUYyvoisbvWJFAwgQTCvyXA26ohBXJl+A9x62l?= =?us-ascii?Q?c4LoYLjhiKbP76yZZ0DQECn++rUmNMiMsS5y63bgrfP7dUHxBr0H09jIIlc3?= =?us-ascii?Q?CzeZmZuU6jKnLv9UI9JxhzjHtjIdVvbJc9qp79yU9Fb8xKgDJn9P0DyAA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1;BL2NAM02HT159;6:Yz1CF1nCYHhTk7dD7Q2JD0wXR0ChKfMDw+PQxQsCY072Y0aK09yxrlQePLIJ2mrAqcpIGrEMGI06nGAKpX/Nnzoih2hyLJuC2JoiejDKDg0v7ZpWFmDaQswTIXH9ucf1JWBxvcYRUnAymmZazvqwm18SyJ7VAgvlRPVtdKpewdZPiSYNPVoJMkd5aqGWFlvLWBT4x80NWhXd0jF+rEk7pvQ0axZEHcumqZOuoT24udJEJ+NF0+UDmU6mx+EbixEqrqX657239TwtIqR3I5uwcbr5+Ciogj4i3msUXCNX8v5KYkrae5prURJT1VvIWoZFqnaSfG/4Dv7jSZTkw+3WCg==;5:IHrUzqYGoNdraocmqJSpsqmamVAzSOehMU3IuycxqDxfRqD6byl1hgHy/XgBIeMNUZDnmypWkA+NIvymSJF3QInD/y7X4NYmz9fTmRSgZB31zK+IOZWWrYdMO9CP0ubEV1da1vPv0vowhtFL1DbEcA==;24:jrWVvSIqcckKhVF6A3XvFOP05XjaljkIZv8XOSEBw8phrL2gHY93NQE8+dP9f+E1zjDlJvT957IXY+PFB1/SI6O+jlMk+jtKlO4L0cNJuTY=;7:Rf3/9u3SjeaGJRap2VfVL56tPuHWwD3QlR2UIO57lmA1recYxq7aX6a8OIlNtLeEkeKld9zqJxQuQRm2C/95T/qY3QtGzuGruiBbrvYZRMOiKtBOUBLujAnmYTzFlzFfU3CGNtsDa5nvxzBkeN1tZRQSSpkVNF9mxOa+92Hl818UM30fbM91Sc1eblmRvac5iICUPKhbsZPGs4AgB/U7ZDDUPrS9s7Cvxw6tOxUOBgvgtNYRwhkd8JQZkVSibwVO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Aug 2016 10:02:08.3462 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c;Ip=[149.199.60.83];Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2NAM02HT159 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This patch adds support for the 'phy-handle' binding which allows for a system to specifically select a phy which can be attached via any MDIO bus available in the system. Signed-off-by: Kedareswara rao Appana --- Documentation/devicetree/bindings/net/macb.txt | 3 +++ drivers/net/ethernet/cadence/macb.c | 11 +++++++++-- drivers/net/ethernet/cadence/macb.h | 1 + 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/net/macb.txt b/Documentation/devicetree/bindings/net/macb.txt index b5a42df..3cfff7c 100644 --- a/Documentation/devicetree/bindings/net/macb.txt +++ b/Documentation/devicetree/bindings/net/macb.txt @@ -23,6 +23,9 @@ Required properties: Optional elements: 'tx_clk' - clocks: Phandles to input clocks. +Optional properties: +- phy-handle : See ethernet.txt file in the same directory. + Optional properties for PHY child node: - reset-gpios : Should specify the gpio for phy reset - magic-packet : If present, indicates that the hardware supports waking diff --git a/drivers/net/ethernet/cadence/macb.c b/drivers/net/ethernet/cadence/macb.c index 6b797e3..4ddd45d 100644 --- a/drivers/net/ethernet/cadence/macb.c +++ b/drivers/net/ethernet/cadence/macb.c @@ -421,7 +421,7 @@ static int macb_mii_probe(struct net_device *dev) static int macb_mii_init(struct macb *bp) { struct macb_platform_data *pdata; - struct device_node *np; + struct device_node *np, *np1; int err = -ENXIO, i; /* Enable management port */ @@ -445,7 +445,13 @@ static int macb_mii_init(struct macb *bp) dev_set_drvdata(&bp->dev->dev, bp->mii_bus); np = bp->pdev->dev.of_node; - if (np) { + np1 = of_get_parent(bp->phy_node); + if (np1) { + of_node_put(np1); + err = of_mdiobus_register(bp->mii_bus, np1); + if (err) + goto err_out_unregister_bus; + } else if (np) { /* try dt phy registration */ err = of_mdiobus_register(bp->mii_bus, np); @@ -3016,6 +3022,7 @@ static int macb_probe(struct platform_device *pdev) } else { bp->phy_interface = err; } + bp->phy_node = of_parse_phandle(np, "phy-handle", 0); /* IP specific init */ err = init(pdev); diff --git a/drivers/net/ethernet/cadence/macb.h b/drivers/net/ethernet/cadence/macb.h index aa3aeec..83d1617 100644 --- a/drivers/net/ethernet/cadence/macb.h +++ b/drivers/net/ethernet/cadence/macb.h @@ -855,6 +855,7 @@ struct macb { unsigned int jumbo_max_len; u32 wol; + struct device_node *phy_node; }; static inline bool macb_is_gem(struct macb *bp) -- 2.1.2