From patchwork Tue Dec 3 10:13:20 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yuti Amonkar X-Patchwork-Id: 11271169 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 68A0313A4 for ; Tue, 3 Dec 2019 12:48:36 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5126720684 for ; Tue, 3 Dec 2019 12:48:36 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5126720684 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=cadence.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id D4BF66E4CB; Tue, 3 Dec 2019 12:48:28 +0000 (UTC) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mx0a-0014ca01.pphosted.com (mx0b-0014ca01.pphosted.com [208.86.201.193]) by gabe.freedesktop.org (Postfix) with ESMTPS id E300C6E03F for ; Tue, 3 Dec 2019 10:40:12 +0000 (UTC) Received: from pps.filterd (m0042333.ppops.net [127.0.0.1]) by mx0b-0014ca01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xB3AE61a026007; Tue, 3 Dec 2019 02:14:21 -0800 Received: from nam04-co1-obe.outbound.protection.outlook.com (mail-co1nam04lp2057.outbound.protection.outlook.com [104.47.45.57]) by mx0b-0014ca01.pphosted.com with ESMTP id 2wkmvyurhf-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 03 Dec 2019 02:14:21 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=awsnebsshWaYHyACC6/PLX2OWcE7bNKyGrPSkyMkzjpQbH18bY6/lW3A2DPBwptI2RM/tC/s5rU4Oev5MlzFCqAgds+hrjOOokv8BkfBJ1YBdFPVsq2V5eND39NuB+iSRi04WrWyszF16EHdcpZFJQUWPZWECe37Daa044i7husdWSqwfIqZgGSm3RJXwZ4jdKcFjpy9wdprfCbeFzoRSio9nLGWTi3K/UREAWjcdDphq9lIQ0QZ9eqTqkmR185TrlpnnoWsprx2kaWINhUt7iTUJBQFJaz3qlOYRRyn+BQKMc+5TcKCz9qbMXA4uHM/RxrjHzIZg+ssIq9p/AICig== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vMkbLO17azLuNd0Mml0yUUzSefeiNPLw9O43k2jMHSg=; b=eAgtVGiNR1Yua8/1sAxZVu9J4TYFHMSZ559jOjPxgAbZOJZsFdf0CBoRLj8r+dKIEJOA43s605Sm6HMLZyO7LdbUfsidJkBL7XLj9DbaP+jpL8NJhwcCQpAmItoKxvFQj368mme9mvYrE9mSIwiQ7tLn6r7yKzYn8wNhO4eeQ/ymuGUUGHy8nLo+0GrnQE5U+Vem0KPO+NDmbrrWroKIRBeIc/aUUBGOMFA9hrVj9d4w1tBIGYC0GO774okw1uW/iG0Y01uJyxUO6F2cLgU/eeQH+QBe3Xz38WlFGGSJdTXWj799RG9jghy8Pw21i0/GIQzS9f/ci4tEjQ8ATgWgtQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=softfail (sender ip is 158.140.1.28) smtp.rcpttodomain=ti.com smtp.mailfrom=cadence.com; dmarc=fail (p=none sp=none pct=100) action=none header.from=cadence.com; dkim=none (message not signed); arc=none Received: from SN4PR0701CA0026.namprd07.prod.outlook.com (2603:10b6:803:2d::24) by DM6PR07MB6282.namprd07.prod.outlook.com (2603:10b6:5:17e::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2516.12; Tue, 3 Dec 2019 10:14:16 +0000 Received: from MW2NAM12FT011.eop-nam12.prod.protection.outlook.com (2a01:111:f400:fe5a::201) by SN4PR0701CA0026.outlook.office365.com (2603:10b6:803:2d::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2495.18 via Frontend Transport; Tue, 3 Dec 2019 10:14:16 +0000 Received-SPF: SoftFail (protection.outlook.com: domain of transitioning cadence.com discourages use of 158.140.1.28 as permitted sender) Received: from sjmaillnx2.cadence.com (158.140.1.28) by MW2NAM12FT011.mail.protection.outlook.com (10.13.180.78) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2495.18 via Frontend Transport; Tue, 3 Dec 2019 10:14:16 +0000 Received: from maileu3.global.cadence.com (maileu3.cadence.com [10.160.88.99]) by sjmaillnx2.cadence.com (8.14.4/8.14.4) with ESMTP id xB3AE7sx027708 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=OK); Tue, 3 Dec 2019 02:14:15 -0800 X-CrossPremisesHeadersFilteredBySendConnector: maileu3.global.cadence.com Received: from maileu3.global.cadence.com (10.160.88.99) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Tue, 3 Dec 2019 11:14:09 +0100 Received: from vleu-orange.cadence.com (10.160.88.83) by maileu3.global.cadence.com (10.160.88.99) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Tue, 3 Dec 2019 11:14:09 +0100 Received: from vleu-orange.cadence.com (localhost.localdomain [127.0.0.1]) by vleu-orange.cadence.com (8.14.4/8.14.4) with ESMTP id xB3AE9hF030949; Tue, 3 Dec 2019 11:14:09 +0100 Received: (from yamonkar@localhost) by vleu-orange.cadence.com (8.14.4/8.14.4/Submit) id xB3AE92B030947; Tue, 3 Dec 2019 11:14:09 +0100 From: Yuti Amonkar To: Subject: [PATCH v1 10/15] phy: cadence-torrent: Add PHY lane reset support Date: Tue, 3 Dec 2019 11:13:20 +0100 Message-ID: <1575368005-29797-11-git-send-email-yamonkar@cadence.com> X-Mailer: git-send-email 2.4.5 In-Reply-To: <1575368005-29797-1-git-send-email-yamonkar@cadence.com> References: <1575368005-29797-1-git-send-email-yamonkar@cadence.com> MIME-Version: 1.0 X-OrganizationHeadersPreserved: maileu3.global.cadence.com X-EOPAttributedMessage: 0 X-Forefront-Antispam-Report: CIP:158.140.1.28; IPV:CAL; SCL:-1; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(346002)(396003)(136003)(376002)(199004)(189003)(36092001)(4326008)(2351001)(26826003)(107886003)(87636003)(478600001)(6916009)(2906002)(36756003)(16586007)(305945005)(42186006)(54906003)(5660300002)(7636002)(316002)(70206006)(6666004)(86362001)(76130400001)(48376002)(356004)(50466002)(446003)(426003)(11346002)(336012)(246002)(2616005)(76176011)(26005)(186003)(50226002)(51416003)(8676002)(8936002)(70586007); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB6282; H:sjmaillnx2.cadence.com; FPR:; SPF:SoftFail; LANG:en; PTR:corp.Cadence.COM; A:1; MX:1; X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6d6b2ebc-faa1-4198-57fa-08d777d98d7f X-MS-TrafficTypeDiagnostic: DM6PR07MB6282: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:3173; X-Forefront-PRVS: 02408926C4 X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UbNNTMWm/OAklQVdNNOzp+QzelG+nVzg9/DLY1HHOFmisYAJo5Y0Vi0rER5xAOnO9mECZEr9GGcxj2+ivBna3yYqxV7z7V8Bs9LYg4woy92FiCB8etrAZ+bNW8tobjErbKDEpoFScPf0CdL0KnQV+KXoFwEncwFSWlT+pdymYlM3O9C1U+AVDeUPrnNCC11AOBv5X81mGWavlFb2NVTEaDx4MwfKcPQ18581dXgqYfuarSWk+b3+mFObt8MCbjSXxow3fX7iyraxaYkAbFG79lrWfdLx7f3PrhGfczcjizKTBHLGDC7lcJEjXS4SKT7MJMCNXaaeuYfdSO8Ice6JYhWMq6jibYzXfyZAck7RaeE9mfk9/ClhWD8OUSBd1fQjNlSm/yedBUmkmzJfFcmx69xJYdpyJLlYIHfp5s/gFguW3MFfe0xDuDsVr5ZYkPCXE3Gy9GLCbws+MhN4vLZz7A== X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2019 10:14:16.1235 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6d6b2ebc-faa1-4198-57fa-08d777d98d7f X-MS-Exchange-CrossTenant-Id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=d36035c5-6ce6-4662-a3dc-e762e61ae4c9; Ip=[158.140.1.28]; Helo=[sjmaillnx2.cadence.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR07MB6282 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,18.0.572 definitions=2019-12-03_02:2019-11-29,2019-12-03 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_check_notspam policy=outbound_check score=0 priorityscore=1501 suspectscore=1 phishscore=0 spamscore=0 lowpriorityscore=0 bulkscore=0 clxscore=1015 adultscore=0 mlxlogscore=883 malwarescore=0 mlxscore=0 impostorscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-1910280000 definitions=main-1912030082 X-Mailman-Approved-At: Tue, 03 Dec 2019 12:48:27 +0000 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=proofpoint; bh=vMkbLO17azLuNd0Mml0yUUzSefeiNPLw9O43k2jMHSg=; b=H7pSqISqeMCSp/BbbxPBhBjwH1Y3tmQQ2jNEkyVBsH+XpcVOjnKQ37TTURHM+0UJaQ4T Wa2nFRcnNTGfSVeEo6frgQhruXxRkG9aG9roedkF8UUV3l1I7GX7w1DFucCpbX+2yw8p lrJ9jazsaFC29u03Tr9qTrcCGBIVvu8USFB5hf2IneB8m78ciI7a/wJSUBDuvXdnWnkY sy02dobxyNiesDy23paM243u+8mUzTue2lCAHNJC6EFoKlFX52ZoVB2vEPpWwMVsFMPo i0hXtKGdXLMm9moy7xJW+iuAF+yXJ35R6i/D7nJIM/cI7296h+XfpxVd24p11lXGu/2r JQ== X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cadence.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vMkbLO17azLuNd0Mml0yUUzSefeiNPLw9O43k2jMHSg=; b=WXG7+RqF9OofwyjJekLgp0CwTPg9O5dqZrmGb3xfohzbi4Dm+9ytWXCeCQ30FnUyvPD3bVir6GM7WLGQ/aYNczaKJ2ieuNc5zet5gbUrfH0IrNi5ytDO0Cc8u2fymgJ3e+bkHDVKagaQtKhqlZ/uoKbaIMcFYWTAp/9F1qTuRic= X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mparab@cadence.com, yamonkar@cadence.com, praneeth@ti.com, dkangude@cadence.com, jsarha@ti.com, kishon@ti.com, tomi.valkeinen@ti.com, sjakhade@cadence.com Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" From: Swapnil Jakhade Add reset support for PHY lane group. Signed-off-by: Swapnil Jakhade --- drivers/phy/cadence/phy-cadence-torrent.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/drivers/phy/cadence/phy-cadence-torrent.c b/drivers/phy/cadence/phy-cadence-torrent.c index 6c3eaaa..ebc3b68 100644 --- a/drivers/phy/cadence/phy-cadence-torrent.c +++ b/drivers/phy/cadence/phy-cadence-torrent.c @@ -18,6 +18,7 @@ #include #include #include +#include #define REF_CLK_19_2MHz 19200000 #define REF_CLK_25MHz 25000000 @@ -144,6 +145,7 @@ struct cdns_torrent_phy { void __iomem *sd_base; /* SD0801 registers base */ u32 num_lanes; /* Number of lanes to use */ u32 max_bit_rate; /* Maximum link bit rate to use (in Mbps) */ + struct reset_control *phy_rst; struct device *dev; struct clk *clk; unsigned long ref_clk_rate; @@ -182,9 +184,14 @@ static void cdns_dp_phy_write_field(struct cdns_torrent_phy *cdns_phy, unsigned char num_bits, unsigned int val); +static int cdns_torrent_phy_on(struct phy *phy); +static int cdns_torrent_phy_off(struct phy *phy); + static const struct phy_ops cdns_torrent_phy_ops = { .init = cdns_torrent_dp_init, .exit = cdns_torrent_dp_exit, + .power_on = cdns_torrent_phy_on, + .power_off = cdns_torrent_phy_off, .owner = THIS_MODULE, }; @@ -317,6 +324,9 @@ static int cdns_torrent_dp_init(struct phy *phy) /* take out of reset */ cdns_dp_phy_write_field(cdns_phy, PHY_RESET, 8, 1, 1); + + cdns_torrent_phy_on(phy); + ret = cdns_torrent_dp_wait_pma_cmn_ready(cdns_phy); if (ret) return ret; @@ -945,6 +955,21 @@ static void cdns_dp_phy_write_field(struct cdns_torrent_phy *cdns_phy, start_bit)))); } +static int cdns_torrent_phy_on(struct phy *phy) +{ + struct cdns_torrent_phy *cdns_phy = phy_get_drvdata(phy); + + /* Take the PHY lane group out of reset */ + return reset_control_deassert(cdns_phy->phy_rst); +} + +static int cdns_torrent_phy_off(struct phy *phy) +{ + struct cdns_torrent_phy *cdns_phy = phy_get_drvdata(phy); + + return reset_control_assert(cdns_phy->phy_rst); +} + static int cdns_torrent_phy_probe(struct platform_device *pdev) { struct resource *regs; @@ -976,6 +1001,8 @@ static int cdns_torrent_phy_probe(struct platform_device *pdev) if (IS_ERR(cdns_phy->sd_base)) return PTR_ERR(cdns_phy->sd_base); + cdns_phy->phy_rst = devm_reset_control_array_get_exclusive(dev); + err = device_property_read_u32(dev, "num_lanes", &cdns_phy->num_lanes); if (err)