Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp2984286imm; Mon, 28 May 2018 21:40:36 -0700 (PDT) X-Google-Smtp-Source: AB8JxZqxM1L96YEkqfDU1MY3dYr9PIiEJDh3Y8OPZz9bp2YlL2+3mxz7xuo56mjQzjALAdDChMl/ X-Received: by 2002:a65:47c8:: with SMTP id f8-v6mr12551697pgs.430.1527568835944; Mon, 28 May 2018 21:40:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1527568835; cv=none; d=google.com; s=arc-20160816; b=Obx6z0aQvU/iQJfe337A5K7s+fP7pCplV3I/Wh965z2wu96j3nhuUEKfIVWEtFQZO7 8gkl2bN/HQ9kWg7co0cgnuYFTR2QyQhxKPt12u+rhuvy8tDdmtttwK/RLIrb6XXOkyAu r4xef5/5E8mkox9tfpTxRL+nbldbfLoV0n2boSRJ1BO1Jld88zqKCJRZ+T6oC4RhEFlE HO3GGWideCXs0H2wX3IjgGxQDtPnYb4JQoHbqwc7Lai5qUot78Dd76SrpHHhy0aQjFgb TU4FTEWAaqqYiFGEOwuaZKK04oOsCDiZnonj2rcQTSyX+i/yIaGzqNOoSZlJEkNfHbuq tpnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dmarc-filter:dkim-signature:dkim-signature :arc-authentication-results; bh=mTS4G1tb3oZnSPFo4zeZ5bSpzYC7OlLe6zF/Rj6hj1g=; b=vaNBIFMV+Behs13mJUgsEObO81FKrPM70dijElMEujjDYkSjJLMkK7zKxULmmkaf6V xbgtOSV1QndQy3d/D7bV9VLSdmkSaj4yQswF2xAFywIi+D8UmiVyvNsiK/zUvR+ov7KC fEWF2jeUtEjD5WwL8E+ANlD58iC6MX10f3QAtVkeqa9gNL09B18azX/ZelwcMlnIeYlp /xnVGVeX1hZysGnkgX1yhp1FOHcP7bA0I1k+OGV0mLguS6UCUsRrl730bx6LBZ/R6S0X Y4Xy1DqQNbCFupXiddZ1SpGs1mmoJSw8ArCv7NzyTU3hOwZ70glD4SD31YoVT1s0Yy7Q PmJQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=h2HFIdxO; dkim=pass header.i=@codeaurora.org header.s=default header.b=CAtbZO2D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f35-v6si30829157plh.193.2018.05.28.21.40.22; Mon, 28 May 2018 21:40:35 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@codeaurora.org header.s=default header.b=h2HFIdxO; dkim=pass header.i=@codeaurora.org header.s=default header.b=CAtbZO2D; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754726AbeE2Eiu (ORCPT + 99 others); Tue, 29 May 2018 00:38:50 -0400 Received: from smtp.codeaurora.org ([198.145.29.96]:44760 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754621AbeE2EiX (ORCPT ); Tue, 29 May 2018 00:38:23 -0400 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 3C77760242; Tue, 29 May 2018 04:38:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1527568703; bh=rA9FPZ21nEYuB/XnqKIsePvH1ZJAflwFEe3pG3ZwdbU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=h2HFIdxOSzISW3ThZ20BpUaDY+l23Jw1DgK7nk5txKHTthMSpV77x/o7osJRkvAnt MSjSR9/lNk5wAc6F5kXSj1PRBVTtYqywBr6M5QaFU4FHhjKspL4xKAhukQxLTQedeC JelqeGDDokKEw4cPOOuCs7LUgvu0xa0AuQZvuJV0= X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on pdx-caf-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=ALL_TRUSTED,BAYES_00, DKIM_SIGNED,T_DKIM_INVALID autolearn=no autolearn_force=no version=3.4.0 Received: from CANG02.ap.qualcomm.com (unknown [180.166.53.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: cang@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id CAAAE6044B; Tue, 29 May 2018 04:38:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1527568702; bh=rA9FPZ21nEYuB/XnqKIsePvH1ZJAflwFEe3pG3ZwdbU=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=CAtbZO2DHTQ2ReZ7nAlhcQacMcYTUhtjomJMke2qocfO8+o7GW5SXhUonUUoAmTPt TEzWYZE2Ckw/1tku77WObo4XOynZAcFPtGemCahg5eCh/5DEHfq7v/AoW04eHgulmS o+H+nYWYs5hyUpFkuUm5WqJZkwblnM1O/pd8y/5k= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org CAAAE6044B Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=cang@codeaurora.org From: Can Guo To: subhashj@codeaurora.org, asutoshd@codeaurora.org, vivek.gautam@codeaurora.org, mgautam@codeaurora.org, kishon@ti.com, robh+dt@kernel.org, mark.rutland@arm.com Cc: linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Can Guo Subject: [PATCH v6 1/3] phy: Update PHY power control sequence Date: Tue, 29 May 2018 12:37:49 +0800 Message-Id: <20180529043751.10580-2-cang@codeaurora.org> X-Mailer: git-send-email 2.15.0.windows.1 In-Reply-To: <20180529043751.10580-1-cang@codeaurora.org> References: <20180529043751.10580-1-cang@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org All PHYs should be powered on before register configuration starts. And only PCIe PHYs need an extra power control before deasserts reset state. Signed-off-by: Can Guo --- drivers/phy/qualcomm/phy-qcom-qmp.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c index 97ef942..f779b0f 100644 --- a/drivers/phy/qualcomm/phy-qcom-qmp.c +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c @@ -982,6 +982,8 @@ static int qcom_qmp_phy_com_init(struct qcom_qmp *qmp) if (cfg->has_phy_com_ctrl) qphy_setbits(serdes, cfg->regs[QPHY_COM_POWER_DOWN_CONTROL], SW_PWRDN); + else + qphy_setbits(pcs, QPHY_POWER_DOWN_CONTROL, cfg->pwrdn_ctrl); if (cfg->has_phy_dp_com_ctrl) { qphy_setbits(dp_com, QPHY_V3_DP_COM_POWER_DOWN_CTRL, @@ -1127,7 +1129,8 @@ static int qcom_qmp_phy_init(struct phy *phy) * Pull out PHY from POWER DOWN state. * This is active low enable signal to power-down PHY. */ - qphy_setbits(pcs, QPHY_POWER_DOWN_CONTROL, cfg->pwrdn_ctrl); + if (cfg->type == PHY_TYPE_PCIE) + qphy_setbits(pcs, QPHY_POWER_DOWN_CONTROL, cfg->pwrdn_ctrl); if (cfg->has_pwrdn_delay) usleep_range(cfg->pwrdn_delay_min, cfg->pwrdn_delay_max); -- The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project