From patchwork Tue Apr 5 09:11:21 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sriram Dash X-Patchwork-Id: 606354 X-Patchwork-Delegate: marek.vasut@gmail.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 3qfNQx1cclz9t0r for ; Tue, 5 Apr 2016 19:12:09 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id D11F0B3822; Tue, 5 Apr 2016 11:11:57 +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 yHcPLwdcD_Ab; Tue, 5 Apr 2016 11:11:57 +0200 (CEST) Received: from theia.denx.de (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id AD67DB3823; Tue, 5 Apr 2016 11:11:48 +0200 (CEST) Received: from localhost (localhost [127.0.0.1]) by theia.denx.de (Postfix) with ESMTP id BE682A74A8 for ; Tue, 5 Apr 2016 11:11:37 +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 4VHLTDUBcHhE for ; Tue, 5 Apr 2016 11:11:37 +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 na01-bl2-obe.outbound.protection.outlook.com (mail-bl2on0095.outbound.protection.outlook.com [65.55.169.95]) by theia.denx.de (Postfix) with ESMTPS id 11E88B37E0 for ; Tue, 5 Apr 2016 11:11:33 +0200 (CEST) Received: from CH1PR03CA004.namprd03.prod.outlook.com (10.255.156.149) by DM2PR0301MB0718.namprd03.prod.outlook.com (10.160.97.139) with Microsoft SMTP Server (TLS) id 15.1.447.15; Tue, 5 Apr 2016 09:11:31 +0000 Received: from BL2FFO11OLC010.protection.gbl (10.255.156.132) by CH1PR03CA004.outlook.office365.com (10.255.156.149) with Microsoft SMTP Server (TLS) id 15.1.447.15 via Frontend Transport; Tue, 5 Apr 2016 09:11:31 +0000 Authentication-Results: spf=none (sender IP is 192.88.168.50) smtp.mailfrom=lvd5587.freescale.com; nxp.com; dkim=none (message not signed) header.d=none;nxp.com; dmarc=none action=none header.from=nxp.com; Received-SPF: None (protection.outlook.com: lvd5587.freescale.com does not designate permitted sender hosts) Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11OLC010.mail.protection.outlook.com (10.173.160.154) with Microsoft SMTP Server (TLS) id 15.1.453.6 via Frontend Transport; Tue, 5 Apr 2016 09:11:30 +0000 Received: from lvd5587.freescale.com (lvd5587.ap.freescale.net [10.232.34.77]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u359BSdJ011649; Tue, 5 Apr 2016 02:11:29 -0700 Received: by lvd5587.freescale.com (Postfix, from userid 65022120) id 9A7C068085; Tue, 5 Apr 2016 14:41:28 +0530 (IST) From: Sriram Dash To: Date: Tue, 5 Apr 2016 14:41:21 +0530 Message-ID: <1459847482-19367-4-git-send-email-sriram.dash@nxp.com> X-Mailer: git-send-email 1.7.7.4 In-Reply-To: <1459847482-19367-1-git-send-email-sriram.dash@nxp.com> References: <1459847482-19367-1-git-send-email-sriram.dash@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131043210908803481; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6039001)(6009001)(2980300002)(428002)(189002)(199003)(1220700001)(6806005)(1096002)(4326007)(76176999)(90966002)(50986999)(5008740100001)(87936001)(52956003)(586003)(2950100001)(50466002)(48376002)(189998001)(110136002)(47776003)(101416001)(230783001)(86372001)(2351001)(105586002)(229853001)(42186005)(106466001)(103686003)(36756003)(81166005)(5003940100001)(11100500001)(46386002)(33646002)(92566002)(50226001)(2906002)(19580405001)(19580395003)(16796002)(45336002)(7059030)(42882005)(4720700001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0718; H:tx30smr01.am.freescale.net; FPR:; SPF:None; MLV:sfv; MX:1; A:0; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC010; 1:pCL7dNMClLPvocD8N62/ZgKYgMzISx9ow93AipiaUv2YjlQ02HxLIW74rYYS6Vq6Qh2NkHOiq9D9Vh0/61erUP9ZqhCXitS/vUn+NuLMpmwHQ4y1EghO2vsZfzAuGhnsht+OjwnB4S9NcO6cJYnf0my8eB3lMrt/ZNLzgqOD92mEdV0J8XZbcWH9AfpzJ+St5Y655VZcthOfDwYhDSJhJz2wspUEpJhcOCQ47WoFhJGNThrB+x5WKVwtJpgDykkcRGyZACDV1LrE+8JT61qg09Tt1GJJTGfwrVDTOTznL7+IvhxjQ4Kus4xRgcTqzVsmZyJqFcBkz8kQZh5uZzuI02cgWr2Dhb8Swzfy0aOAP6Lss8xs5f+yEgQVM0B9S5Txc3WQ+14j2jj1JMyan51mmx27lkm1edQaInZAeuzkmsKofMUmuwjE5D/EKmdJ1TZiAE+/PPJlHbnok2x5QDfIM4Pk8anPrhndjxOIralxfixcZn4R0OSzYqrpQtkn5zZe8WQlTG/YFiODUuvxF+dQ1VG9kW7fEJjoHGd7TBeQHF/OFqmoqH2fTQ703WMyBiJiiumpbsOTPO/+94WU7gy8mfeBHoyTwQB9LWkPT84DfJUwH5IXZDt4Bp7nrHk+/wrAStyQaAknSyE0mX1MtJscaWguXN00DkiA//Hz80y+2pBvhnMHOIFUTc6VJ5JXCy4A MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: cac7b666-07b7-4ac3-c03c-08d35d3246e6 X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0718; 2:lw0X6RWnQqU4IZpL01Y1/A9z+LkvSTswXHCX0USZ4W5RN6h+n9dYkGvTLPdROUBzQFhQqErZbXNH1uthRQHw9i8mUjvoB49t0xKH9snuiu9Yt2e8nDEx5nEveLHVbex3qAR4gr1RpJG/ctFVy6TTWjHLAUH/RSbFu4D5N2t24o4AqFRa7dZJk/tMa/vIv+Kf; 3:bz14Ok0M8t+TKYGHFZH9vBF2z7hq0IrnHA3kUk6lQbJUcoEeiYtiCh1cIAOUh2VoWFz56omxCTxiQAI6K38bFboNZCZq5n5e2UqThl7BkDnjlRQedvmpG4MLWJeiC3fB3JJNQaaYgX2Z4BAw2FcTy7XU6Y+MFzh17xZWPMq9hKmg34iD2HWSR15i94TZXseBzEeoQg7J5smSGyxhQHcIyfgl46oqB7FOrPwHsDW/2qc=; 25:7KJjrA3RmEsK/48lEssAT7XPVu9maS3NJUXoMFKnKmawRJLG2vifVcIJ+sdHQzkUTCAN1dft2K2qFY3gE3Bg0rgBcPfjX2+vfYJIh3vgTQxUfp5LlaORF9Va2M2zxuNnPd8fs/ZIaK3tXav1N7x/dlssldYh9P1YDwShxORqOkMqveEh2GYyKt4rAjY18Dku+RyXpNsgxDujUOi3fstumDDu4tvPnHB0n5E9A4x8RXR4rFUEXR301sJc3on/eBbEH+nmJtdKFY1EWLugEjAIg6XDlZeaUP/M9Ft/rio36WX8vuM8JAeW2b3rlvpIsm3AXEHCPv13BDNoB7VLojZToVC7OOsRatpEzDL2QPL/+3Y= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:DM2PR0301MB0718; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(601004)(2401047)(13023025)(13017025)(13024025)(5005006)(13015025)(8121501046)(13018025)(10201501046)(3002001); SRVR:DM2PR0301MB0718; BCL:0; PCL:0; RULEID:(400006); SRVR:DM2PR0301MB0718; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0718; 4:DJS5AmaQb6tJ9U8Lz5j9tCbE4x5Te2ibY5vLbxxZSn+OAJbwrPlxKbbhGVSXGKgMBDQTIbOf69vDVVcAdfUtqj+/0Xo3+yd8xVeBJuqdG4dtog3tF5EwOZmIOKpWip+4N49HM2U7tQQmk5H4InOzluoeWOUD+lkl4nJViV4KR8cf9qpNmXzJ2HjIAkqnk6C0xfHzk/Xy+nnuY7NKXcuePv9MD5rQt/Rwt7Ij6XfWCBmth0+8PeGmgAZG1q5fV6hGKldcc1SwnCjfc35vPNLXzmNHNgEGyfHeGq+RZcSYzJ0Q+8xwhoodCfakNiMeyt8LVqliSz2SNuUxaHQODsVs4rO2jKYNMsdrJLtNT93e9w6obIHYGB+J0keuyCDxucQ4RK1UmNmgl2ZTdZI78dwRv7QWm0proE1xmj2pHpZQ/vhS+nVWpg7cGjMlyC0hCjRtZJICTalvGJujfysvcuKoDw== X-Forefront-PRVS: 0903DD1D85 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DM2PR0301MB0718; 23:vSU2semICMaGXHhwIzrlNdd6fxqEc00QL8GKsys?= =?us-ascii?Q?BXdXZpiPyNLTddMgKDAV0eL1TYnMzyqeYs6c70x7iRJffTCsurZiyZTDNbuY?= =?us-ascii?Q?ohylxoNHvhuc48yT29cAkdx4HGTTxGir5lhLnp6LPqvE2iMd3LJnhpkwfGAX?= =?us-ascii?Q?8V4iyUXzZR1jUfxxMSfMp9cWO765bRs28bTCigYR314k+Y7c3z4B5dkiz8rO?= =?us-ascii?Q?fYIdCwsRcQ5IMuiNO834i9aTcJSAXony7aJUa/I7QSj0Pp4FsEyqUI+eVqqE?= =?us-ascii?Q?5wk/PUP0TnQtzwfAF6r0RyvABCj57HYrLvrOmobr5i5q9EO8N8Co1rLoPlOY?= =?us-ascii?Q?DKk46mKjOjC7DVr/4VzqzVJ1znyMuDuhkpeNpaEEcI0AwWjRWkCo2Fx5D2/a?= =?us-ascii?Q?KwmZSplxBBCKVB1QoSdQH08r0KRb3MsxuvmCx0/fNS0DmqGZLGwSEmPptTXh?= =?us-ascii?Q?nwxu16ew9KQIHGxn8XCkjNfK+ui6w43QCFcKCbfNn7zwb1dXz1TxHDVhqce+?= =?us-ascii?Q?eKFeYmFob/aUa9B24WixqvJiatTzRCIN0Yo2E5lsXpiKgUi0UyiBmsEnrJMf?= =?us-ascii?Q?h7NBlw5MmMBpX88jojmyhZ55iM85LMtALRl/YX49CHB5V5DJ0tzW7NHDbPpA?= =?us-ascii?Q?lF7k6xNeOr4c9FC0zaCGn/EFGMrKhjKaglwrezoNndCDmlLnZBd+fLpd4t3i?= =?us-ascii?Q?kBdWUFkJX50Oh4Mbp+xGeEw4proHZHwXcV3zF/rHOkQgnCbNV1kec5/4ku1m?= =?us-ascii?Q?fa2yaZj1vN6nZ0CMn+1p0J2N28NNII6CKiCZ/avqy/tEyIh1gLs+rmaDlvHQ?= =?us-ascii?Q?blgrxv5+21opdZMJ7+72RMZf7IWQ1AD6+r8RVvE4XYUz1KvnTXbTi3uoli+2?= =?us-ascii?Q?yQzk4AJbrswKNuw1VQfDY33889T9EB7iHJ5PYOrjIi+hvrB+PJ8BuEItdFgk?= =?us-ascii?Q?ey/3SasN+fz73NxJsr224DeonK0zNLskYU8ZgWW0V6xpItsNC+2h+k6tzG8H?= =?us-ascii?Q?JslZAFTHnv/y1Bd1o2MDr8G5KN08YkA7z2K1AhNDmVA4EfGpzu0MHx7ziexo?= =?us-ascii?Q?sSjtuha6aU5A38cvzi+DYmnekaQqIItSFeFUcnFbyCApkzwRWi7URYc+KSo+?= =?us-ascii?Q?iLiIct9YFj2As4q9gSnj5dAMkt9ofHtEKPXLd8HEZG8XhHumOF1x/UFEgUky?= =?us-ascii?Q?sZARG9oufhYk00SuVUCWS+BZV9ZCUNSZFYkiT?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0718; 5:q4tcCP67ltvcqeQEfJnebn2KOpNNQqCbI6sRcbY0GHYjhAo0iyKRZAyih7ZWEmndyNjRZGsZLYDmxKEi1tSrToNO0DwxSNecvYvvqDVu1C/ox4YmTaQetrkCnX818jHYzzmiG8guOPHZG5Ygpl0i3XD0jLv2fyGMbfqSb8B0b6Q=; 24:TDnFn9NKJyuQJcq/PiNy+sTZprpYZ/cBe1XpGgDLjroRo29okTc7L4SxtprcGfgtUm4gkEpdZmu0ljlvAfsABuhCbSIsHEBAIxwiDt5Ryrw= SpamDiagnosticOutput: 1:23 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Apr 2016 09:11:30.6931 (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: DM2PR0301MB0718 Cc: marex@denx.de, Sriram Dash , rajesh.bhagat@nxp.com Subject: [U-Boot] [PATCH v6 3/4] drivers:usb:common:fsl-dt-fixup: Add device-tree fixup support for xhci controller 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" Enables usb device-tree fixup code to incorporate xhci controller Signed-off-by: Ramneek Mehresh Signed-off-by: Sriram Dash --- Changes in v6: - static const char * const array Changes in v5: - Make the array static const Changes in v4: - Use a terminating entry in the array for getting node type for controller Changes in v3: - Modify the Makefile to remove comparison - Put the supported controllers in array and checking from array Changes in v2: - Remove the #defines from the patch and adding controller support drivers/usb/common/Makefile | 1 + drivers/usb/common/fsl-dt-fixup.c | 32 ++++++++++++++++---------------- include/fdt_support.h | 4 ++-- 3 files changed, 19 insertions(+), 18 deletions(-) diff --git a/drivers/usb/common/Makefile b/drivers/usb/common/Makefile index a38ee4a..2f3d43d 100644 --- a/drivers/usb/common/Makefile +++ b/drivers/usb/common/Makefile @@ -4,3 +4,4 @@ # obj-$(CONFIG_USB_EHCI_FSL) += fsl-dt-fixup.o +obj-$(CONFIG_USB_XHCI_FSL) += fsl-dt-fixup.o diff --git a/drivers/usb/common/fsl-dt-fixup.c b/drivers/usb/common/fsl-dt-fixup.c index eb13f12..46488dc 100644 --- a/drivers/usb/common/fsl-dt-fixup.c +++ b/drivers/usb/common/fsl-dt-fixup.c @@ -19,27 +19,27 @@ #define CONFIG_USB_MAX_CONTROLLER_COUNT 1 #endif +static const char * const compat_usb_fsl[] = { + "fsl-usb2-mph", + "fsl-usb2-dr", + "snps,dwc3", + NULL +}; + static const char *fdt_usb_get_node_type(void *blob, int start_offset, int *node_offset) { - const char *compat_dr = "fsl-usb2-dr"; - const char *compat_mph = "fsl-usb2-mph"; const char *node_type = NULL; - - *node_offset = fdt_node_offset_by_compatible(blob, start_offset, - compat_mph); - if (*node_offset < 0) { - *node_offset = fdt_node_offset_by_compatible(blob, - start_offset, - compat_dr); - if (*node_offset < 0) { - printf("ERROR: could not find compatible node: %s\n", - fdt_strerror(*node_offset)); - } else { - node_type = compat_dr; + int i; + + for (i = 0; compat_usb_fsl[i]; i++) { + *node_offset = fdt_node_offset_by_compatible + (blob, start_offset, + compat_usb_fsl[i]); + if (*node_offset >= 0) { + node_type = compat_usb_fsl[i]; + break; } - } else { - node_type = compat_mph; } return node_type; diff --git a/include/fdt_support.h b/include/fdt_support.h index 296add0..d34e959 100644 --- a/include/fdt_support.h +++ b/include/fdt_support.h @@ -113,11 +113,11 @@ void fdt_fixup_qe_firmware(void *fdt); */ int fdt_fixup_display(void *blob, const char *path, const char *display); -#if defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) +#if defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL) void fdt_fixup_dr_usb(void *blob, bd_t *bd); #else static inline void fdt_fixup_dr_usb(void *blob, bd_t *bd) {} -#endif /* defined(CONFIG_HAS_FSL_DR_USB) || defined(CONFIG_HAS_FSL_MPH_USB) */ +#endif /* defined(CONFIG_USB_EHCI_FSL) || defined(CONFIG_USB_XHCI_FSL) */ #if defined(CONFIG_SYS_FSL_SEC_COMPAT) void fdt_fixup_crypto_node(void *blob, int sec_rev);