From patchwork Tue Dec 6 17:38:26 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Breno Matheus Lima X-Patchwork-Id: 703271 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from theia.denx.de (theia.denx.de [85.214.87.163]) by ozlabs.org (Postfix) with ESMTP id 3tY8284Wvhz9vMQ for ; Wed, 7 Dec 2016 04:36:48 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 2E0B5A75C2; Tue, 6 Dec 2016 18:36:47 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XGxPj_opbnbc; Tue, 6 Dec 2016 18:36:46 +0100 (CET) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 53120A75AB; Tue, 6 Dec 2016 18:36:46 +0100 (CET) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 00504A75AB for ; Tue, 6 Dec 2016 18:36:43 +0100 (CET) Received: from theia.denx.de ([127.0.0.1]) by localhost (theia.denx.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O6Xy_GMmWzfz for ; Tue, 6 Dec 2016 18:36:42 +0100 (CET) X-policyd-weight: NOT_IN_SBL_XBL_SPAMHAUS=-1.5 NOT_IN_SPAMCOP=-1.5 NOT_IN_BL_NJABL=-1.5 (only DNSBL check requested) Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0056.outbound.protection.outlook.com [104.47.37.56]) by theia.denx.de (Postfix) with ESMTPS id 238AC4B656 for ; Tue, 6 Dec 2016 18:36:37 +0100 (CET) Received: from CY4PR03CA0005.namprd03.prod.outlook.com (10.168.162.15) by BN6PR03MB2467.namprd03.prod.outlook.com (10.168.223.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9; Tue, 6 Dec 2016 17:36:34 +0000 Received: from BN1AFFO11FD013.protection.gbl (2a01:111:f400:7c10::122) by CY4PR03CA0005.outlook.office365.com (2603:10b6:903:33::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.761.9 via Frontend Transport; Tue, 6 Dec 2016 17:36:34 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; nxp.com; dmarc=fail action=none header.from=nxp.com; nxp.com; dkim=none (message not signed) header.d=none; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BN1AFFO11FD013.mail.protection.outlook.com (10.58.52.73) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.734.4 via Frontend Transport; Tue, 6 Dec 2016 17:36:33 +0000 X-IncomingTopHeaderMarker: OriginalChecksum:; UpperCasedChecksum:; SizeAsReceived:734; Count:10 Received: from b58964-3.am.freescale.net ([10.29.244.171]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id uB6HaF8H006668; Tue, 6 Dec 2016 10:36:31 -0700 From: Breno Lima To: Date: Tue, 6 Dec 2016 15:38:26 -0200 Message-ID: <1481045906-2562-3-git-send-email-breno.lima@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1481045906-2562-1-git-send-email-breno.lima@nxp.com> References: <1481045906-2562-1-git-send-email-breno.lima@nxp.com> X-IncomingHeaderCount: 10 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131255193939547162; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1109001)(1110001)(339900001)(336004)(199003)(189002)(39380400001)(50466002)(39060400001)(2906002)(48376002)(39410400001)(39400400001)(33646002)(38730400001)(106466001)(105606002)(5003940100001)(305945005)(356003)(8666005)(7846002)(47776003)(2351001)(4326007)(50986999)(76176999)(50226002)(2950100002)(6666003)(189998001)(8936002)(85426001)(6916009)(68736007)(81166006)(81156014)(36756003)(626004)(39850400001)(39840400001)(110136003)(39860400001)(8676002)(92566002)(97736004)(5660300001)(86362001)(104016004)(77096006)(39450400002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR03MB2467; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11FD013; 1:99gQ1POl63pfyUfBXnzA/+LSo7IUZWsr0UH29FHVfLLWW8NDaZKQII8xmWFX1FAaHrvkG1g/28nZtyQQDcrlIgkGb5VRIUFeQgVuInio9oEShRzY+kflBQw1qRSMvh7nQw+s7NTCOOhG6eK3VnG7i8OUGp+N91FUrXsgmSx0MQyjd8yXhM253359fR/mf/Uyf+28T1knsVKtbPUMXHYoKZ5ijQc7IG6ZNZlJYaWi7Xgo+G6kUGypevgfP5cKu7BDvv00R41j7XZMx0NQXsMwGsqQYkl8Ub8mtLx8+2X9NlTSBhdGslW+Ffn8DYnwRy13rLr6zqO+FMFtjQeAouKji8y8tBCc34nMogr447f7lhgsGZT+V5rCGNWDpvsBF/0agnaHFL4e82+69M0lh3Vf6/YjLpXoQiWpp23C3qTQ2snip58GMGe5fWKfgpaOIA8A3zlrjhzvAA6fAt0FYMtM5OMdNxRrjSfhddgrtH/3oaWXibfZbll3ooZ+407yOsjjLYsqwCzlEJWvrn3Blc2VoN9k4zY4e9rD6zE9Sd19Dgnv12NuxifIEaIzg/4D+VIYop38zeVVlhC8v18gSGI20eu6I3DpteGdOgPSmgv1ENAVIGABp75l2bYmUYpIYOfgq8m1IIjmo6xUnBOrajcHOji8A+ZamtSAAH0+LxXprruRJ6dygdTc0Rk+nUyLkq1mHCKSqiJX+KcR9aCROp6gISdULN+tqDR3hmnDdmXsmKM= MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 347a279a-de6a-4a4c-f000-08d41dfe6c20 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001); SRVR:BN6PR03MB2467; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 3:hcmqGhCWTTqiujvmHrvRkxotAMjwgm31AhbEaWWU0aUD5ylwN6SIhelPR3EuQwanhQa/mpGux6cMYjJofSX83DJhffoSY8xayv4nW8KWGLFM4l+XlwySMXeRB3Z5Z6pbR4hWugifapbWnmZV7UTXC2gsQXNJjYYC+SZvL2pcjnfsbNYTwzzskXEGV/IUu27Idd62zlY/IXxkcvczqFLH+n3YEv81CYlsdJiEpZR3Z/iAUUYupds9dhhNmHw4cTs0cLM1RU8GUYy5A0wLKn09thrXABWbipfuEV/ZmEu68ZzO4INX5TY+Ih8Xf1Z/g4UlHXLClghB080L5bYJe0M0AbNOP0zmI7EkQj0RLxLQjmZIptQgqVB5MzAS8Ct1yDJB X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 25:aHRyxqabwn+eQsvqdnYFSzk+Dq4s3INdRraObFTvoi1fA/UbUFnr7AiKsqot0MXdPbqve7AjQcDS1xYVCzHue9YnW10ijve22XTOFGl5/5dAu3fYAmg2RZGbcTx2ELd2fbVamVBpPDOi4N5URcjH9pTxIq6fxQlt4p0s58S+4r3BjroBFH6eixGO3kszevjQ2/asOj9jbE6ENPIhhTre0oMZtS3axwsAgc8sb5qkGrfzBKYwRKlfYaBq0hlpHnq5bO1tJEGLHAJfRWGdMHrjRIJQSxYg2D0Xkx0x75AXA/owiQyIEpYF0dWPHgmBgTMw9IFTR+A4UyPcGTgDgBJK9RQjQ4sbcaIxZ1KiHcVco4YtvAQ0I+4o/tQuDfAxFLxeIERRDOrtToPLtZwlvlFSB2z7DvaKa5kFi294rgF9xsmpQ09hFWFmU9nhQr3t9pxrhC1JSXELDkLQolYJg+Vs4kXq46BO/xEgfJsih9eTxBBwGo5zm2ffHBRTEfZFRqYDA5nyh7jYppf4yA2FqUxdX4ApT/BK/3X3IQ9gPwFz6701sDmb0AFbbkwb9xZenFJR3Y8jN1yLhxSXUAm3RCWkIwTM+bUsrTo9mArHKnr16WVTu63u7i/Uej2b1BcvsZSPtrP4g2hjDYpANAkyOTPD+2mA3XxxAdxfXp6EaTtE7KT+R1JQcqzEuIhO/MyvBqo8/i9W+utgEolx75VVcS/2+FTYQlp8bbC/wgqeDKJSOAq4QJOw5qxUPRfgBthtur/eQHZIWMSQrGVj8iXVv9zLqA== X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 31:2el88AWkS/C8Sqv3X+wrWDcHmch0h1ti+4bJTqhJt+StLRsEpBCBjkAJJxPd1AZCcLBN0+keu7MGwjM11Zh8rrmF/UtwaJ8/RGq43Wp8+NaX7aMeXrUKiS5GR0dsqRHFH0T293w9HasD9VQahOHIgTBD8TSQ9tBPxShllZwwdnHvkYIqtGlqfaPEuGXLkNCEAWITGR4yOYA1TQ+JtYCfsJ+7l6mUV6BqAy4bFIbbsGglmr1wAoPrZGSIPEP9phbxOyXnw1tAmsoXdWYpnpyUhA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6095060)(601004)(2401047)(13024025)(13023025)(13018025)(13017025)(13015025)(5005006)(8121501046)(3002001)(10201501046)(6055026)(6096035)(20161123565025)(20161123563025)(20161123556025)(20161123561025)(20161123559025); SRVR:BN6PR03MB2467; BCL:0; PCL:0; RULEID:(400006); SRVR:BN6PR03MB2467; X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 4:HnO0BA/gLoMoyiAYnYLc8ZfjErFe/II5kCSY3+KShb+p7tUOREgQqFwfUe83lpXZdRPnTW9nVhK1r+GC7uxDk4frIfBI4Hg6MKuruXy9vKDXvGcAqIK+cJ2fCkcdRkJIFGXcXL1as2YB3xBRE1/Z/QE0NfqQaoR84BlepD8hGvdVGjP8cI5ayK9PQ9iZOkDbd+rzqm/40Tc9tWzDWYEGRAyiZ63MTsUWrtUHrONiTG6wv0Qjd+T4ASBKYSfyjh3r7KnutIkcne1mZ4Rz/Rzh5+wQsrsm/dCKPz0oOIQU8KmkE0rzkxAh8qQ2KRfuzEVvy+VV6bLfP6HCRpK1G2gbSK8u1TnkDGZw7FiCDsSkDdyPLbM7Nozg+9wYRekAJHQ51Sj93+uVX34LBSMOEzUE2wOIKQM6y0zU2q8+g5x0hInwna2iV483VpnH/F1aCD15xFSxsl30hOmwaUeVVSyCHaPJ/Ai9kgrr3Ra1BsbaofyTJlos0ha6Eh7gNbH/4+4RzyyoTt8tF0F9pNB+MREKq7gOJdpCa8O6aoWd++LTSGwuxPdub/uBHFyAcx00OA/DWUwrDccbGkuea1+ZOr7OVhB7Ht+Us5IoYP5RzvEu8Chm8vNaqvOSjenuqRaKCXttP2p9ALJt3Pan0qe3l4oig0OFcxZDXZeb5mXK8FRvrJPMFFrAKCu9SP0hnsqiYYKwYoyyTtGmRDgbQwNLXsJ0A2Egn/3e7KokL3IbnKo3j7zqzx04KA7fVzBJyqC3GunG X-Forefront-PRVS: 01480965DA X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR03MB2467; 23:+1TPIbT0D5buyfp0gYbP/EbKZeKMZBErhvdwZQWnF?= =?us-ascii?Q?o1bfZuCjy4iLQ3WZ7ZKlsJezEc0eSAEMOsb4ljjhitZmXXOFCowrsJ4/oY5O?= =?us-ascii?Q?PIOpoJD51GnJU7HZSv/oPHEDhbiuT4ylBIAH9+hoqka/P/MsmmGZmbz74uxK?= =?us-ascii?Q?5ETCfRjZLHGNFXMoauzRreld6cLK5oqVNmWf1v1s9nkWz7HRD80tnnPme2Aq?= =?us-ascii?Q?DRH+r8ZYK8UvtN6qTr30e3mtp1x/AiyjGLwW2LPxCd6Z18tX2VCqaJ580yLf?= =?us-ascii?Q?Zylip4J16iZFcpsrSPqsABRyNkXIqMH6+Tp1qNVJrpaJ5BB5Ikn1iKf+ESOM?= =?us-ascii?Q?rvJd2efgV3yyksYOgudLNWfljS1GkL4LxgoyW2JZBn9TIYmp4r0juraVG8Ye?= =?us-ascii?Q?V5jXQqGHQjLiwzmoHSdk8676JlaTzo0Y7B04Bb1JpQBr8A9VX+gLtdb2d9zJ?= =?us-ascii?Q?ClNj3hJGYExUMPuiTsgvJDxyAz9FAAokU5IFrV/ZIog/g50p0/Ifv7neKy3i?= =?us-ascii?Q?Do8OcNs/NlmaLOP+MlB9TVyT667eObYkj6SZx7F1Yy1SioEl2kQTYVw3c40I?= =?us-ascii?Q?8RZQBkwEHCIXEv52/BnB+uheHQO0gTn8n1AMtG2oMqvXD2KP1YJN1E8Qe4at?= =?us-ascii?Q?CyQQM8Vlxelabyveb0thitazMudpQmd2emdgSM4halGPxIVJg/TR2uMWDBOI?= =?us-ascii?Q?CmGCyCQl9vZLdHIZ7M+EzRz9TbfoRDY4ISkChqyePvYaJfSme3bzi+PeIOjv?= =?us-ascii?Q?bx+APj/8Rpdfkh0PbfaVR71KDQctZbGitb9oSQ3M+QszwRrmMhAbF7Xgb8mq?= =?us-ascii?Q?tGMaRBGJjT6mXCLW0SUfvj9U6j9Rd/jsvyZkXBmXVEBmvTzxOwCv4BYN9QtS?= =?us-ascii?Q?+YCGztuFwVmTUrP8EsK6FwNTBQOfPx3mNSHv55qFuFBXJRXjPY+qiZFW6BXE?= =?us-ascii?Q?Zf3WsK/pecVcuLJT5xdxv2rjk0cRMG1d0mP+iG9uDS4IaVkzk2GeqIyi7Wvh?= =?us-ascii?Q?CCyYOs/nQyofy1AjKZGpCFLQi4Lk5R00KDz2rPEyJIGkO9SYMBn3dN0yQOiP?= =?us-ascii?Q?m8mxny9Mjo0968sJBBzZrYvrtdUNWanb8bLVNZKEs1Fb3i4Us7b1+tDib/bg?= =?us-ascii?Q?10ldlksGiaAwxpJ5MOiLO9Ah68ZQBetHSk0Ec8NQs6gEriFUuhz9ydb5LaDZ?= =?us-ascii?Q?ERFb3OLadivVPVAr8oZJmBblPOijy40rlnf0/1aUfvbvD6GQvIXoNBBILcZz?= =?us-ascii?Q?Vm5Gp9yVzGM6DG522f0IYo2Ap2y/A3Zrlp03RvW+F/59+AQEHX5jZ+h9o2/U?= =?us-ascii?Q?v0z9bD6lfLcugRIy7v5Yq6VkBPOuipRjX4kKY/riKfU?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 6:IymKRoXCeEdv0Ea0JLN92ETIGpXJhSACwPICzBvDg6hGXCWIK/k7sZdeR0aEadlFsPX18VGyl94jGgv5CU+9WYDljwCj6hHmmg2Wpx5aKFlmpVMStN9Y0RklvVBeGA3DtUH7cLhf+hCtK2Xtoy+dpVyt4bejTHdKSEs6MCwvbzniBqy434tp3dlQx6s5fb59KGA2P2/GisTVF3nV4FPD4EdEEF+tlV55jobiS56H0rAKsW4FyAbDVakO/KXWxkfWovbDUFKcnUWm71+EYQmvXAnQ304ZsBURegMQWFBD2vK+jcRyI833tFB/YOh+qNPyB9qPftWx6XhrhRhVC3yQ/mK2Tqy4T1UeA/zUNu4pOCGaVsugAMiGmWTose7XToK+dJgruN51GBlKYqFK3qi5RHfLzsx/WnwTzOGha3fEiBD7DOUHmGr/UYqpEIGyziUb; 5:egaYVH30wzrMejMuq4zO6zyoopahx7iMzUZ94OYWhFC5eQSnDgENLTa8XAYcOmKQ/NbZZaqj9lVTA+CN7XTme/7PmMPDZXAqlJwJUcN/7od6o4qDE8WKUMGvh3zGMcmPU0zrFq/ifO57dqjw2Uiap6GV3XV7aB3A5IMRaeaenf4VGzEksveVDspjTCh7KOlY; 24:/1IXAAVGbJZzDolLlZTALfpdbu5Yk+v2dd+nUO9Q0dAP1pMoVWNo6BPqj/rTYYzhzNrIdAjnU+ygMYmTJhCVSyWQtvNjVkK57p6AXruSqNs= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR03MB2467; 7:Bb7XgYpCZ1W019tDXVFUF6pgfcZ5ljeo6roV1cxAeK7CCZ0iWfu8Z+dwA6DCrrnrs8y0biGwF3PscvtRZ0s3DqyhDDlWnv5ivvRJfVZZBvIxUE8WKa4mmWAQvbjhcEfT4ZPeER+9iTnDr5EIgCLOjwSdyZQyHVAwIP347qJv2QvqbWFP2A/36mttA5oN7NprfhPRHd+eiuAXTwTgAdV1fSGIK80+HB+V3uOD8iKu2fzlOsAzDlKmg3EdkLC5e4mZTZIGtDQ0MnJv6jg0WWmEJyICXca4A8WkOaBMtOFmT7banPoU/7TGv+vT4EGD1h0919D426AywGY0Zx6GjdbuYS38FwWwjlPMcvOTT3Uolv0pxgKp04SmS7SIB2lRzDV0C+VzxHQegprz4dPAUyDesVto2n71ee+R18N5WbFDpqFkb0fiT0TPE1+UxkJ+ABfx5FxB5ImnT+qeIZz1xBH9RA== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Dec 2016 17:36:33.4555 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR03MB2467 Cc: Breno Lima , u-boot@lists.denx.de, francesco.montefoschi@udoo.org, fabio.estevam@nxp.com, brenomatheus@gmail.com Subject: [U-Boot] [PATCH 3/3] udoo_neo: Add Ethernet support X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.15 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" UDOO Neo boards has one FEC port connected to KSZ8091, add support for it. Tested on a UDOO Neo Full with "dhcp zImage" command. Signed-off-by: Breno Lima --- board/udoo/neo/neo.c | 95 ++++++++++++++++++++++++++++++++++++++++++++++ configs/udoo_neo_defconfig | 2 +- include/configs/udoo_neo.h | 17 ++++++++- 3 files changed, 112 insertions(+), 2 deletions(-) diff --git a/board/udoo/neo/neo.c b/board/udoo/neo/neo.c index ad7452c..688b522 100644 --- a/board/udoo/neo/neo.c +++ b/board/udoo/neo/neo.c @@ -10,6 +10,7 @@ */ #include +#include #include #include #include @@ -25,8 +26,11 @@ #include #include #include +#include +#include #include #include +#include DECLARE_GLOBAL_DATA_PTR; @@ -50,6 +54,16 @@ enum { PAD_CTL_DSE_40ohm | PAD_CTL_HYS | \ PAD_CTL_ODE) +#define ENET_PAD_CTRL (PAD_CTL_PUS_100K_UP | PAD_CTL_PUE | \ + PAD_CTL_SPEED_MED | \ + PAD_CTL_DSE_40ohm | PAD_CTL_SRE_FAST) + +#define ENET_CLK_PAD_CTRL (PAD_CTL_SPEED_MED | \ + PAD_CTL_DSE_120ohm | PAD_CTL_SRE_FAST) + +#define ENET_RX_PAD_CTRL (PAD_CTL_PKE | PAD_CTL_PUE | \ + PAD_CTL_SPEED_MED | PAD_CTL_SRE_FAST) + #define WDOG_PAD_CTRL (PAD_CTL_PUE | PAD_CTL_PKE | PAD_CTL_SPEED_MED | \ PAD_CTL_DSE_40ohm) @@ -213,6 +227,27 @@ static iomux_v3_cfg_t const usdhc2_pads[] = { MX6_PAD_SD1_CMD__GPIO6_IO_1 | MUX_PAD_CTRL(NO_PAD_CTRL), }; +static iomux_v3_cfg_t const fec1_pads[] = { + MX6_PAD_ENET1_MDC__ENET1_MDC | MUX_PAD_CTRL(ENET_PAD_CTRL), + MX6_PAD_ENET1_MDIO__ENET1_MDIO | MUX_PAD_CTRL(ENET_PAD_CTRL), + MX6_PAD_RGMII1_RX_CTL__ENET1_RX_EN | MUX_PAD_CTRL(ENET_RX_PAD_CTRL), + MX6_PAD_RGMII1_RD0__ENET1_RX_DATA_0 | MUX_PAD_CTRL(ENET_RX_PAD_CTRL), + MX6_PAD_RGMII1_RD1__ENET1_RX_DATA_1 | MUX_PAD_CTRL(ENET_RX_PAD_CTRL), + MX6_PAD_RGMII1_TX_CTL__ENET1_TX_EN | MUX_PAD_CTRL(ENET_PAD_CTRL), + MX6_PAD_RGMII1_RXC__ENET1_RX_ER | MUX_PAD_CTRL(ENET_RX_PAD_CTRL), + MX6_PAD_RGMII1_TD0__ENET1_TX_DATA_0 | MUX_PAD_CTRL(ENET_PAD_CTRL), + MX6_PAD_RGMII1_TD1__ENET1_TX_DATA_1 | MUX_PAD_CTRL(ENET_PAD_CTRL), + MX6_PAD_ENET1_TX_CLK__ENET1_REF_CLK1 | MUX_PAD_CTRL(ENET_RX_PAD_CTRL), + MX6_PAD_ENET2_TX_CLK__GPIO2_IO_9 | MUX_PAD_CTRL(ENET_RX_PAD_CTRL), + MX6_PAD_ENET1_CRS__GPIO2_IO_1 | MUX_PAD_CTRL(ENET_PAD_CTRL), +}; + +static iomux_v3_cfg_t const phy_control_pads[] = { + /* 25MHz Ethernet PHY Clock */ + MX6_PAD_ENET2_RX_CLK__ENET2_REF_CLK_25M | + MUX_PAD_CTRL(ENET_CLK_PAD_CTRL), +}; + static iomux_v3_cfg_t const board_recognition_pads[] = { /*Connected to R184*/ MX6_PAD_NAND_READY_B__GPIO4_IO_13 | BOARD_DETECT_PAD_CFG, @@ -233,6 +268,66 @@ static void setup_iomux_uart(void) imx_iomux_v3_setup_multiple_pads(uart1_pads, ARRAY_SIZE(uart1_pads)); } +static int setup_fec(int fec_id) +{ + struct anatop_regs *anatop = (struct anatop_regs *)ANATOP_BASE_ADDR; + int reg; + + imx_iomux_v3_setup_multiple_pads(phy_control_pads, + ARRAY_SIZE(phy_control_pads)); + + /* Reset PHY */ + gpio_direction_output(IMX_GPIO_NR(2, 1) , 0); + udelay(10000); + gpio_set_value(IMX_GPIO_NR(2, 1), 1); + udelay(100); + + reg = readl(&anatop->pll_enet); + reg |= BM_ANADIG_PLL_ENET_REF_25M_ENABLE; + writel(reg, &anatop->pll_enet); + + return enable_fec_anatop_clock(fec_id, ENET_25MHZ); +} + +int board_eth_init(bd_t *bis) +{ + uint32_t base = IMX_FEC_BASE; + struct mii_dev *bus = NULL; + struct phy_device *phydev = NULL; + int ret; + + imx_iomux_v3_setup_multiple_pads(fec1_pads, ARRAY_SIZE(fec1_pads)); + + setup_fec(CONFIG_FEC_ENET_DEV); + + bus = fec_get_miibus(base, CONFIG_FEC_ENET_DEV); + if (!bus) + return -EINVAL; + + phydev = phy_find_by_mask(bus, (0x1 << CONFIG_FEC_MXC_PHYADDR), + PHY_INTERFACE_MODE_RMII); + if (!phydev) { + free(bus); + return -EINVAL; + } + + ret = fec_probe(bis, CONFIG_FEC_ENET_DEV, base, bus, phydev); + if (ret) { + free(bus); + free(phydev); + return ret; + } + return 0; +} + +int board_phy_config(struct phy_device *phydev) +{ + if (phydev->drv->config) + phydev->drv->config(phydev); + + return 0; +} + int board_init(void) { /* Address of boot parameters */ diff --git a/configs/udoo_neo_defconfig b/configs/udoo_neo_defconfig index f88820c..5df4ef9 100644 --- a/configs/udoo_neo_defconfig +++ b/configs/udoo_neo_defconfig @@ -19,7 +19,7 @@ CONFIG_CMD_BOOTZ=y CONFIG_CMD_MMC=y CONFIG_CMD_GPIO=y # CONFIG_CMD_SETEXPR is not set -# CONFIG_CMD_DHCP=y +CONFIG_CMD_DHCP=y CONFIG_CMD_CACHE=y CONFIG_CMD_TIME=y CONFIG_CMD_EXT2=y diff --git a/include/configs/udoo_neo.h b/include/configs/udoo_neo.h index 0c59068..aec39db 100644 --- a/include/configs/udoo_neo.h +++ b/include/configs/udoo_neo.h @@ -58,7 +58,8 @@ BOOTENV #define BOOT_TARGET_DEVICES(func) \ - func(MMC, mmc, 0) + func(MMC, mmc, 0) \ + func(DHCP, dhcp, na) #define CONFIG_BOOTCOMMAND \ "run findfdt; " \ @@ -103,4 +104,18 @@ #define CONFIG_POWER_PFUZE3000_I2C_ADDR 0x08 #define PFUZE3000_I2C_BUS 0 +/* Network */ +#define CONFIG_FEC_MXC +#define CONFIG_MII + +#define CONFIG_FEC_ENET_DEV 0 +#define IMX_FEC_BASE ENET_BASE_ADDR +#define CONFIG_FEC_MXC_PHYADDR 0x0 + +#define CONFIG_FEC_XCV_TYPE RMII +#define CONFIG_ETHPRIME "FEC0" + +#define CONFIG_PHYLIB +#define CONFIG_PHY_MICREL + #endif /* __CONFIG_H */