Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752619AbbGOMG2 (ORCPT ); Wed, 15 Jul 2015 08:06:28 -0400 Received: from mail-bn1bn0109.outbound.protection.outlook.com ([157.56.110.109]:49807 "EHLO na01-bn1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752501AbbGOMGW (ORCPT ); Wed, 15 Jul 2015 08:06:22 -0400 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=freescale.com; freescale.mail.onmicrosoft.com; dkim=none (message not signed) header.d=none; From: Ramneek Mehresh To: CC: , , , , Ramneek Mehresh , Shengzhou Liu Subject: [PATCH 2/8][v2]usb:fsl:otg: Add controller version based ULPI and UTMI phy Date: Wed, 15 Jul 2015 17:32:46 +0530 Message-ID: <1436961772-11482-3-git-send-email-ramneek.mehresh@freescale.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1436961772-11482-1-git-send-email-ramneek.mehresh@freescale.com> References: <1436961772-11482-1-git-send-email-ramneek.mehresh@freescale.com> X-EOPAttributedMessage: 0 X-Microsoft-Exchange-Diagnostics: 1;BY2FFO11OLC001;1:b4PVes10mG5uNGagGa8WYg053antSc5kuRkIk71I/VsHlgTcAo9QNoY5/xl9Q5djIKbQc2rd1jtyMpHqUOmzBDUgBE6rGHm/iZ693cn76DM9rOuSxxPHlHyKRVNudl9b2Mc920CeWc7QCvGbnCsB0zNSM10YwjgUTC20xJSTynVoWjGNrPY8Mxtt85oGK0VoCiwOfiDR8F80rd6N+Aqf3rRu6cEEcO4QnT0XgZO2rcsQyvcAnKrn03qFFL/TE8iyySk1ZyNPUZPDwCH79c4ybkaedffVJA3AeJy4yng0T+qu3Q+hQcTsuLWG7WRi15sd147ndLDeUWeQJY4LnDv34jlvrMhmcRiZyBxasg0W5JN6IH/DdBuc9rn3DWF20DOvuE/hcPwXf0dcU1bwG8mXzFIzTEGBaEqcq4sA1hxHgYTjfAHdu6yr07L536obOK7J X-Forefront-Antispam-Report: CIP:192.88.168.50;CTRY:US;IPV:NLI;EFV:NLI;SFV:NSPM;SFS:(10019020)(6009001)(2980300002)(339900001)(189002)(199003)(19580405001)(77096005)(76176999)(77156002)(33646002)(36756003)(47776003)(85426001)(229853001)(76506005)(104016003)(50226001)(105606002)(2351001)(50466002)(62966003)(92566002)(107886002)(50986999)(2950100001)(575784001)(19580395003)(5001960100002)(106466001)(5003940100001)(110136002)(87936001)(86362001)(189998001)(6806004)(46102003)(48376002)(4001430100001);DIR:OUT;SFP:1102;SCL:1;SRVR:SN1PR0301MB1584;H:tx30smr01.am.freescale.net;FPR:;SPF:Fail;MLV:sfv;MX:1;A:1;LANG:en; MIME-Version: 1.0 Content-Type: text/plain X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1584;2:BewJte8wm++bTwJ/pnKfKvx4fdkU/qGw7fDuh02c+iC/iXYUEZX7dBXBJu1cfF/k;3:02GKGzWamp/KniotoYW4MHikdWHTE/mZGOb9hlaxrMzGn20K59fEMiSogYCHTSDITUvlU8Wr+e2pxTYQJYNKHAqcyTAIdRd7V6O6dcx9l+aJqjjcj3S+t1HdM44kkkjseO6qsbkNLbNiregRUzgy+o00kxo1fSeqCqsh/t0PpjQab+ls5/cQf01WYcnAUZznCkx2lRnnxoifXTVVxZFu0MiXCZLEZZPh3j161sIcUzg=;25:knoVmT7iNSjBu1tAIMVSMBjoxJLVgLI4O7NolXEBz5LFZr/kk67JeUgSHIuM6VZ5UOgnrifpolFG+a2q/YKbdK1cBY77NdV3wmQTKhluyf3wKq6k1gG1LWrXv845yI4KOiO2g8KdP6XEdzqiPpStLHFyGkhCEG8b5cYpISknmbyxfLDeQE9M2LyuxDHeg/8CqgMwVI+O78cBIoMRmdEslO1YsrCKFECzjBvo4pHB3HeDQ0/oqSZa+RmfSjdmeTLgMf8PIoZc1EPcndf2YC5jqw==;20:uX9uPr6gv4OAU+/xYqPhrLsoTr25mt7vauq6MRnFv+ZVKQ8I+qzrLY1EG9b6Vt+0/UNEBS4SSYCimv6BmFulH1IITQQAXEraB1KxCch8Ilk+ZhOXVJraGfmI7HU4ocJFaxbE8+4zD/XD/6El299GVl7OGF/qq7kPIjfQe/r3offmZzYEM780c7SrLKS3Q01V0JB+pXci85RmBwnyvNyisoFWvqMaQmFM6MSXrxWtZqo41uBrvxg6R4S3T1trUtzIoCJ6k7W5msbUESSeIVVWghe6cvf5MaetTjrEg7OP/8OsVjcFnY88lytemAREdVFt2oqdm70/wwL8+2+2xtSKpsn41apjzVHxWKg6b5PA8ns= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1584;UriScan:;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1550; SN1PR0301MB1584: X-MS-Exchange-Organization-RulesExecuted X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0;PCL:0;RULEID:(601004)(5005006)(3002001);SRVR:SN1PR0301MB1584;BCL:0;PCL:0;RULEID:;SRVR:SN1PR0301MB1584; X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1584;4:wEjUPox+g9SQv4nFYHXitNI8nakqpO3SNeiFg9zU8lZoN3vKNKcMs8Nd66pC/o8yOmtE54Aj6/NsebxXRYHYJpb04kx2O5Ai2UdeCt5zFgAkbF3mRa4jV9XOLsAfwJQzmsVEKlf+cz/9a3fzhpTvWHLHwhkK36BYb5EgMCZ/NBFYvN5ig8s0ifS4xn8jODZQPib5UC84FE61++AQg1iX1r0lP8YfnQu8GyjBr6uqqG3C+REw24EjIDqyfwhy/zfiY71hJ4JvBqBnlG/PZ+2pAD0o5wyvAasygfeu/YqTKmg= X-Forefront-PRVS: 0638FD5066 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1;SN1PR0301MB1584;23:lhFRHbL0ON9aZxYnOLWAZjgEo0wZMyiwsPyiAGR?= =?us-ascii?Q?MXcBIy2cNtlqGAduAlLtl5YlcwAOjGjH61T4S28uFCKrUTgVVdKgC3LUmLKi?= =?us-ascii?Q?+/C9YvJnR4azI/DHQIpO9hpfEB/hk1P5ZWERem80hB6J1Xhd4Yuf3JCduKHd?= =?us-ascii?Q?0zn7kGkKg9RQPdc7L39UtBw5nqBfYzNQFTy5Q58LBnsrfF/g/8iM0Oj90I2D?= =?us-ascii?Q?kp3VEuKyIm+sxpYEXc0QnJGclIktdXJV7r9xAtcS4DBeyKw0ZpkkNrowN3Fz?= =?us-ascii?Q?6swXZIdFPixi93pgdXt5wtSwZFaTVVcwZVqGDEhHonHwDRpt+2Y+a1rvh4Za?= =?us-ascii?Q?t4gnhN0R0ziDxdwR5xxRfA3OEv3z/JPKgmCHt/c3NDuZUGDp67tZ5Pvav04N?= =?us-ascii?Q?44yg46JtTkfporXQQEGEHSKPc/HGR3r6ym1FCnZ4KTEDT9SGDLPkbM939+em?= =?us-ascii?Q?NB8bv4ViRbfMjgs1CJarQ0Gc1coca+bbOFYtkthZWoxAZNU+E9SLUWBcwHdz?= =?us-ascii?Q?TleZyyaa1OhQZFdCOxs3KJhV7MnNCMQajof2Qm/fch0X3jplu5R5U6FWs5lb?= =?us-ascii?Q?oxOmXlT3KL/uyorvafl3W7KwLdWVyAZdK8gSZ0ThPi3iVmlQ4mp6FKHKqFSl?= =?us-ascii?Q?iPE2NCssNaWDiQPhrB1bMAM2OoVHWxctc8bIzsKVDJKm1haS7DoSOix+0EER?= =?us-ascii?Q?L6FfekWX8+Y4GMNwCjjRtxHiaPY27cyodxfmXWBTKC+mmFOVuAWQ8zbFuzyE?= =?us-ascii?Q?hhs9MD3AMlK/14v91QukeQHVaaaxe8U9TRwRHSSjfBu9wCC9T9aUF2ySg3Zh?= =?us-ascii?Q?FnYB1sHYoGQIGx1fOGMLCl72zD/ZbvjavaoYVCjx2+g+mAoN5sHJvWEeaAHT?= =?us-ascii?Q?LV4NgiSUibE3JlcTs3aIWSOoroo/4j/h2QWg4MU8zr3Z9vtjjqfBqtvRbgw3?= =?us-ascii?Q?KOW/ZQHNGomoV7MnIZYfNyGk+6xjrN7hXpCKTVJfdz9dnA1QY6lqVyVD/Y5t?= =?us-ascii?Q?jCHE8mpJ3ORgNrJQ3iwaCsyIm?= X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1584;5:EZfi6NOUUeLrQZYFNHu4ID+VnTZZQtTF8TZNSP1ojEYx1pjV4gyTmcV7AwO7g6ABGlxKyZJMv4yOkCOsrl56+8RqRIhV32mNRUovfUZcFIxaGKrIEpqyHll2isCwXP/6iLHhoQIkB/lveuoVInFFtA==;24:UsblnEfMNwDFM0mCObCt7NREjXLVJ6ygqjzqHHX4+chEXpn7sRVM3v++1PmKowld9m5JnTyNkUr7G94g1boFGiDMMxfId6m0WpFaaQ3ffYI=;20:7/0JfbE467ykZyHkMbX548Tr3sGAY+fgS/oqrxKlKlDVudCnABUg5sR3gAJ87Edq6w2oiAtQKmliuGQDkUTpaw== X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jul 2015 11:50:38.3644 (UTC) X-MS-Exchange-CrossTenant-Id: 710a03f5-10f6-4d38-9ff4-a80b81da590d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=710a03f5-10f6-4d38-9ff4-a80b81da590d;Ip=[192.88.168.50];Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0301MB1584 X-Microsoft-Exchange-Diagnostics: 1;SN1PR0301MB1550;2:bW8FujSRBNqC3h0+dQqlYYHEhdM7aDMp4jZCRUFFaXoGh4tc9hgzsNr1qp7qteUV;3:BK1gakUIC9Osiv763JCs1ZBkG8tqHlS2mqI0KSm8UWIxjNHLtj0WpWaky5IowE2b45VNj7hOTKYpLj57yVyNMrebVYkOgNk6mb7vvYYpnMr2aB9pZy9hdGGKK9kfZExs1j1vUe637IxFnLza6Ao/1G8ksQRCXmfBo5uONgA7AMuakEtIMYhvGE78e0QPzIkwvULkByyQTfJEoif9vX8l7tSDuTNB/uAhM2b+v8ykM9A=;25:8wkp2FshoZALgZoNQIRHbJL9DnxF+0ugLqASUf7sq7ytX2uxiEGo3NhEzTCroZbxHwRXSgKqS7EF+xSZUE+GDjqW5xgqy57wnPK27Krc16vdjfDW8aDdv0A0Kg3GObZlsNxDlQBUiWG3CH4Obs03qzM11U0F+DXWpXzWl8+/ZIPXIiiyl0K3L90bY/zK6SHbx1L6qImHK+jsye9vHUVfuKrqR32Hmuh5eecK4J4Oq+XqaRp5omoRPQvXu/pSVd6/Zo00JpjkX8G6X1VTjlw57Q==;23:8Ar2HLRAUhl3Fjjyx7qsOHp/PMVa5XUN656+A+FgP7NWs4/1qOkrhKGjJSH09pbuVdWltm+ErgnV2pb1WpxzHXzTXGJhiNfdNdfARM+ZqvpCZD1x2/9R7UmNJ/lLTpuLBpPUGwT4PwKVRvzrJwx7mPWB8dNwueswGoWEJ88HS3tDFQTvxVtDEC3TOHrjql4uhJk9zyQmnGohY7lb5UXb681XQmGOC1mzp4pqsJzhLKx1sW4oFLWZDmW0Q60YY/aN X-OriginatorOrg: freescale.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2657 Lines: 75 Add controller version based ULPI and UTMI phy initialization for otg driver. Signed-off-by: Shengzhou Liu Signed-off-by: Ramneek Mehresh Reviewed-by: Fleming Andrew-AFLEMING Tested-by: Fleming Andrew-AFLEMING --- drivers/usb/phy/phy-fsl-usb.c | 20 ++++++++++++++++++++ drivers/usb/phy/phy-fsl-usb.h | 7 +++++++ 2 files changed, 27 insertions(+) diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c index 94eb292..4e58aee 100644 --- a/drivers/usb/phy/phy-fsl-usb.c +++ b/drivers/usb/phy/phy-fsl-usb.c @@ -923,12 +923,32 @@ int usb_otg_start(struct platform_device *pdev) temp &= ~(PORTSC_PHY_TYPE_SEL | PORTSC_PTW); switch (pdata->phy_mode) { case FSL_USB2_PHY_ULPI: + if (pdata->controller_ver) { + /* controller version 1.6 or above */ + setbits32(&p_otg->dr_mem_map->control, + USB_CTRL_ULPI_PHY_CLK_SEL); + /* + * Due to controller issue of PHY_CLK_VALID in ULPI + * mode, set USB_CTRL_USB_EN before checking + * PHY_CLK_VALID, otherwise PHY_CLK_VALID doesn't work + */ + clrsetbits_be32(&p_otg->dr_mem_map->control, + USB_CTRL_UTMI_PHY_EN, USB_CTRL_IOENB); + } temp |= PORTSC_PTS_ULPI; break; case FSL_USB2_PHY_UTMI_WIDE: temp |= PORTSC_PTW_16BIT; /* fall through */ case FSL_USB2_PHY_UTMI: + if (pdata->controller_ver) { + /* controller version 1.6 or above */ + setbits32(&p_otg->dr_mem_map->control, + USB_CTRL_UTMI_PHY_EN); + /* Delay for UTMI PHY CLK to become stable - 10ms */ + mdelay(FSL_UTMI_PHY_DLY); + } + setbits32(&p_otg->dr_mem_map->control, USB_CTRL_UTMI_PHY_EN); temp |= PORTSC_PTS_UTMI; /* fall through */ default: diff --git a/drivers/usb/phy/phy-fsl-usb.h b/drivers/usb/phy/phy-fsl-usb.h index 2314995..4a78fb3 100644 --- a/drivers/usb/phy/phy-fsl-usb.h +++ b/drivers/usb/phy/phy-fsl-usb.h @@ -199,6 +199,13 @@ /* control Register Bit Masks */ #define USB_CTRL_IOENB (0x1<<2) #define USB_CTRL_ULPI_INT0EN (0x1<<0) +#define USB_CTRL_WU_INT_EN (0x1<<1) +#define USB_CTRL_LINE_STATE_FILTER__EN (0x1<<3) +#define USB_CTRL_KEEP_OTG_ON (0x1<<4) +#define USB_CTRL_OTG_PORT (0x1<<5) +#define USB_CTRL_PLL_RESET (0x1<<8) +#define USB_CTRL_UTMI_PHY_EN (0x1<<9) +#define USB_CTRL_ULPI_PHY_CLK_SEL (0x1<<10) /* BCSR5 */ #define BCSR5_INT_USB (0x02) -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/