From patchwork Wed Jan 11 12:22:58 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fabio Estevam X-Patchwork-Id: 1724642 X-Patchwork-Delegate: sbabic@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org 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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=denx.de header.i=@denx.de header.a=rsa-sha256 header.s=phobos-20191101 header.b=UnLwrQFT; dkim=pass (2048-bit key) header.d=denx.de header.i=@denx.de header.a=rsa-sha256 header.s=phobos-20191101 header.b=mhex1eGl; dkim-atps=neutral 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 (P-384) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NsRfh1yFzz23dq for ; Wed, 11 Jan 2023 23:23:24 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 8BB42854B8; Wed, 11 Jan 2023 13:23:18 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=none (p=none dis=none) header.from=denx.de Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1673439798; bh=/NVX02FbUz89D7lWszT/siwWtNtXoEhJkQSvKUQIMkk=; h=From:To:Cc:Subject:Date:List-Id:List-Unsubscribe:List-Archive: List-Post:List-Help:List-Subscribe:From; b=UnLwrQFTLU8RWUpTt3HhFl/WgYL7GEb7UV7TJxaoC+rkzbp4HuqMCsmmzIrebaU3C JwdM0XPXBDz8KJxeTeDlnwzEyMySrx/QyBcEzP3jGqVOxQQSnM93Ad+t10G4s4Sl7s Lnb1Ci6uDeKNHAX4TZdg2Yk0SUmFBj4s4Au8DqFzX5NNcdcITBIhuP0pUCl56iS2DG oxNg0b1xe2QZNScfwcXXSqPQWPPBJZIixQIzwDDXmXjQpQTKYFHYRRMcgWYrDL7zMT 05MePz6gDXmaEoefiavtIA0wMMPYen1799Ha05R0CQKAy1uw7p8p1X6JkpL6vTc+Cv ntuMOQG1Ps+WQ== Received: from localhost.localdomain (unknown [IPv6:2804:14c:485:4b69:ca0:909e:e4a4:58f2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: festevam@denx.de) by phobos.denx.de (Postfix) with ESMTPSA id CA6C581F29; Wed, 11 Jan 2023 13:23:14 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=denx.de; s=phobos-20191101; t=1673439797; bh=/NVX02FbUz89D7lWszT/siwWtNtXoEhJkQSvKUQIMkk=; h=From:To:Cc:Subject:Date:From; b=mhex1eGlP3BkrIWxkKtnjm9cclNENUuJ1ljDddxxJbkTj8qhQ7OWdsEtIE5qxykxO MZ9Zz6TTOJfa1/7oIL8vyDhK6bCQBUteRwAF39l62U6jTD1Z3IbKVwFIdjNt4dpIas ggCcwGmbq9jtt/IOn4SZ8Aqn7+jjMKg8jgflTcqYnXme10hd6SGuQGTeXpBaUaFWYC 3OWwWyWxVa/gQwF0ms7dv+63B4VBw0bp9xKXFKYB6MJrp1juY1bUAjoGEgvXR1rr1+ gkB4MwHuly0ItsAOz4ZYbTfqGwUMZxYZUo/+iqWPABWuTrtfqPZiVtpzXuhgNsGJOH /PnC0Qwcy7lrA== From: Fabio Estevam To: sbabic@denx.de Cc: u-boot@lists.denx.de, richard.hu@technexion.com, egyszeregy@freemail.hu, Fabio Estevam Subject: [PATCH] pico-imx7d: Add support for the 2GB variant Date: Wed, 11 Jan 2023 09:22:58 -0300 Message-Id: <20230111122258.1640633-1-festevam@denx.de> X-Mailer: git-send-email 2.25.1 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.6 at phobos.denx.de X-Virus-Status: Clean Add the board detection mechanism to be able to support the 2GB variant. Based on the code from TechNexion U-Boot downstream tree. Signed-off-by: Fabio Estevam --- board/technexion/pico-imx7d/spl.c | 30 +++++++++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/board/technexion/pico-imx7d/spl.c b/board/technexion/pico-imx7d/spl.c index df5f058577..f86fee9c88 100644 --- a/board/technexion/pico-imx7d/spl.c +++ b/board/technexion/pico-imx7d/spl.c @@ -61,6 +61,8 @@ static struct ddrc ddrc_regs_val = { .dramtmg0 = 0x09081109, .addrmap0 = 0x0000001f, .addrmap1 = 0x00080808, + .addrmap2 = 0x00000000, + .addrmap3 = 0x00000000, .addrmap4 = 0x00000f0f, .addrmap5 = 0x07070707, .addrmap6 = 0x0f0f0707, @@ -100,16 +102,38 @@ static void gpr_init(void) writel(0x4F400005, &gpr_regs->gpr[1]); } -static bool is_1g(void) +/* + * Revision Detection + * + * GPIO1_12 GPIO1_13 + * 0 0 1GB DDR3 + * 0 1 2GB DDR3 + * 1 0 512MB DDR3 + */ + +static int imx7d_pico_detect_board(void) { gpio_direction_input(IMX_GPIO_NR(1, 12)); - return !gpio_get_value(IMX_GPIO_NR(1, 12)); + gpio_direction_input(IMX_GPIO_NR(1, 13)); + + return gpio_get_value(IMX_GPIO_NR(1, 12)) << 1 | + gpio_get_value(IMX_GPIO_NR(1, 13)); } static void ddr_init(void) { - if (is_1g()) + switch (imx7d_pico_detect_board()) { + case 0: ddrc_regs_val.addrmap6 = 0x0f070707; + break; + case 1: + ddrc_regs_val.addrmap0 = 0x0000001f; + ddrc_regs_val.addrmap1 = 0x00181818; + ddrc_regs_val.addrmap4 = 0x00000f0f; + ddrc_regs_val.addrmap5 = 0x04040404; + ddrc_regs_val.addrmap6 = 0x04040404; + break; + } mx7_dram_cfg(&ddrc_regs_val, &ddrc_mp_val, &ddr_phy_regs_val, &calib_param);