From nobody Sat May 10 02:43:05 2025 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1606897604; cv=none; d=zohomail.com; s=zohoarc; b=lE7RvokD+6CV9YttH/TmibH6m6a53z0Qo0cPpgoQUy9BQAXya4YOQTygtnxThWbHFrYEu7GRlqLbZlTt/7V159FWgemmxcal7hswImbGYjRwoyjTLOFhuQDc9h5yzm8/NtP+HvQDg4H9Jk8FkaaJ1YqLez2IbsjPtg/KFZ6FO5s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606897604; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=94qr6DTrp4XSkW2q5t6QcdJj8PpRcwoDzCeYs/Bk0Jk=; b=iKLk6s9BQmC9gCnVoTGIKBxgT0YJ/gEnJeRt5F807dsiYlfejKTLJTbv6HASakw0a7rssKOyZ4x5I4HU+6KsgdR1gIGrGkRbho02URzkwvCjysjUgb3Cka2D5wUd8gWdmMWAln9SBOSRhepv/wVMhL/z9CJ6l7BwCuRfdMGIoN4= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1606897604969194.90801663641923; Wed, 2 Dec 2020 00:26:44 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387736AbgLBI0Y (ORCPT ); Wed, 2 Dec 2020 03:26:24 -0500 Received: from server-x.ipv4.hkg02.ds.network ([27.111.83.178]:49102 "EHLO mail.gtsys.com.hk" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S2387526AbgLBI0Y (ORCPT ); Wed, 2 Dec 2020 03:26:24 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.gtsys.com.hk (Postfix) with ESMTP id 9BBA620001F5; Wed, 2 Dec 2020 16:25:22 +0800 (HKT) Received: from mail.gtsys.com.hk ([127.0.0.1]) by localhost (mail.gtsys.com.hk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4vUYZdex8rWq; Wed, 2 Dec 2020 16:25:22 +0800 (HKT) Received: from s01.gtsys.com.hk (unknown [10.128.4.2]) by mail.gtsys.com.hk (Postfix) with ESMTP id 83B19200E233; Wed, 2 Dec 2020 16:25:22 +0800 (HKT) Received: from armhf2.gtsys.com.hk (unknown [10.128.4.15]) by s01.gtsys.com.hk (Postfix) with ESMTP id 7BBFBC019F3; Wed, 2 Dec 2020 16:25:22 +0800 (HKT) Received: by armhf2.gtsys.com.hk (Postfix, from userid 1000) id 7F42E200756; Wed, 2 Dec 2020 16:25:22 +0800 (HKT) X-Virus-Scanned: Debian amavisd-new at gtsys.com.hk From: Chris Ruehl Cc: devicetree@vger.kernel.org, Chris Ruehl , Kishon Vijay Abraham I , Vinod Koul , Heiko Stuebner , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: [PATCH 1/2] phy: rockchip-emmc: output tap delay dt property Date: Wed, 2 Dec 2020 16:25:06 +0800 Message-Id: <20201202082507.3536-2-chris.ruehl@gtsys.com.hk> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201202082507.3536-1-chris.ruehl@gtsys.com.hk> References: <20201202082507.3536-1-chris.ruehl@gtsys.com.hk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Update the rockchip-emmc phy to set the otapdlysec register with a dt property. This was mentioned from Brian Norris when he sent the path to set the default value in the driver. This patch add a dt property 'output-tapdelay-select' u32 and allow to set the 0x0-0xf. If not set in dts, the old default 0x4 applies. Tested with our customized rk3399 to tune the eMMC. Signed-off-by: Chris Ruehl --- drivers/phy/rockchip/phy-rockchip-emmc.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/phy/rockchip/phy-rockchip-emmc.c b/drivers/phy/rockchi= p/phy-rockchip-emmc.c index 75faee5c0d27..3c7f8c08353c 100644 --- a/drivers/phy/rockchip/phy-rockchip-emmc.c +++ b/drivers/phy/rockchip/phy-rockchip-emmc.c @@ -65,6 +65,8 @@ #define PHYCTRL_OTAPDLYENA 0x1 #define PHYCTRL_OTAPDLYENA_MASK 0x1 #define PHYCTRL_OTAPDLYENA_SHIFT 0xb +#define PHYCTRL_OTAPDLYSEL_DEFAULT 0x4 +#define PHYCTRL_OTAPDLYSEL_MAXVALUE 0xf #define PHYCTRL_OTAPDLYSEL_MASK 0xf #define PHYCTRL_OTAPDLYSEL_SHIFT 0x7 #define PHYCTRL_REN_STRB_DISABLE 0x0 @@ -85,6 +87,7 @@ struct rockchip_emmc_phy { struct clk *emmcclk; unsigned int drive_impedance; unsigned int enable_strobe_pulldown; + unsigned int output_tapdelay_select; }; =20 static int rockchip_emmc_phy_power(struct phy *phy, bool on_off) @@ -297,7 +300,7 @@ static int rockchip_emmc_phy_power_on(struct phy *phy) /* Output tap delay */ regmap_write(rk_phy->reg_base, rk_phy->reg_offset + GRF_EMMCPHY_CON0, - HIWORD_UPDATE(4, + HIWORD_UPDATE(rk_phy->output_tapdelay_select, PHYCTRL_OTAPDLYSEL_MASK, PHYCTRL_OTAPDLYSEL_SHIFT)); =20 @@ -373,6 +376,7 @@ static int rockchip_emmc_phy_probe(struct platform_devi= ce *pdev) rk_phy->reg_base =3D grf; rk_phy->drive_impedance =3D PHYCTRL_DR_50OHM; rk_phy->enable_strobe_pulldown =3D PHYCTRL_REN_STRB_DISABLE; + rk_phy->output_tapdelay_select =3D PHYCTRL_OTAPDLYSEL_DEFAULT; =20 if (!of_property_read_u32(dev->of_node, "drive-impedance-ohm", &val)) rk_phy->drive_impedance =3D convert_drive_impedance_ohm(pdev, val); @@ -380,6 +384,13 @@ static int rockchip_emmc_phy_probe(struct platform_dev= ice *pdev) if (of_property_read_bool(dev->of_node, "enable-strobe-pulldown")) rk_phy->enable_strobe_pulldown =3D PHYCTRL_REN_STRB_ENABLE; =20 + if (!of_property_read_u32(dev->of_node, "output-tapdelay-select", &val)) { + if (val <=3D PHYCTRL_OTAPDLYSEL_MAXVALUE) + rk_phy->output_tapdelay_select =3D val; + else + dev_err(dev, "output-tapdelay-select exceeds limit, apply default\n"); + } + generic_phy =3D devm_phy_create(dev, dev->of_node, &ops); if (IS_ERR(generic_phy)) { dev_err(dev, "failed to create PHY\n"); --=20 2.20.1 From nobody Sat May 10 02:43:05 2025 Delivered-To: importer2@patchew.org Received-SPF: pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; envelope-from=linux-kernel-owner@vger.kernel.org; helo=vger.kernel.org; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org ARC-Seal: i=1; a=rsa-sha256; t=1606897604; cv=none; d=zohomail.com; s=zohoarc; b=mEiVoOmL2fh1csS8pnSrMiWPogT2IXVfL0W6RXZxKWjbvqrhGwqQjMV2r9XwsVYuvO2XFr/afMjNQ8MaHRmfCV1Tc63soVp4YPemDH+z6u2NRXYcU97NtaE0owiDeHrznu3OrI09NkIVf8Ydf9HoIbM/AN00ezP2m9Xs2m6qYsQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1606897604; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Id:MIME-Version:Message-ID:References:Subject:To; bh=D8RhmfjME0ATBNSYe3Vuqikq5tIQi7vayVu4xN9ySSc=; b=giadbUHNBGcp7pQhlrehro6v7WqS/wNR/LoqPjD05yn+7QYcfu33PoRF0VGPlXwBdex4VpjPIGIfLBVBj/4HHg5zcrmAXApcIo7ww2qDu6jGfZFasUXWRbO2F61bs7RMagV9mTEHiUiLWMWVYQNOQVUVi/vqPwyFpaoeV2YOg/w= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mx.zohomail.com with SMTP id 1606897604604364.3240497718821; Wed, 2 Dec 2020 00:26:44 -0800 (PST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387710AbgLBI0L (ORCPT ); Wed, 2 Dec 2020 03:26:11 -0500 Received: from server-x.ipv4.hkg02.ds.network ([27.111.83.178]:49120 "EHLO mail.gtsys.com.hk" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1726148AbgLBI0L (ORCPT ); Wed, 2 Dec 2020 03:26:11 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.gtsys.com.hk (Postfix) with ESMTP id B6F6D200D28A; Wed, 2 Dec 2020 16:25:24 +0800 (HKT) Received: from mail.gtsys.com.hk ([127.0.0.1]) by localhost (mail.gtsys.com.hk [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OEkpvfX_SFVv; Wed, 2 Dec 2020 16:25:24 +0800 (HKT) Received: from s01.gtsys.com.hk (unknown [10.128.4.2]) by mail.gtsys.com.hk (Postfix) with ESMTP id 9CB72200D287; Wed, 2 Dec 2020 16:25:24 +0800 (HKT) Received: from armhf2.gtsys.com.hk (unknown [10.128.4.15]) by s01.gtsys.com.hk (Postfix) with ESMTP id 9486AC019F3; Wed, 2 Dec 2020 16:25:24 +0800 (HKT) Received: by armhf2.gtsys.com.hk (Postfix, from userid 1000) id 93BA8200756; Wed, 2 Dec 2020 16:25:24 +0800 (HKT) X-Virus-Scanned: Debian amavisd-new at gtsys.com.hk From: Chris Ruehl Cc: devicetree@vger.kernel.org, Chris Ruehl , Kishon Vijay Abraham I , Vinod Koul , Rob Herring , Heiko Stuebner , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org Subject: [PATCH 2/2] devicetree: phy: rockchip-emmc add output-tapdelay-select Date: Wed, 2 Dec 2020 16:25:07 +0800 Message-Id: <20201202082507.3536-3-chris.ruehl@gtsys.com.hk> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20201202082507.3536-1-chris.ruehl@gtsys.com.hk> References: <20201202082507.3536-1-chris.ruehl@gtsys.com.hk> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" Update the rockchip-emmc-phy.txt and add the u32 property 'output-tapdelay-select'. This allow to set the otapdlysec register. Tested with our customized rk3399 board to tune eMMC. Signed-off-by: Chris Ruehl --- Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt b/= Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt index 3e4d2d79a65d..00aa2d349e55 100644 --- a/Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt +++ b/Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt @@ -18,6 +18,9 @@ Optional properties: If not set, the default value of 50 will be applie= d. - enable-strobe-pulldown: Enable internal pull-down for the strobe line. If not set, pull-down is not used. + - output-tapdelay-select: Specifies the phyctrl_otapdlysec register. + If not set, the register defaults to 0x4. + Maximum value 0xf. =20 Example: =20 --=20 2.20.1