From patchwork Fri Feb 23 14:06:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steffen Dirkwinkel X-Patchwork-Id: 1903313 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.a=rsa-sha256 header.s=MBO0001 header.b=SsBt44XN; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4ThBjn4zprz23l1 for ; Sat, 24 Feb 2024 01:10:21 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A44B9879DF; Fri, 23 Feb 2024 15:10:14 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.b="SsBt44XN"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 926F48573F; Fri, 23 Feb 2024 15:08:03 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-1.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, TVD_SUBJ_WIPE_DEBT,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 Received: from mout-p-202.mailbox.org (mout-p-202.mailbox.org [80.241.56.172]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id BAEF78644E for ; Fri, 23 Feb 2024 15:06:47 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=lists@steffen.cc Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-202.mailbox.org (Postfix) with ESMTPS id 4ThBdf4GL1z9t2L; Fri, 23 Feb 2024 15:06:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steffen.cc; s=MBO0001; t=1708697206; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=lnIByoNq1+qAFlRJj0WtKn5K41Dr074DpMQ7EgzFw+k=; b=SsBt44XNPkXsFB7dbGqotUykINv2asqEhu84Y8b4aY0zW0UX4QloDpvcyb5bR/4UjfDfFY jWr8WZ3MslOAOYMt0BGjgq6OY1EePu1VZtBtnneXAQjCPHctmTYEMgEG4U5G4hHSih1so+ mRz5idcXiNTyHlEJJfLN1IdlQO4CopYjiLFKTUONs0iUJGHiKcXPsOdrrESZoYJecsz/+I l31L5cvTCS/hSQFVYCFZ58q0ou9VgaXDxpNaYBxsnsU5jSPSLVCfKry8U8ptTvatCaQ9Z3 HpI9F7p+rcJ0BxhmnvUcVCSVG9l9YqkM9vXbcmsdtoM5be+No1sdZP63yf+fqQ== From: Steffen Dirkwinkel To: u-boot@lists.denx.de Cc: Steffen Dirkwinkel , Ashok Reddy Soma , Marcel Ziswiler , Michal Simek , Simon Glass , Tom Rini , Venkatesh Yadav Abbarapu Subject: [PATCH 1/5] configs: zynqmp: don't remove power-domains for spl device tree Date: Fri, 23 Feb 2024 15:06:09 +0100 Message-Id: <20240223140613.1240570-1-lists@steffen.cc> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Steffen Dirkwinkel These are used during sdhci initialization as functions are called with node_id even if we're not talking to the firmware. Signed-off-by: Steffen Dirkwinkel --- configs/xilinx_zynqmp_virt_defconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig index 1fcae45e95d..a96b088534a 100644 --- a/configs/xilinx_zynqmp_virt_defconfig +++ b/configs/xilinx_zynqmp_virt_defconfig @@ -107,7 +107,7 @@ CONFIG_PARTITION_TYPE_GUID=y CONFIG_SPL_OF_CONTROL=y CONFIG_OF_BOARD=y CONFIG_OF_LIST="avnet-ultra96-rev1 zynqmp-a2197-revA zynqmp-e-a2197-00-revA zynqmp-e-a2197-00-revB zynqmp-g-a2197-00-revA zynqmp-m-a2197-01-revA zynqmp-m-a2197-02-revA zynqmp-m-a2197-03-revA zynqmp-p-a2197-00-revA zynqmp-zc1232-revA zynqmp-zc1254-revA zynqmp-zc1751-xm015-dc1 zynqmp-zc1751-xm016-dc2 zynqmp-zc1751-xm017-dc3 zynqmp-zc1751-xm018-dc4 zynqmp-zc1751-xm019-dc5 zynqmp-zcu100-revC zynqmp-zcu102-rev1.1 zynqmp-zcu102-rev1.0 zynqmp-zcu102-revA zynqmp-zcu102-revB zynqmp-zcu104-revA zynqmp-zcu104-revC zynqmp-zcu106-revA zynqmp-zcu106-rev1.0 zynqmp-zcu111-revA zynqmp-zcu1275-revA zynqmp-zcu1275-revB zynqmp-zcu1285-revA zynqmp-zcu208-revA zynqmp-zcu216-revA zynqmp-topic-miamimp-xilinx-xdp-v1r1 zynqmp-sm-k26-revA zynqmp-smk-k26-revA zynqmp-dlc21-revA" -CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent interrupts iommus power-domains" +CONFIG_OF_SPL_REMOVE_PROPS="pinctrl-0 pinctrl-names interrupt-parent interrupts iommus" CONFIG_ENV_IS_NOWHERE=y CONFIG_ENV_IS_IN_FAT=y CONFIG_ENV_IS_IN_NAND=y From patchwork Fri Feb 23 14:06:10 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steffen Dirkwinkel X-Patchwork-Id: 1903314 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.a=rsa-sha256 header.s=MBO0001 header.b=wX05hU6a; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4ThBm02JDgz23l1 for ; Sat, 24 Feb 2024 01:12:16 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7FBB187613; Fri, 23 Feb 2024 15:10:33 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.b="wX05hU6a"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BB7A187B41; Fri, 23 Feb 2024 15:08:33 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [80.241.56.152]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 82DEE87BC3 for ; Fri, 23 Feb 2024 15:06:50 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=lists@steffen.cc Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4ThBdh2Mp1z9scK; Fri, 23 Feb 2024 15:06:48 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steffen.cc; s=MBO0001; t=1708697208; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OjDHmNkmbJu2hqtel9/Q8lSpsSAEf1dVMt+3jFajZvY=; b=wX05hU6azfDeYf9DCwm4RzG6jbQimZ332A0KhG/dI32NQM9Byo5omB3OZcpXzkuukPuTqP Umb9yGgIb9KfZrTfG26GUPaePoiQGSZuMN+/3aG5fX1+yJ7PLxGJrj7TuF6CqxSWg2eVV/ Lfc8rJ+vcpH++2/rENzXR5RgiH07TLLUcd8ts/EoDHX8PZ+HDAs+OeX+NcH5js4BUVTrAg 1BkT0Zd5oJrFQPRDYiUdF6g3V6NfC+5fymTqoPeQLTTWqcfha9Zfmf8I6M/BhKn+sLhEvj J/gKmg/vYg8atWsX3Na86d5gbZAVnM7EtSRIpCydXxzJO6Juq+XKVbPV/sp2Ww== From: Steffen Dirkwinkel To: u-boot@lists.denx.de Cc: Steffen Dirkwinkel , Algapally Santosh Sagar , Ashok Reddy Soma , Jaehoon Chung , Johan Jonker , Michal Simek , Peng Fan , Tom Rini Subject: [PATCH 2/5] mmc: zynq-sdhci: refactor tapdelay settings Date: Fri, 23 Feb 2024 15:06:10 +0100 Message-Id: <20240223140613.1240570-2-lists@steffen.cc> In-Reply-To: <20240223140613.1240570-1-lists@steffen.cc> References: <20240223140613.1240570-1-lists@steffen.cc> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4ThBdh2Mp1z9scK X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Steffen Dirkwinkel Previously we were setting in tapdelay for SD1 every time even if SD0 was requested. The SD tapdelay settings are shifted by 16 bits between SD0 and SD1. We can use that to make our tapdelay setup simpler. This is also how it currently works in arm-trusted-firmware. Signed-off-by: Steffen Dirkwinkel --- drivers/mmc/zynq_sdhci.c | 65 +++++++++++++++++----------------------- 1 file changed, 28 insertions(+), 37 deletions(-) diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index 935540d1719..d4845245b2a 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -42,14 +42,11 @@ #define SD_OTAP_DLY 0xFF180318 #define SD0_DLL_RST BIT(2) #define SD1_DLL_RST BIT(18) +#define SD1_TAP_OFFSET 16 #define SD0_ITAPCHGWIN BIT(9) -#define SD1_ITAPCHGWIN BIT(25) #define SD0_ITAPDLYENA BIT(8) -#define SD1_ITAPDLYENA BIT(24) #define SD0_ITAPDLYSEL_MASK GENMASK(7, 0) -#define SD1_ITAPDLYSEL_MASK GENMASK(23, 16) #define SD0_OTAPDLYSEL_MASK GENMASK(5, 0) -#define SD1_OTAPDLYSEL_MASK GENMASK(21, 16) #define MIN_PHY_CLK_HZ 50000000 @@ -275,44 +272,32 @@ static int arasan_sdhci_config_dll(struct sdhci_host *host, unsigned int clock, static inline int arasan_zynqmp_set_in_tapdelay(u32 node_id, u32 itap_delay) { int ret; + u32 shift; - if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) { - if (node_id == NODE_SD_0) { - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN, - SD0_ITAPCHGWIN); - if (ret) - return ret; - - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA, - SD0_ITAPDLYENA); - if (ret) - return ret; - - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK, - itap_delay); - if (ret) - return ret; + if (node_id == NODE_SD_0) + shift = 0; + else if (node_id == NODE_SD_1) + shift = SD1_TAP_OFFSET; + else + return -EINVAL; - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN, 0); - if (ret) - return ret; - } - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN, - SD1_ITAPCHGWIN); + if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) { + ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN << shift, + SD0_ITAPCHGWIN << shift); if (ret) return ret; - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYENA, - SD1_ITAPDLYENA); + ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA << shift, + SD0_ITAPDLYENA << shift); if (ret) return ret; - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPDLYSEL_MASK, - (itap_delay << 16)); + ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYSEL_MASK << shift, + itap_delay << shift); if (ret) return ret; - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD1_ITAPCHGWIN, 0); + ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPCHGWIN << shift, 0); if (ret) return ret; } else { @@ -326,14 +311,20 @@ static inline int arasan_zynqmp_set_in_tapdelay(u32 node_id, u32 itap_delay) static inline int arasan_zynqmp_set_out_tapdelay(u32 node_id, u32 otap_delay) { + u32 shift; + + if (node_id == NODE_SD_0) + shift = 0; + else if (node_id == NODE_SD_1) + shift = SD1_TAP_OFFSET; + else + return -EINVAL; + if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) { - if (node_id == NODE_SD_0) - return zynqmp_mmio_write(SD_OTAP_DLY, - SD0_OTAPDLYSEL_MASK, - otap_delay); + return zynqmp_mmio_write(SD_OTAP_DLY, + SD0_OTAPDLYSEL_MASK << shift, + otap_delay << shift); - return zynqmp_mmio_write(SD_OTAP_DLY, SD1_OTAPDLYSEL_MASK, - (otap_delay << 16)); } else { return xilinx_pm_request(PM_IOCTL, node_id, IOCTL_SET_SD_TAPDELAY, From patchwork Fri Feb 23 14:06:11 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steffen Dirkwinkel X-Patchwork-Id: 1903315 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.a=rsa-sha256 header.s=MBO0001 header.b=silyEF2J; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4ThBnP4tsPz23l1 for ; Sat, 24 Feb 2024 01:13:29 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 166F987D15; Fri, 23 Feb 2024 15:12:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.b="silyEF2J"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D0415875FA; Fri, 23 Feb 2024 15:08:41 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mout-p-102.mailbox.org (mout-p-102.mailbox.org [IPv6:2001:67c:2050:0:465::102]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 4C77687C61 for ; Fri, 23 Feb 2024 15:06:52 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=lists@steffen.cc Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4ThBdk162Bz9sp4; Fri, 23 Feb 2024 15:06:50 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steffen.cc; s=MBO0001; t=1708697210; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=2OOp+ENu1pg5HFcKC4D0rRSe4Bd0mZZ6Rl1Jy3+6HFQ=; b=silyEF2JniorUNbZxFzorgHGo1dRnpuJBx6nG4ENIlFAKHO3VKWPYbDtAqbJtuiep3FgBb i+Ibw55Ngr41mAvvBjlsM4tGVPblPP5+9fGKHE2JH8RP+hTxNQ7NP0h1uahx7tr4MgXFyQ +q9aOJoMs082l6H5gu2Y4C1eBD6CwOsE44FdKHwY8dSmkbkfEsx0cCMSEf2p5lR5ToHQPI op/exDli8KPYQrRpWOmV0KOO+GqveNQi3eVzd9EHOCvi9zziG5QfqxhPQ/FtfHgnF8elkI GRYFoWNjFCLlX0U7fyDpTvf6sh2E60vgyzpMMm/Snji4XBPtml9RnDOW6PsGcw== From: Steffen Dirkwinkel To: u-boot@lists.denx.de Cc: Steffen Dirkwinkel , Algapally Santosh Sagar , Ashok Reddy Soma , Jaehoon Chung , Johan Jonker , Michal Simek , Peng Fan , Tom Rini Subject: [PATCH 3/5] mmc: zynq_sdhci: disable ITAPDLYENA for zero itap_delay Date: Fri, 23 Feb 2024 15:06:11 +0100 Message-Id: <20240223140613.1240570-3-lists@steffen.cc> In-Reply-To: <20240223140613.1240570-1-lists@steffen.cc> References: <20240223140613.1240570-1-lists@steffen.cc> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4ThBdk162Bz9sp4 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Steffen Dirkwinkel This ports a change from arm-trusted-firmware: commit: fe1fa205fca4d1dd4a1b1755942956dbca65d573 in arm-trusted-firmware (https://github.com/ARM-software/arm-trusted-firmware/commit/fe1fa205fca4d1dd4a1b1755942956dbca65d573) The OTAPDLYENA change from there will be in another commit. We shouldn't have different behavior for u-boot-SPL and u-boot so let's use the same logic here. Message from arm-trusted-firmware: plat: zynqmp: Disable ITAPDLYENA bit for zero ITAP delay This patch disable the ITAPDLYENA bit for ITAP delay value zero. As per IP design, it is recommended to disable the ITAPDLYENA bit before auto-tuning. Also disable OTAPDLYENA bit always as there is one issue in RTL where SD0_OTAPDLYENA has been wrongly connected to both SD0 and SD1 controllers. Hence it is recommended to disable OTAPDLYENA bit always for both the controllers. Signed-off-by: Steffen Dirkwinkel --- drivers/mmc/zynq_sdhci.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index d4845245b2a..79bb8ba66d9 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -287,8 +287,13 @@ static inline int arasan_zynqmp_set_in_tapdelay(u32 node_id, u32 itap_delay) if (ret) return ret; - ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA << shift, - SD0_ITAPDLYENA << shift); + if (itap_delay == 0) + ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA << shift, + 0); + else + ret = zynqmp_mmio_write(SD_ITAP_DLY, SD0_ITAPDLYENA << shift, + SD0_ITAPDLYENA << shift); + if (ret) return ret; From patchwork Fri Feb 23 14:06:12 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steffen Dirkwinkel X-Patchwork-Id: 1903311 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.a=rsa-sha256 header.s=MBO0001 header.b=iBm7ghQZ; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=85.214.62.61; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4ThBgN0NDJz23d2 for ; Sat, 24 Feb 2024 01:08:15 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 28B86878A1; Fri, 23 Feb 2024 15:08:10 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.b="iBm7ghQZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id C20948573F; Fri, 23 Feb 2024 15:08:00 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.2 Received: from mout-p-101.mailbox.org (mout-p-101.mailbox.org [80.241.56.151]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1F50F87CAC for ; Fri, 23 Feb 2024 15:06:54 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=lists@steffen.cc Received: from smtp202.mailbox.org (smtp202.mailbox.org [IPv6:2001:67c:2050:b231:465::202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-101.mailbox.org (Postfix) with ESMTPS id 4ThBdl6Bdlz9sp1; Fri, 23 Feb 2024 15:06:51 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steffen.cc; s=MBO0001; t=1708697211; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yvh2qhAkdatPkPvcJgpIX+/WSc5ymXVaamkw5OkrwcM=; b=iBm7ghQZpPT5s/CvxYHwFcNgmRZe246h79Pzi6oNNAeiu4GjO7uXtlRpYtrT1TMu/NnZkO NlHPVKAZNt78LPpY154Fhez0Gby96gMNsYPOQrNEhu4qyeXlt5DPZE7lx6ncBEG+Hgjd6H 4xi2Y4qCTeLyHh7WhGPzzVdB4CgbBxzzequFnEQ10T9rHxJ5Uc5T2ef/MyVaPFkxC8+NGM 6dG7OihfFgn/BirhLuV/q4UufUN7CeJRIQX1a9Hd+08+dQdIbCKCQalMAadmtIXM+g7sxT 67nHSR2YsPoek3k+CwcEuJfrmGlWdJBhi3I2Qc98jVhvnK0XmjycJXKtd2wvyg== From: Steffen Dirkwinkel To: u-boot@lists.denx.de Cc: Steffen Dirkwinkel , Algapally Santosh Sagar , Ashok Reddy Soma , Jaehoon Chung , Johan Jonker , Michal Simek , Peng Fan , Simon Glass , Tom Rini Subject: [PATCH 4/5] mmc: zynq_sdhci: disable OTAPDLYENA Date: Fri, 23 Feb 2024 15:06:12 +0100 Message-Id: <20240223140613.1240570-4-lists@steffen.cc> In-Reply-To: <20240223140613.1240570-1-lists@steffen.cc> References: <20240223140613.1240570-1-lists@steffen.cc> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4ThBdl6Bdlz9sp1 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Steffen Dirkwinkel This ports a change from arm-trusted-firmware: commit: fe1fa205fca4d1dd4a1b1755942956dbca65d573 in arm-trusted-firmware (https://github.com/ARM-software/arm-trusted-firmware/commit/fe1fa205fca4d1dd4a1b1755942956dbca65d573) The ITAPDLYENA change is in another commit. We shouldn't have different behavior for u-boot-SPL and u-boot so let's use the same logic here. Message from arm-trusted-firmware: plat: zynqmp: Disable ITAPDLYENA bit for zero ITAP delay This patch disable the ITAPDLYENA bit for ITAP delay value zero. As per IP design, it is recommended to disable the ITAPDLYENA bit before auto-tuning. Also disable OTAPDLYENA bit always as there is one issue in RTL where SD0_OTAPDLYENA has been wrongly connected to both SD0 and SD1 controllers. Hence it is recommended to disable OTAPDLYENA bit always for both the controllers. Signed-off-by: Steffen Dirkwinkel --- drivers/mmc/zynq_sdhci.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/mmc/zynq_sdhci.c b/drivers/mmc/zynq_sdhci.c index 79bb8ba66d9..06b782eb79a 100644 --- a/drivers/mmc/zynq_sdhci.c +++ b/drivers/mmc/zynq_sdhci.c @@ -45,6 +45,7 @@ #define SD1_TAP_OFFSET 16 #define SD0_ITAPCHGWIN BIT(9) #define SD0_ITAPDLYENA BIT(8) +#define SD0_OTAPDLYENA BIT(6) #define SD0_ITAPDLYSEL_MASK GENMASK(7, 0) #define SD0_OTAPDLYSEL_MASK GENMASK(5, 0) @@ -316,6 +317,7 @@ static inline int arasan_zynqmp_set_in_tapdelay(u32 node_id, u32 itap_delay) static inline int arasan_zynqmp_set_out_tapdelay(u32 node_id, u32 otap_delay) { + int ret; u32 shift; if (node_id == NODE_SD_0) @@ -326,6 +328,12 @@ static inline int arasan_zynqmp_set_out_tapdelay(u32 node_id, u32 otap_delay) return -EINVAL; if (IS_ENABLED(CONFIG_SPL_BUILD) || current_el() == 3) { + ret = zynqmp_mmio_write(SD_OTAP_DLY, + SD0_OTAPDLYENA << shift, + 0); + if (ret) + return ret; + return zynqmp_mmio_write(SD_OTAP_DLY, SD0_OTAPDLYSEL_MASK << shift, otap_delay << shift); From patchwork Fri Feb 23 14:06:13 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Steffen Dirkwinkel X-Patchwork-Id: 1903312 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.a=rsa-sha256 header.s=MBO0001 header.b=eJBoBJhA; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4ThBh94xldz23d2 for ; Sat, 24 Feb 2024 01:08:57 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6444587B07; Fri, 23 Feb 2024 15:08:55 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; secure) header.d=steffen.cc header.i=@steffen.cc header.b="eJBoBJhA"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 922B687613; Fri, 23 Feb 2024 15:08:19 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.2 Received: from mout-p-201.mailbox.org (mout-p-201.mailbox.org [IPv6:2001:67c:2050:0:465::201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8647F87CDB for ; Fri, 23 Feb 2024 15:06:54 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=steffen.cc Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=lists@steffen.cc Received: from smtp202.mailbox.org (smtp202.mailbox.org [10.196.197.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-201.mailbox.org (Postfix) with ESMTPS id 4ThBdm47Mxz9srX; Fri, 23 Feb 2024 15:06:52 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=steffen.cc; s=MBO0001; t=1708697212; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=rpYHdS2FHk6gxaSWGdu3eDat0xMY2dgdNULA2t1O7LE=; b=eJBoBJhA7oJCa2+SnAMHFgrFAxTswkxdMCtzZUL3k1R4Vsj/CWPDWULfH9/MFD7OBDzObM Vj13BY3tK5g/FAsPOh5ruvFpj4SRGRA8y8xjlLvDm1F0xBJuRoZO0mae4N28BStR68udcN jJCXeocVKQtDDVUiEqgBP9ykgsrzxHMUYBR1i3kpq/8oeywAB1yMMDaWKF8AKVoCNVbiBY 9z/jCMzPywP8sYAUL4hTjzNeAsoqBUgKH2gfgUggZUOzehvm3el6YXYeW+GYZnJo2u+GwH B54s8EIx0kEVFCgHC8VY9tex6RTOdgwYyrrvnitX5I6Ga27X6cn8OOMTlAIJvQ== From: Steffen Dirkwinkel To: u-boot@lists.denx.de Cc: Steffen Dirkwinkel , Michal Simek , Tom Rini , Venkatesh Yadav Abbarapu Subject: [PATCH 5/5] zynqmp: boot without delay in psu_uboot_init Date: Fri, 23 Feb 2024 15:06:13 +0100 Message-Id: <20240223140613.1240570-5-lists@steffen.cc> In-Reply-To: <20240223140613.1240570-1-lists@steffen.cc> References: <20240223140613.1240570-1-lists@steffen.cc> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 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" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean From: Steffen Dirkwinkel This seems to have been required for sd init. I don't need it anymore with correct tapdelay / dll reset handling, but can't be sure this works on all platforms. Signed-off-by: Steffen Dirkwinkel --- board/xilinx/zynqmp/zynqmp.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/board/xilinx/zynqmp/zynqmp.c b/board/xilinx/zynqmp/zynqmp.c index ba49eb7be22..b36c72c7e54 100644 --- a/board/xilinx/zynqmp/zynqmp.c +++ b/board/xilinx/zynqmp/zynqmp.c @@ -72,9 +72,6 @@ int __maybe_unused psu_uboot_init(void) writel(ZYNQMP_PS_SYSMON_ANALOG_BUS_VAL, ZYNQMP_AMS_PS_SYSMON_ANALOG_BUS); - /* Delay is required for clocks to be propagated */ - udelay(1000000); - return 0; }