From patchwork Tue Oct 25 07:46:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Priyanka Jain X-Patchwork-Id: 686365 X-Patchwork-Delegate: yorksun@freescale.com 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 3t34x84GlJz9tkk for ; Tue, 25 Oct 2016 18:47:08 +1100 (AEDT) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 14259A754E; Tue, 25 Oct 2016 09:47:06 +0200 (CEST) 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 bEWzrFj2YeOH; Tue, 25 Oct 2016 09:47:05 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 58152A7537; Tue, 25 Oct 2016 09:47:05 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id 20935A7537 for ; Tue, 25 Oct 2016 09:47:01 +0200 (CEST) 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 6cVbKbbjSjOJ for ; Tue, 25 Oct 2016 09:47:00 +0200 (CEST) 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 NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0052.outbound.protection.outlook.com [104.47.42.52]) by theia.denx.de (Postfix) with ESMTPS id 4A690A7534 for ; Tue, 25 Oct 2016 09:46:55 +0200 (CEST) Received: from BY2PR03CA054.namprd03.prod.outlook.com (10.141.249.27) by CY1PR0301MB1628.namprd03.prod.outlook.com (10.162.166.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12; Tue, 25 Oct 2016 07:46:53 +0000 Received: from BN1AFFO11OLC001.protection.gbl (2a01:111:f400:7c10::192) by BY2PR03CA054.outlook.office365.com (2a01:111:e400:2c5d::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.679.12 via Frontend Transport; Tue, 25 Oct 2016 07:46:52 +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 BN1AFFO11OLC001.mail.protection.outlook.com (10.58.53.72) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.679.5 via Frontend Transport; Tue, 25 Oct 2016 07:46:52 +0000 Received: from b32167-VirtualBox.am.freescale.net ([10.214.249.215]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u9P7klwd015890; Tue, 25 Oct 2016 00:46:49 -0700 From: Priyanka Jain To: , Date: Tue, 25 Oct 2016 13:16:47 +0530 Message-ID: <1477381607-7502-1-git-send-email-priyanka.jain@nxp.com> X-Mailer: git-send-email 1.7.4.1 X-EOPAttributedMessage: 0 X-Matching-Connectors: 131218552122977519; (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)(199003)(189002)(77096005)(11100500001)(189998001)(50986999)(47776003)(106466001)(229853001)(626004)(97736004)(105606002)(586003)(48376002)(33646002)(86362001)(50466002)(50226002)(85426001)(87936001)(19580405001)(8936002)(36756003)(68736007)(5003940100001)(356003)(5660300001)(81166006)(5001770100001)(8666005)(92566002)(104016004)(4720700003)(4326007)(7846002)(19580395003)(6636002)(81156014)(305945005)(2906002)(8676002)(7059030); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB1628; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BN1AFFO11OLC001; 1:sYT51emE89aIibgBIDdd2TK3Uega9zuicjcWsdcC9KNoMLlg9O3gWVXUX4fVrFt250zcZiKTgIW3Lm4g+ByZbO0LNZ8ejfAhihtduEKZN40MzzVg4ACz51ndoZygTQdfH3NPXY+Ajm/zGmiDqCAmOeJ7x9qOYvcC89sJvEcN9CCfUlVS8VWX0BWMEeP37JA4bEw4JEJcX97x2JWKB7ybyIUQ365/2atybyyiiL1tsNkoy3V9QQL8P4vqtDqhLDYflIovKjKcEHRgnFoABZMkXH+fw/eTbWp+Xg1fmoqaGZ3qp02yZ/DnMZJK7yh8K+SWGf9Sux4CmOYWcnizwilKdETRSFAEDkQHkQsYOmt4DkPyQFyvqrAy0d5OVMqi1KvbsMpdZBPEUygou4S8X8am8mQCzKdJKsZd95KMafe9z3lG44qOwg0dCP2VpX+f5LHQARIJH3PzISePJ8dFBh/a36D86PPBCJPOhOZVV75K8Lis5rqhwOr42aRtGt5f0xF7KuQNZsnH4nfZNrqkbcAu19rp6MUj4/jWT6ITe2AhIf9j3wIW9P1Q0vXOr1xSMxEj/TDMxh9GcK7kxYkMlPzlot85pGe/xKL1hYJ7lUbICnULyn7KGA7xyaR7UVZBYfcV/qvNOX9v6AyeQSVY+teRRjmzxVL4BE1p19i3fRC2aKvUCP5sCyhhLYzYSdUHj3IBARp9yg5yyzu2ZSJePv/vMUIUsJGrmH9ukE6PA/BbpjDgIxCX68FabMo9lo9TzRPl8G6ed/8X67GfYcCgP9vPOA== MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: 36cd66c5-bb84-4352-2cef-08d3fcab15b2 X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1628; 2:+jRMrqKI+sv/YzVjY8qUtrJ46x4mrYHxHoz4BrRDuE6OEyYbqR5LALrL/wZ9CIJLtHKpviEyCq8jaRnlmnAvReWC5m9TYGyXWxSfg1q6TggqrVpb+QSDWX7IbB7gV+AQanOud6SD+fl5Ws23iWaIfn8dIH1zOxomKcUsPt9UnWRrF92UX5IfA6Xr9hgcAcJDTWXLrbUQIg8xGJe1fj4Hgg==; 3:i9KogLa92aEhOq2GVYbeVef8Gf6SLORuA7SIMG3L+MgcvvV3AMpGZLfEVu9nzml1lAcH6eV+QNDMPfjZ2oR+91P5L2HI8Mf2kM+GaPpLbY5//ITtdKS+F/7iKhdqSC3Bn3u55asTsmI3MD41nevJSA8h7ZZ/T3qc24K+0OrQDTF+A4+gD4OIj2zqdefRsHH001BvYzEzsngB8EgZyuz/DcK87sJxLJyObk0luBpdfpmFWmRVNN7MBUJ4hNAL7FPH X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR0301MB1628; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1628; 25:lov0NsC+C15oiVDRY17G+6H57uEMx1KIjwfFcDS8acVv/unjhOQs6UDXup3o1pPvohJysRYQtOpBCtLa3yWSkyvDJ3ESqU0zN940NcK6hvP3ACeTaETnoXDtYnaWsWA9acBjFqWb8Q8Hl+dTkTA7/L29c5KEY8cyDPBSQOJCPxWx94kS2WCPA4HK4JD34GkzdDJm705SO9uY439BHU8SOLM4F/I50W+WbFpwMdGrco+0Z3vDatcETsGbYsGeO62lwu7dA71kEj915595iknc8ZfgLgSuQ6L6QPyHROKRgZHm/JLX57kTzsXv2Enhiuh33sm79VX8hpahbJnqTE7RpjsG2che9brUrHyfYMaWw/ZmzJPmbexrVDWtD7CaJH6UZaGMpRFOFmw5vuXd3iePhBQLwty8a++KjTH1Td5HjJZSw+iNNPdWgboCE5JBO9kOhaelYiSBtrip43LBtINSuooV6iD2AhSLjSSXx196KWvZ3c1YqH0VGpiugG6dCnMDwDdmmu4DWtqZmyrAtmu+Xc7hW1mQ6nMmiKSigtN0ab3g/MlxcYJZ0gsoMvwPZ6Su6N5kkm9Lyx14n/X62zv+FU3J+aQ/gdAt2rbMxmeOKvWNvGRZmv0M421DNMYfim9zCxsP6LPayryz3hTuNIO2UjZtxv6CYAdw8mAG9Q4SDyLGpU6sncOBpHss0b4iggfMVl3wtnJ7wtbnoOL6aUyZsQHzL7xtlazLkHBbUFqvEy8kFn880asAPkSI/jXtSTvz/1gLsdxtdkVEIHWRt5Mbyg== X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1628; 31:SnMWbTgd99cFqnPgDMxYLoKIRJ461fnOcz13SV44yuS6Zj0jX1vwKuIF7gKve5ia3peAzpMHrhqoV7dilkAaoMul/iuXu/ljlN5xQBUEsAIw66fWAebmkG1g9GbVfwDgkPoLouOxJQUN+6MnvLAPd5GMjQhBfi2Jj+onhPPizVd/K9vVRRdbOWD4BMyfaEh6zuwQv5W6kEy6RWHx1h4vleXTOzQce7ASKhW2O44ClmLABQ4l8hNZrM4FKGvxmJrjSzoKHQZd8a61TppAONXyMw==; 4:bYx6RMl/oq31e0iHH7hOfumK0W9HCqlVjfPdoOSciRu2FjFFHEdOEu0s69DsIiksRBKbtrNHdj/H+VTBYCKNSGlByjc4k7dTKYJwNQdG6Dw4wwGkmmoeJlcYjuEXpWMmdrsP+80KHqtBOtDPahdQSdyQkCIv9zoFoXxE0dqFGYzddLQ/dxMZ3oOgEaEdjBNht5A7PhmCBYZT4Rzc4WMK33Jzv9wXrdHw0Zxolu5qTusoyme0qVZwlSHyFggtSRip6ao+iMFwEXW943QZZ2vycdN7YYumyt22EwPY2s+bLh0vbiZmNRq1ZYCopvz4dsnmMjCoZ+xUsgPHIeObS/n6GI5+1rlsLbS65sjlRPIzoKWyzf0yA64dhCLuvbNO4sbmjsif5JvvdXVLNtmt/VJM2DBU4qxA93ri2Kb6iphvWR5VqNU+1EAu4GtF5PCEvd7+t9RalJUxs5+oWD0nE7cnDS1GZhcMbyKvkThIKuRE7h3qW/ZpC5Lf7xkIy5MW6+RQKNSI1Dtjs1vuM8pNIv95g71sHqLOI6Uprz+S/y/wGiZVc4+Z1dvAxiUMHRJmrZtS X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(185117386973197); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(13018025)(13023025)(13015025)(5005006)(8121501046)(13017025)(13024025)(10201501046)(3002001)(6055026); SRVR:CY1PR0301MB1628; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR0301MB1628; X-Forefront-PRVS: 01068D0A20 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY1PR0301MB1628; 23:oYWdY2XW4ru1hfuda8p0KuDfTzt5XrwTcD8ganm?= =?us-ascii?Q?zNMJSGSkHd/jCi360Z2cJ0PG40pVU3QZgdCV6GHdu4wFKP5dKGI3EQop8mAE?= =?us-ascii?Q?NfdCS8OSZLDpf3kmnRJfDfwEe1D5IxCrjJZPOTaQ157gktwwJpPqOkb8cPkC?= =?us-ascii?Q?vLQFOaqiazNneaGCUTxS4RBV4nEV1ulaUvJBQUViGr4YyQQkia7Y8EzJ9rCS?= =?us-ascii?Q?pck5/uorb0tweU222/zNGNpvGUCDNEBpDEXCuVyir6R4ZG4NnImI1ul86UHs?= =?us-ascii?Q?2L+VtHoAqb7swiudB07JQaLGC3f2DGvTg4jFFLJJmojR3895pTQTmzXeTOep?= =?us-ascii?Q?0LIUh5bfuCoSyJNCrrkJa+25iUewbBp0ZxvZtR0DNV9VOxLsQgXmMAabfoQu?= =?us-ascii?Q?sooIg5Ex4F2IQM3YS3usUIxLbbxDGZUqHDcGx3atKAPOBeNXrNOq46C9Nu8I?= =?us-ascii?Q?dZR6h36db/agMX4d9DhO6KA/6M1nnjFJ36MNJcL8lZut+EGsRF5rA4hptp1x?= =?us-ascii?Q?CJ/KYc/QTzqmDkpLx/QKV8ZdMKfPATRaJr/88H6FXrBCC5stypg+VBrpx1qZ?= =?us-ascii?Q?TnIvlMIK5pbpDDPTTKASmO8oTDDZJ3gn+inWAEM1kEjRcTxytNylWLaoQyd/?= =?us-ascii?Q?dYJRWEK2arp3y+nORLji0stGKHfdNZ6c9jP/pcxW2+ryS8B5P1BYz6+O9JqN?= =?us-ascii?Q?BvVN1p/7nC1ogKtNvu3S+4mIUiis2SQpdb3QKReFz7+uMGD/zX9ZImkTIeLA?= =?us-ascii?Q?Rh7cEbKBhETUGiS1m2eIFObhRlqLaeKLkFZoDIQswBXBTCvdYH5KdI6kjIc2?= =?us-ascii?Q?7MdGAfmKpuIpdKgJDc7RPTBfQkT6ZF2sOc0zuNwnGJcvCAANNmTTYgWv/jY7?= =?us-ascii?Q?y8yepDJNg72sEwSfyWFK4B30OSbbgrKaweBb4ietaI2jiQK4M9OM5sQGRHZz?= =?us-ascii?Q?EEc7VJZHV0tkoEPbNnl9gi7MiK8c5orGdZYbloVTOR2HL+Hl9ZvqVjt8qYGz?= =?us-ascii?Q?cGRfKux/Lt/qKEJwhkAo8mqTjk+Eo5MFWpLPdmvJlesgkonCmb7G6xijgRHt?= =?us-ascii?Q?ZTUpcpDaZomaQSB2BoK2xkl1OGIerN3ofEo/93SzDqqBQx8YYRmeCva+Dle6?= =?us-ascii?Q?/lHw+UbMox0FTWznqJwYn+dvt4LuX+5I3uiTYTQ6R+gwiwSLJvGbXjg=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1628; 6:BZnk4VNiyfoMTG8Dy3+DCpGDO/ZxDdJj5UKHgDSyJ10MYDZ01SrxglsdXLnXXiqVqgxYOdFaAyMAJpRlXnM4FxuRRQ8tyZm7aLdnDWbZNGfGdbtLVgXRcbps+iuXH1KklU38U9HkT44EktVFg10jaaXJrz5DXXZ9D9ZuUYxV/6pkgcAuiynF39lA5qK0YZ1+GTmb1ONwQ7U+oPkBQFP5p+4unYhme/p9aEVojVAu6cVUyhgsod9CiFPn5d+C32f1FKeFjhC6gOvGCP9mndPgApbTBMVWX0BIFuotdV4wkcHPR6k2Kj5tsqrQUJwJDF0u; 5:EbOJbg1uCUN4dcQ3BmaEVkwnLV0BKjuEPwl7DyWjyZWTDXRz9GZxakLlwBbJyQbu1ypoJE4Ezrq0sK+1PA7juWrCHkQ511b4qVeRBwgM38vzCHqG6NShl0/B1MezrGSZOLEnBw7NbE9hLiy6/1aGEhMmJsQe23AxuA3bO3K9Ls+mn18Wr9QTqCja+pICf1Q9; 24:PNoy7GB6g30t+qXhRT3M42Tqypga9011EhxkCiLIRygRUhcvzImNcqsFa/Zr0lQoIxv0XBuwohK5ftreOF0u00NgEqJyoDq4MaqWDz+4hOg= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB1628; 7:XhVf+LijJju/lzh8yO4WRQ+ENdTTQ86TE3RpKaJ8/2wNcPcObauYjn5wiV9LmEdwNcQB9PzXwwXA4FhAbORdmlwwukNKevJb+UqzFR3hr6mUh2SPR78nKrCa3YF+DVQwFfl43EyPiF12+RhhlQ2OdRZdRjEQRheWKkfgMfUkrPlYT+ihggWd7qfjy8Fn096g01WfKaIjEXirkh3gtH6z5Eb+UAVhUT6JF8uXo/7xI39RZOfqVXCKh9FIFOhmLIdrtM4jl5Hl3n/mJno7eFS4jSFqFlgpaFKw5pXiYL8SxuKp8fevtllpDGPHEdt/+UozFKihk6S4DJLwjZ+7xuJPDcO4bgYbdN4ISBpkHmPdveU= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2016 07:46:52.1105 (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: CY1PR0301MB1628 Cc: Priyanka Jain Subject: [U-Boot] [PATCH] armv8: ls2080a: Update serdes protocol 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" Add serdes protocol support for Serdes1 protocol: 0x39, 0x4B, 0x4C, 0x4D Serdes2 protocol: 0x47, 0x57 Signed-off-by: Priyanka Jain --- arch/arm/cpu/armv8/fsl-layerscape/ls2080a_serdes.c | 6 + board/freescale/ls2080aqds/eth.c | 122 +++++++++++++++++++- 2 files changed, 125 insertions(+), 3 deletions(-) diff --git a/arch/arm/cpu/armv8/fsl-layerscape/ls2080a_serdes.c b/arch/arm/cpu/armv8/fsl-layerscape/ls2080a_serdes.c index eaa44a7..67d605e 100644 --- a/arch/arm/cpu/armv8/fsl-layerscape/ls2080a_serdes.c +++ b/arch/arm/cpu/armv8/fsl-layerscape/ls2080a_serdes.c @@ -34,6 +34,11 @@ static struct serdes_config serdes1_cfg_tbl[] = { {0x33, {PCIE2, PCIE2, PCIE2, PCIE2, QSGMII_D, QSGMII_C, QSGMII_B, QSGMII_A} }, {0x35, {QSGMII_D, QSGMII_C, QSGMII_B, PCIE2, XFI4, XFI3, XFI2, XFI1 } }, + {0x39, {SGMII8, SGMII7, SGMII6, PCIE2, SGMII4, SGMII3, SGMII2, + PCIE1 } }, + {0x4B, {PCIE2, PCIE2, PCIE2, PCIE2, XFI4, XFI3, XFI2, XFI1 } }, + {0x4C, {XFI8, XFI7, XFI6, XFI5, PCIE1, PCIE1, PCIE1, PCIE1 } }, + {0x4D, {SGMII8, SGMII7, PCIE2, PCIE2, SGMII4, SGMII3, PCIE1, PCIE1 } }, {} }; static struct serdes_config serdes2_cfg_tbl[] = { @@ -64,6 +69,7 @@ static struct serdes_config serdes2_cfg_tbl[] = { SATA2 } }, {0x4A, {SGMII9, SGMII10, SGMII11, SGMII12, PCIE4, PCIE4, SATA1, SATA2 } }, + {0x57, {PCIE3, PCIE3, PCIE3, PCIE3, PCIE4, PCIE4, SGMII15, SGMII16 } }, {} }; diff --git a/board/freescale/ls2080aqds/eth.c b/board/freescale/ls2080aqds/eth.c index 95ff68b..8618506 100644 --- a/board/freescale/ls2080aqds/eth.c +++ b/board/freescale/ls2080aqds/eth.c @@ -64,7 +64,7 @@ static int sgmii_riser_phy_addr[] = { }; /* Slot2 does not have EMI connections */ -#define EMI_NONE 0xFFFFFFFF +#define EMI_NONE 0xFF #define EMI1_SLOT1 0 #define EMI1_SLOT2 1 #define EMI1_SLOT3 2 @@ -470,7 +470,49 @@ static void initialize_dpmac_to_slot(void) } break; + case 0x39: + printf("qds: WRIOP: Supported SerDes1 Protocol 0x%02x\n", + serdes1_prtcl); + if (hwconfig_f("xqsgmii", env_hwconfig)) { + lane_to_slot_fsm1[0] = EMI1_SLOT3; + lane_to_slot_fsm1[1] = EMI1_SLOT3; + lane_to_slot_fsm1[2] = EMI1_SLOT3; + lane_to_slot_fsm1[3] = EMI_NONE; + } else { + lane_to_slot_fsm1[0] = EMI_NONE; + lane_to_slot_fsm1[1] = EMI_NONE; + lane_to_slot_fsm1[2] = EMI_NONE; + lane_to_slot_fsm1[3] = EMI_NONE; + } + lane_to_slot_fsm1[4] = EMI1_SLOT3; + lane_to_slot_fsm1[5] = EMI1_SLOT3; + lane_to_slot_fsm1[6] = EMI1_SLOT3; + lane_to_slot_fsm1[7] = EMI_NONE; + break; + + case 0x4D: + printf("qds: WRIOP: Supported SerDes1 Protocol 0x%02x\n", + serdes1_prtcl); + if (hwconfig_f("xqsgmii", env_hwconfig)) { + lane_to_slot_fsm1[0] = EMI1_SLOT3; + lane_to_slot_fsm1[1] = EMI1_SLOT3; + lane_to_slot_fsm1[2] = EMI_NONE; + lane_to_slot_fsm1[3] = EMI_NONE; + } else { + lane_to_slot_fsm1[0] = EMI_NONE; + lane_to_slot_fsm1[1] = EMI_NONE; + lane_to_slot_fsm1[2] = EMI_NONE; + lane_to_slot_fsm1[3] = EMI_NONE; + } + lane_to_slot_fsm1[4] = EMI1_SLOT3; + lane_to_slot_fsm1[5] = EMI1_SLOT3; + lane_to_slot_fsm1[6] = EMI_NONE; + lane_to_slot_fsm1[7] = EMI_NONE; + break; + case 0x2A: + case 0x4B: + case 0x4C: printf("qds: WRIOP: Supported SerDes1 Protocol 0x%02x\n", serdes1_prtcl); break; @@ -505,6 +547,38 @@ static void initialize_dpmac_to_slot(void) lane_to_slot_fsm2[7] = EMI1_SLOT6; } break; + + case 0x47: + printf("qds: WRIOP: Supported SerDes2 Protocol 0x%02x\n", + serdes2_prtcl); + lane_to_slot_fsm2[0] = EMI_NONE; + lane_to_slot_fsm2[1] = EMI1_SLOT5; + lane_to_slot_fsm2[2] = EMI1_SLOT5; + lane_to_slot_fsm2[3] = EMI1_SLOT5; + + if (hwconfig_f("xqsgmii", env_hwconfig)) { + lane_to_slot_fsm2[4] = EMI_NONE; + lane_to_slot_fsm2[5] = EMI1_SLOT5; + lane_to_slot_fsm2[6] = EMI1_SLOT5; + lane_to_slot_fsm2[7] = EMI1_SLOT5; + } + break; + + case 0x57: + printf("qds: WRIOP: Supported SerDes2 Protocol 0x%02x\n", + serdes2_prtcl); + if (hwconfig_f("xqsgmii", env_hwconfig)) { + lane_to_slot_fsm2[0] = EMI_NONE; + lane_to_slot_fsm2[1] = EMI_NONE; + lane_to_slot_fsm2[2] = EMI_NONE; + lane_to_slot_fsm2[3] = EMI_NONE; + } + lane_to_slot_fsm2[4] = EMI_NONE; + lane_to_slot_fsm2[5] = EMI_NONE; + lane_to_slot_fsm2[6] = EMI1_SLOT5; + lane_to_slot_fsm2[7] = EMI1_SLOT5; + break; + default: printf(" %s qds: WRIOP: Unsupported SerDes2 Protocol 0x%02x\n", __func__ , serdes2_prtcl); @@ -537,8 +611,10 @@ void ls2080a_handle_phy_interface_sgmii(int dpmac_id) switch (serdes1_prtcl) { case 0x07: + case 0x39: + case 0x4D: + lane = serdes_get_first_lane(FSL_SRDS_1, SGMII1 + dpmac_id - 1); - lane = serdes_get_first_lane(FSL_SRDS_1, SGMII1 + dpmac_id); slot = lane_to_slot_fsm1[lane]; switch (++slot) { @@ -559,6 +635,26 @@ void ls2080a_handle_phy_interface_sgmii(int dpmac_id) wriop_set_mdio(dpmac_id, bus); break; case 3: + if (slot == EMI_NONE) + return; + if (serdes1_prtcl == 0x39) { + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 2]); + if (dpmac_id >= 6 && hwconfig_f("xqsgmii", + env_hwconfig)) + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 3]); + } else { + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 2]); + if (dpmac_id >= 7 && hwconfig_f("xqsgmii", + env_hwconfig)) + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 3]); + } + dpmac_info[dpmac_id].board_mux = EMI1_SLOT3; + bus = mii_dev_for_muxval(EMI1_SLOT3); + wriop_set_mdio(dpmac_id, bus); break; case 4: break; @@ -579,6 +675,8 @@ serdes2: case 0x07: case 0x08: case 0x49: + case 0x47: + case 0x57: lane = serdes_get_first_lane(FSL_SRDS_2, SGMII9 + (dpmac_id - 9)); slot = lane_to_slot_fsm2[lane]; @@ -597,7 +695,23 @@ serdes2: wriop_set_mdio(dpmac_id, bus); break; case 5: - break; + if (slot == EMI_NONE) + return; + if (serdes2_prtcl == 0x47) { + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 10]); + if (dpmac_id >= 14 && hwconfig_f("xqsgmii", + env_hwconfig)) + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 11]); + } else { + wriop_set_phy_address(dpmac_id, + riser_phy_addr[dpmac_id - 11]); + } + dpmac_info[dpmac_id].board_mux = EMI1_SLOT5; + bus = mii_dev_for_muxval(EMI1_SLOT5); + wriop_set_mdio(dpmac_id, bus); + break; case 6: /* Slot housing a SGMII riser card? */ wriop_set_phy_address(dpmac_id, @@ -691,6 +805,8 @@ void ls2080a_handle_phy_interface_xsgmii(int i) switch (serdes1_prtcl) { case 0x2A: + case 0x4B: + case 0x4C: /* * XFI does not need a PHY to work, but to avoid U-Boot use * default PHY address which is zero to a MAC when it found