From patchwork Mon Oct 12 18:13:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381069 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=Q9zEr/85; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96Kr1bmPz9sTK for ; Tue, 13 Oct 2020 05:15:28 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 31F888252B; Mon, 12 Oct 2020 20:15:14 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Q9zEr/85"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 9C8CA82496; Mon, 12 Oct 2020 20:15:11 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 32AC682496 for ; Mon, 12 Oct 2020 20:15:09 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x743.google.com with SMTP id y198so18551687qka.0 for ; Mon, 12 Oct 2020 11:15:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kwIDvYQubGN4yN0TvUi2FlftaMad+hD8xrceOF3HIrw=; b=Q9zEr/85aU1y1oqsMpEeeUpalij2E0B/W/81kHorCFgheStJA/4Kv29VqMmCZIiBPZ T7ai5gS2hutX1w1VYlBNpwfhR2Vcg0Kf8goV87Tmq1qwinMT0NpGNTN6gHM2OGeur6IK HkHNilDV0PqVaHnysGBkezBsatJ3KnJMdN4XXWz8/FQrOuKI7akUCgFczvOntERUE60A mNdbIRhTD3H3bCXT294RW1KtTTFLRf62sLnnEXvaaVH52XiMc0rLuJJiJtBkjIHgA7jG X+gPTaMw2q/J7ExR7ZO9ghVrcl2ZpdBez3FCw3mQcE6zmJLz7mCj5bUrcDqyAT5SCzl+ 23aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kwIDvYQubGN4yN0TvUi2FlftaMad+hD8xrceOF3HIrw=; b=c1ZwMEhhhdiOX5VybfHIq4R8z7kjdApK+nnpvdxhRCjE58ddloXzvRYERck4Cig3cz 1V2ILLTdoOFVMluim1lW1yKzDGQrnAeNsOqBqq0MzB2ThtzVlhg64B2mV8f2ae90LKcZ MArQp8DUM5Wd/OQxTMltEnwLPosj8Ty3qdxJDb3xTEz8biTN4qWbOv+20U0tPB4BJ5X0 jmeF/wsEpbOvnAM2YTO8ddSPUHSDap889Ifo8CLbRdKKrzb3SgqLUykkOgw6F/TTJHx6 wH9T7+mxKCpvgXRi6HQkCeeXZiVIXaaXVjSLuxE3kOhfxW15Lny2tR8y0OvmCGTD6U97 sHvA== X-Gm-Message-State: AOAM532KH0W/CmN5scv1ocWv6IMVx1M12WZAl+jdRynllRQ0l6lvE4nd 5CVjF4XW8lFoVJsb0OhvtRBzkhf3dDPUng== X-Google-Smtp-Source: ABdhPJzeljjBhuHL6nqBxXwi/0GVadbMeakngtwTsBhjTwz4iEyeT2kh1IB6OYixX3ywI16XDD85Lg== X-Received: by 2002:a37:684f:: with SMTP id d76mr11053326qkc.42.1602526507969; Mon, 12 Oct 2020 11:15:07 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:07 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Damien Le Moal , Lukasz Majewski Subject: [PATCH v2 01/16] clk: k210: Fix PLLs not being enabled Date: Mon, 12 Oct 2020 14:13:30 -0400 Message-Id: <20201012181345.338661-2-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean After starting or setting the rate of a PLL, the enable bit must be set. This fixes a bug where the AI ram would not be accessible, because it requires PLL1 to be running. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- (no changes since v1) drivers/clk/kendryte/pll.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/clk/kendryte/pll.c b/drivers/clk/kendryte/pll.c index ab6d75d585..f198920113 100644 --- a/drivers/clk/kendryte/pll.c +++ b/drivers/clk/kendryte/pll.c @@ -531,6 +531,7 @@ static int k210_pll_enable(struct clk *clk) k210_pll_waitfor_lock(pll); reg &= ~K210_PLL_BYPASS; + reg |= K210_PLL_EN; writel(reg, pll->reg); return 0; @@ -550,6 +551,7 @@ static int k210_pll_disable(struct clk *clk) writel(reg, pll->reg); reg &= ~K210_PLL_PWRD; + reg &= ~K210_PLL_EN; writel(reg, pll->reg); return 0; } From patchwork Mon Oct 12 18:13:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381071 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=eAvILhmj; 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96LD4mTtz9sT6 for ; Tue, 13 Oct 2020 05:15:48 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3EEBD82524; Mon, 12 Oct 2020 20:15:15 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="eAvILhmj"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id CE9268252B; Mon, 12 Oct 2020 20:15:12 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x744.google.com (mail-qk1-x744.google.com [IPv6:2607:f8b0:4864:20::744]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 53308824B6 for ; Mon, 12 Oct 2020 20:15:10 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x744.google.com with SMTP id a23so18464872qkg.13 for ; Mon, 12 Oct 2020 11:15:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=4a+Fp5+HKyrIN+zJLn/A8R6osnX9eZe3k6F/8jaW1YE=; b=eAvILhmjwuHoAdmCUMCRtVeZMcsC7m74uuuYPvqvvnw7yeh3dbVf09czzne05Xmh+s 1b47aML4HAr+CPBFroCDXU3BdrW9mrmItRIsJBGooBPJjw+IZtRlsWfrlEwkwwQ4WM4w WL9pjuLicqIJOIGBO0SY8AuMT84kST8mQCUVcfLA7xNlEGYK84t76e6+5JKpUE5Zzgda qzyLYznVXf0nuYR6Bm3qoCuXMn4Hmt8iLvc8xE5r5SIrTBBoMrHKUL7j7ArCQm0Pqj6a IsHYVQPanZgvdojYThcCgMG9w87nbwduwnu7qfOwKzDeviP0aX7YrxQmbaPUwdi9X4LM Ou/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=4a+Fp5+HKyrIN+zJLn/A8R6osnX9eZe3k6F/8jaW1YE=; b=E5wdfBW1rUSkj1kIMZKh3+Jdu9SgXHvbtdnHF2dZVBtTFEER8xDdREKCfHJ7o11wT1 tVY4V0oqmrgHpv1FO2LHD588bCAZBZ2ozkuvlX5m/FTeY9NNJ8Pi4wrIBRlCzRCNh0tw YK7OyNZD7sbcHomwthHHpJNwmV+lYrdG22o9MSAI3FlMLO2R748Uggzv1Z3itTrD6oGt TLLyzByBMrjDpGMf5R95OjhKfar1G5VBogi2eqLQkJsIz6AJplL8U/QjgrB4NuC8SdfK Oep9j4z2bcfheQF1xgiyW6lFRKfueSmO6RYOR0kwq6WsH3YcvtBOYSBaKgYKUClFBUbN 19tA== X-Gm-Message-State: AOAM530jtOzFgJ0KHbaqC/gNK7SzQ4eupyE9ThzLawuck3ftzY8gg1e4 n8v+ndIxbejHXRzSJdxGnnb0TwmnTwzaTg== X-Google-Smtp-Source: ABdhPJwUjnr4n4+hpCrrHUXoHSEHS5TwJSsOR4uT+d8D9QFobuUzMpcYo5yjeRvq4aUerP/3ZF11SQ== X-Received: by 2002:a05:620a:15ac:: with SMTP id f12mr10934420qkk.19.1602526509083; Mon, 12 Oct 2020 11:15:09 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:08 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Damien Le Moal , Lukasz Majewski Subject: [PATCH v2 02/16] clk: k210: Fix PLL enable always getting taken Date: Mon, 12 Oct 2020 14:13:31 -0400 Message-Id: <20201012181345.338661-3-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This conditional always evaluated as false, regardless of the value of reg. Fix it so that it properly tests the bits in the PLL register. Also test PLL_EN, now that we set it. Reported-by: Damien Le Moal Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- Changes in v2: - New drivers/clk/kendryte/pll.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/clk/kendryte/pll.c b/drivers/clk/kendryte/pll.c index f198920113..d46fd0ebbf 100644 --- a/drivers/clk/kendryte/pll.c +++ b/drivers/clk/kendryte/pll.c @@ -512,7 +512,8 @@ static int k210_pll_enable(struct clk *clk) struct k210_pll *pll = to_k210_pll(clk); u32 reg = readl(pll->reg); - if ((reg | K210_PLL_PWRD) && !(reg | K210_PLL_RESET)) + if ((reg & K210_PLL_PWRD) && (reg & K210_PLL_EN) && + !(reg & K210_PLL_RESET)) return 0; reg |= K210_PLL_PWRD; From patchwork Mon Oct 12 18:13:32 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381072 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=BHC+on0P; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96LJ5VK2z9sT6 for ; Tue, 13 Oct 2020 05:15:52 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 7947782542; Mon, 12 Oct 2020 20:15:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="BHC+on0P"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A1939824D5; Mon, 12 Oct 2020 20:15:14 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AAA42824D5 for ; Mon, 12 Oct 2020 20:15:11 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x742.google.com with SMTP id 140so16790171qko.2 for ; Mon, 12 Oct 2020 11:15:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=xq7sArLTYPY6gszkuMwDDkFWa28PAbMFz36kqxd3jtM=; b=BHC+on0P+eUahfgXybfQwOb+PV8ZYeFZtEBbd6TO9ttCySnTKQd13LtqPsDn+obW6c km6rdQLOGQakVQ/8N/gcy4QZTCtF+Qr/9nPix95EciDEiKX1vy2zMbU+Xv1DQORJRtSs lAxKhtpsG3UNIc/9D7GNZYujT6KAbZgzZpJZC3t9aWQPwTRDoG0m3wtEq7UBi9G516HE GenJ/ckZP9Tqs7iR/yfH9foNXwB+G9R3r+Zl8MXGif+MMKUyPFxWsLnAzVmeqJHKatQK WQxoK34VnLUXvwPi6mETLp1Osk1xGXqXHRepxHI5P2biLvx6We4PCKWdYIr0E43G9ob1 KPHw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=xq7sArLTYPY6gszkuMwDDkFWa28PAbMFz36kqxd3jtM=; b=uScGj57T3bMPo9AvDiO79NNC0t7LOud0hB2nEhYRfxPtMim6PVaLFL5PRfJTuWdPX1 aBHicN0QLw08KxyrzGWoLXts0bBiPESHdWvzML9lYnJs+jPWpOEeEJTGVlHrv4RuhAPH k8gDgzVWVU8zt7AWZ+GBhXOHZ2jR46StEDNhDkn6SSXurxVDUxAqGlVyOD9gOSZ58RI6 pKc1hGsTx6BQYxBKFXP8mXkPK6hllhjVL9VUQMFOhmcSWaPRqof/3xoEyje+SzCw9+mK yGHDEhVK/BkBhExPUGszH7klnbxTVHGksIRJ7aAsNbsIIEvlJkbbU+AuF0P9xm/e5+a7 cMUg== X-Gm-Message-State: AOAM53225mXjQuZzQYHDwWGHfO6JxB6zJHTjphnnUobgunxIMDFff2pY KfPmQi+xHwcoioV6uwXMd86IQ1VPRAPHeA== X-Google-Smtp-Source: ABdhPJz5jMcy6RIe3nKex/gMVkAVrybtbPo0j6KS9paK98L5Ovu8wy4zlig63u4GFcz5fUWnFjOlqQ== X-Received: by 2002:ae9:f444:: with SMTP id z4mr10755180qkl.338.1602526510199; Mon, 12 Oct 2020 11:15:10 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:09 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Lukasz Majewski Subject: [PATCH v2 03/16] clk: k210: Remove bypass clock Date: Mon, 12 Oct 2020 14:13:32 -0400 Message-Id: <20201012181345.338661-4-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean Now that the PLLs get properly enabled, the bypass clock is no longer necessary. Signed-off-by: Sean Anderson --- Changes in v2: - New drivers/clk/kendryte/Makefile | 2 +- drivers/clk/kendryte/bypass.c | 273 ---------------------------------- drivers/clk/kendryte/clk.c | 43 ++---- include/kendryte/bypass.h | 31 ---- 4 files changed, 15 insertions(+), 334 deletions(-) delete mode 100644 drivers/clk/kendryte/bypass.c delete mode 100644 include/kendryte/bypass.h diff --git a/drivers/clk/kendryte/Makefile b/drivers/clk/kendryte/Makefile index 6fb68253ae..d26bce954f 100644 --- a/drivers/clk/kendryte/Makefile +++ b/drivers/clk/kendryte/Makefile @@ -1 +1 @@ -obj-y += bypass.o clk.o pll.o +obj-y += clk.o pll.o diff --git a/drivers/clk/kendryte/bypass.c b/drivers/clk/kendryte/bypass.c deleted file mode 100644 index 5f1986f2cb..0000000000 --- a/drivers/clk/kendryte/bypass.c +++ /dev/null @@ -1,273 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0+ -/* - * Copyright (C) 2020 Sean Anderson - */ - -#define LOG_CATEGORY UCLASS_CLK - -#include -#include -#include -#include -#include -#include -#include -#include - -#define CLK_K210_BYPASS "k210_clk_bypass" - -/* - * This is a small driver to do a software bypass of a clock if hardware bypass - * is not working. I have tried to write this in a generic fashion, so that it - * could be potentially broken out of the kendryte code at some future date. - * - * Say you have the following clock configuration - * - * +---+ +---+ - * |osc| |pll| - * +---+ +---+ - * ^ - * /| - * / | - * / | - * / | - * / | - * +---+ +---+ - * |clk| |clk| - * +---+ +---+ - * - * But the pll does not have a bypass, so when you configure the pll, the - * configuration needs to change to look like - * - * +---+ +---+ - * |osc| |pll| - * +---+ +---+ - * ^ - * |\ - * | \ - * | \ - * | \ - * | \ - * +---+ +---+ - * |clk| |clk| - * +---+ +---+ - * - * To set this up, create a bypass clock with bypassee=pll and alt=osc. When - * creating the child clocks, set their parent to the bypass clock. After - * creating all the children, call k210_bypass_setchildren(). - */ - -static int k210_bypass_dobypass(struct k210_bypass *bypass) -{ - int ret, i; - - /* - * If we already have saved parents, then the children are already - * bypassed - */ - if (bypass->child_count && bypass->saved_parents[0]) - return 0; - - for (i = 0; i < bypass->child_count; i++) { - struct clk *child = bypass->children[i]; - struct clk *parent = clk_get_parent(child); - - if (IS_ERR(parent)) { - for (; i; i--) - bypass->saved_parents[i] = NULL; - return PTR_ERR(parent); - } - bypass->saved_parents[i] = parent; - } - - for (i = 0; i < bypass->child_count; i++) { - struct clk *child = bypass->children[i]; - - ret = clk_set_parent(child, bypass->alt); - if (ret) { - for (; i; i--) - clk_set_parent(bypass->children[i], - bypass->saved_parents[i]); - for (i = 0; i < bypass->child_count; i++) - bypass->saved_parents[i] = NULL; - return ret; - } - } - - return 0; -} - -static int k210_bypass_unbypass(struct k210_bypass *bypass) -{ - int err, ret, i; - - if (!bypass->child_count && !bypass->saved_parents[0]) { - log_warning("Cannot unbypass children; dobypass not called first\n"); - return 0; - } - - ret = 0; - for (i = 0; i < bypass->child_count; i++) { - err = clk_set_parent(bypass->children[i], - bypass->saved_parents[i]); - if (err) - ret = err; - bypass->saved_parents[i] = NULL; - } - return ret; -} - -static ulong k210_bypass_get_rate(struct clk *clk) -{ - struct k210_bypass *bypass = to_k210_bypass(clk); - const struct clk_ops *ops = bypass->bypassee_ops; - - if (ops->get_rate) - return ops->get_rate(bypass->bypassee); - else - return clk_get_parent_rate(bypass->bypassee); -} - -static ulong k210_bypass_set_rate(struct clk *clk, unsigned long rate) -{ - int ret; - struct k210_bypass *bypass = to_k210_bypass(clk); - const struct clk_ops *ops = bypass->bypassee_ops; - - /* Don't bother bypassing if we aren't going to set the rate */ - if (!ops->set_rate) - return k210_bypass_get_rate(clk); - - ret = k210_bypass_dobypass(bypass); - if (ret) - return ret; - - ret = ops->set_rate(bypass->bypassee, rate); - if (ret < 0) - return ret; - - return k210_bypass_unbypass(bypass); -} - -static int k210_bypass_set_parent(struct clk *clk, struct clk *parent) -{ - struct k210_bypass *bypass = to_k210_bypass(clk); - const struct clk_ops *ops = bypass->bypassee_ops; - - if (ops->set_parent) - return ops->set_parent(bypass->bypassee, parent); - else - return -ENOTSUPP; -} - -/* - * For these next two functions, do the bypassing even if there is no - * en-/-disable function, since the bypassing itself can be observed in between - * calls. - */ -static int k210_bypass_enable(struct clk *clk) -{ - int ret; - struct k210_bypass *bypass = to_k210_bypass(clk); - const struct clk_ops *ops = bypass->bypassee_ops; - - ret = k210_bypass_dobypass(bypass); - if (ret) - return ret; - - if (ops->enable) - ret = ops->enable(bypass->bypassee); - else - ret = 0; - if (ret) - return ret; - - return k210_bypass_unbypass(bypass); -} - -static int k210_bypass_disable(struct clk *clk) -{ - int ret; - struct k210_bypass *bypass = to_k210_bypass(clk); - const struct clk_ops *ops = bypass->bypassee_ops; - - ret = k210_bypass_dobypass(bypass); - if (ret) - return ret; - - if (ops->disable) - return ops->disable(bypass->bypassee); - else - return 0; -} - -static const struct clk_ops k210_bypass_ops = { - .get_rate = k210_bypass_get_rate, - .set_rate = k210_bypass_set_rate, - .set_parent = k210_bypass_set_parent, - .enable = k210_bypass_enable, - .disable = k210_bypass_disable, -}; - -int k210_bypass_set_children(struct clk *clk, struct clk **children, - size_t child_count) -{ - struct k210_bypass *bypass = to_k210_bypass(clk); - - kfree(bypass->saved_parents); - if (child_count) { - bypass->saved_parents = - kcalloc(child_count, sizeof(struct clk *), GFP_KERNEL); - if (!bypass->saved_parents) - return -ENOMEM; - } - bypass->child_count = child_count; - bypass->children = children; - - return 0; -} - -struct clk *k210_register_bypass_struct(const char *name, - const char *parent_name, - struct k210_bypass *bypass) -{ - int ret; - struct clk *clk; - - clk = &bypass->clk; - - ret = clk_register(clk, CLK_K210_BYPASS, name, parent_name); - if (ret) - return ERR_PTR(ret); - - bypass->bypassee->dev = clk->dev; - return clk; -} - -struct clk *k210_register_bypass(const char *name, const char *parent_name, - struct clk *bypassee, - const struct clk_ops *bypassee_ops, - struct clk *alt) -{ - struct clk *clk; - struct k210_bypass *bypass; - - bypass = kzalloc(sizeof(*bypass), GFP_KERNEL); - if (!bypass) - return ERR_PTR(-ENOMEM); - - bypass->bypassee = bypassee; - bypass->bypassee_ops = bypassee_ops; - bypass->alt = alt; - - clk = k210_register_bypass_struct(name, parent_name, bypass); - if (IS_ERR(clk)) - kfree(bypass); - return clk; -} - -U_BOOT_DRIVER(k210_bypass) = { - .name = CLK_K210_BYPASS, - .id = UCLASS_CLK, - .ops = &k210_bypass_ops, -}; diff --git a/drivers/clk/kendryte/clk.c b/drivers/clk/kendryte/clk.c index bb196961af..e657efc572 100644 --- a/drivers/clk/kendryte/clk.c +++ b/drivers/clk/kendryte/clk.c @@ -11,7 +11,6 @@ #include #include -#include #include /* All methods are delegated to CCF clocks */ @@ -347,10 +346,6 @@ static const struct k210_comp_params k210_comps[] = { #undef COMP_NOMUX_ID #undef COMP_LIST -static struct clk *k210_bypass_children = { - NULL, -}; - /* Helper functions to create sub-clocks */ static struct clk_mux *k210_create_mux(const struct k210_mux_params *params, void *base) @@ -482,7 +477,7 @@ static int k210_clk_probe(struct udevice *dev) { int ret; const char *in0; - struct clk *in0_clk, *bypass; + struct clk *in0_clk; struct clk_mux *mux; struct clk_divider *div; struct k210_pll *pll; @@ -516,17 +511,13 @@ static int k210_clk_probe(struct udevice *dev) aclk_sels[0] = in0; pll2_sels[0] = in0; - /* - * All PLLs have a broken bypass, but pll0 has the CPU downstream, so we - * need to manually reparent it whenever we configure pll0 - */ - pll = k210_create_pll(&k210_plls[0], base); - if (pll) { - bypass = k210_register_bypass("pll0", in0, &pll->clk, - &k210_pll_ops, in0_clk); - clk_dm(K210_CLK_PLL0, bypass); - } else { - return -ENOMEM; + { + const struct k210_pll_params *params = &k210_plls[0]; + + clk_dm(K210_CLK_PLL0, + k210_register_pll("pll0", in0, base + params->off, + base + params->lock_off, params->shift, + params->width)); } { @@ -565,18 +556,12 @@ static int k210_clk_probe(struct udevice *dev) free(mux); free(div); } else { - struct clk *aclk = - clk_register_composite(NULL, "aclk", aclk_sels, - ARRAY_SIZE(aclk_sels), - &mux->clk, &clk_mux_ops, - &div->clk, &clk_divider_ops, - NULL, NULL, 0); - clk_dm(K210_CLK_ACLK, aclk); - if (!IS_ERR(aclk)) { - k210_bypass_children = aclk; - k210_bypass_set_children(bypass, - &k210_bypass_children, 1); - } + clk_dm(K210_CLK_ACLK, + clk_register_composite(NULL, "aclk", aclk_sels, + ARRAY_SIZE(aclk_sels), + &mux->clk, &clk_mux_ops, + &div->clk, &clk_divider_ops, + NULL, NULL, 0)); } #define REGISTER_COMP(id, name) \ diff --git a/include/kendryte/bypass.h b/include/kendryte/bypass.h deleted file mode 100644 index ab85bbcbfc..0000000000 --- a/include/kendryte/bypass.h +++ /dev/null @@ -1,31 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0+ */ -/* - * Copyright (C) 2020 Sean Anderson - */ -#ifndef K210_BYPASS_H -#define K210_BYPASS_H - -struct clk; - -struct k210_bypass { - struct clk clk; - struct clk **children; /* Clocks to reparent */ - struct clk **saved_parents; /* Parents saved over en-/dis-able */ - struct clk *bypassee; /* Clock to bypass */ - const struct clk_ops *bypassee_ops; /* Ops of the bypass clock */ - struct clk *alt; /* Clock to set children to when bypassing */ - size_t child_count; -}; - -#define to_k210_bypass(_clk) container_of(_clk, struct k210_bypass, clk) - -int k210_bypass_set_children(struct clk *clk, struct clk **children, - size_t child_count); -struct clk *k210_register_bypass_struct(const char *name, - const char *parent_name, - struct k210_bypass *bypass); -struct clk *k210_register_bypass(const char *name, const char *parent_name, - struct clk *bypassee, - const struct clk_ops *bypassee_ops, - struct clk *alt); -#endif /* K210_BYPASS_H */ From patchwork Mon Oct 12 18:13:33 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381074 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=JHjz6Ca5; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96LX036qz9sT6 for ; Tue, 13 Oct 2020 05:16:03 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 71AEC8254E; Mon, 12 Oct 2020 20:15:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="JHjz6Ca5"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2EF548253A; Mon, 12 Oct 2020 20:15:15 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 86EF782524 for ; Mon, 12 Oct 2020 20:15:12 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x743.google.com with SMTP id 140so16790197qko.2 for ; Mon, 12 Oct 2020 11:15:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ZxgyKKD/2CMxQAlcoe9kop6R6wNN/EyMEAPRWuMPCOI=; b=JHjz6Ca5TRHw35Q/ULlUMARE28H5iqAu+A4z8IWCJA/qRwxdThVdpBxfTTg/+XAyu8 1Yv39pkeWJcIK6qvIJGCzByoqz3tpHg8lmKe62JV6EQYtKxGcHI8eiAR3Bw4/jl/I+6c vU9C7nonbWZWTSXmtepoNg1IdSlPjVK+UBffTmGo3f1wZI/E4e4K+s7Uol88BNPZzU4L Q2TMfuekJWWJoCLkCvf+C/N9cbyMbD0VpsyVRKSbT3zUBC2JsKHIxK7q4PU7G0S8AuQs AaqTQ29aZi+eaYTjYwkhG990CvbvVegoLKIcQZGHxD0VPaDyNKgjUdCRM3+EDUmV3tZ/ W5ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ZxgyKKD/2CMxQAlcoe9kop6R6wNN/EyMEAPRWuMPCOI=; b=ZB2YNjv7o9z5wUwiDC4hcAfCCq+1eElKIwtCdF29htmY0aXjNv7jHt1DYBPeuTpeO3 EFm6efn1lhcLjgyL8BlWEd5+eDAEnCPOdAm7FJcDctYaUBOqKySyXDqRpQUhUteP1ONF 4KBd27ZSMKDJ1TZfFkGSnvnKeuNj4ln30Ex4s9aZQnckI0HaIZxkV/jCRhR6k3y7gVK3 kpvzzS9vHZt9yEEksVRe5jp/T/B2EUMumAnr4vAqjeG4heZtkKDqpyCJ/bwTrtNPwOd0 dso8OoIulZ19dAuX6YG8oFlXr2cOJp75qxuLILQuy0DblYPMO4mkkoDT9ELjCBXsz+ko WwHA== X-Gm-Message-State: AOAM532ap3NZLnGil9jg4MFr9rV+Z/L4z62JvY49z64nmY9bsi5aSwxw 6VkODo9Fx/JkghyCg9tKAgMPyLqE2iW15w== X-Google-Smtp-Source: ABdhPJze9J6eSHcDj4aWsSg2tM7VCSk3xTG0SkfhmkMJqXFRqeYxlVkwPx2sxaOGntIsV4gChIFu1Q== X-Received: by 2002:a37:7385:: with SMTP id o127mr11289508qkc.235.1602526511232; Mon, 12 Oct 2020 11:15:11 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:10 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Lukasz Majewski Subject: [PATCH v2 04/16] clk: k210: Remove k210_register_pll Date: Mon, 12 Oct 2020 14:13:33 -0400 Message-Id: <20201012181345.338661-5-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This simplifies the PLL creation process, since we don't have to pass all the parameters individually. Signed-off-by: Sean Anderson --- Changes in v2: - New drivers/clk/kendryte/clk.c | 20 ++++++-------------- drivers/clk/kendryte/pll.c | 21 --------------------- include/kendryte/pll.h | 4 ---- 3 files changed, 6 insertions(+), 39 deletions(-) diff --git a/drivers/clk/kendryte/clk.c b/drivers/clk/kendryte/clk.c index e657efc572..88a997e80b 100644 --- a/drivers/clk/kendryte/clk.c +++ b/drivers/clk/kendryte/clk.c @@ -511,23 +511,15 @@ static int k210_clk_probe(struct udevice *dev) aclk_sels[0] = in0; pll2_sels[0] = in0; - { - const struct k210_pll_params *params = &k210_plls[0]; - + pll = k210_create_pll(&k210_plls[0], base); + if (pll) clk_dm(K210_CLK_PLL0, - k210_register_pll("pll0", in0, base + params->off, - base + params->lock_off, params->shift, - params->width)); - } - - { - const struct k210_pll_params *params = &k210_plls[1]; + k210_register_pll_struct("pll0", in0, pll)); + pll = k210_create_pll(&k210_plls[1], base); + if (pll) clk_dm(K210_CLK_PLL1, - k210_register_pll("pll1", in0, base + params->off, - base + params->lock_off, params->shift, - params->width)); - } + k210_register_pll_struct("pll1", in0, pll)); /* PLL2 is muxed, so set up a composite clock */ mux = k210_create_mux(&k210_muxes[MUXIFY(K210_CLK_PLL2)], base); diff --git a/drivers/clk/kendryte/pll.c b/drivers/clk/kendryte/pll.c index d46fd0ebbf..184f37aaf2 100644 --- a/drivers/clk/kendryte/pll.c +++ b/drivers/clk/kendryte/pll.c @@ -578,27 +578,6 @@ struct clk *k210_register_pll_struct(const char *name, const char *parent_name, return clk; } -struct clk *k210_register_pll(const char *name, const char *parent_name, - void __iomem *reg, void __iomem *lock, u8 shift, - u8 width) -{ - struct clk *clk; - struct k210_pll *pll; - - pll = kzalloc(sizeof(*pll), GFP_KERNEL); - if (!pll) - return ERR_PTR(-ENOMEM); - pll->reg = reg; - pll->lock = lock; - pll->shift = shift; - pll->width = width; - - clk = k210_register_pll_struct(name, parent_name, pll); - if (IS_ERR(clk)) - kfree(pll); - return clk; -} - U_BOOT_DRIVER(k210_pll) = { .name = CLK_K210_PLL, .id = UCLASS_CLK, diff --git a/include/kendryte/pll.h b/include/kendryte/pll.h index 55a40b9c97..95b8494f40 100644 --- a/include/kendryte/pll.h +++ b/include/kendryte/pll.h @@ -55,8 +55,4 @@ extern const struct clk_ops k210_pll_ops; struct clk *k210_register_pll_struct(const char *name, const char *parent_name, struct k210_pll *pll); -struct clk *k210_register_pll(const char *name, const char *parent_name, - void __iomem *reg, void __iomem *lock, u8 shift, - u8 width); - #endif /* K210_PLL_H */ From patchwork Mon Oct 12 18:13:34 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381075 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=sWoGLZ94; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96Lp3V0hz9sT6 for ; Tue, 13 Oct 2020 05:16:18 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4F9EE82556; Mon, 12 Oct 2020 20:15:19 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="sWoGLZ94"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 1F76482543; Mon, 12 Oct 2020 20:15:16 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qv1-xf41.google.com (mail-qv1-xf41.google.com [IPv6:2607:f8b0:4864:20::f41]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A0C7B824B6 for ; Mon, 12 Oct 2020 20:15:13 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qv1-xf41.google.com with SMTP id de3so8790543qvb.5 for ; Mon, 12 Oct 2020 11:15:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rpS6J61jP1b1B3/MkRDbotBQ/y+mhR5vNO1s87rLQdg=; b=sWoGLZ94vtVPSjm8tPXdSFkEOYMQKiy/nvBQaMi+Z0mQXZmYc/wa9nsYQdDKztjMfB AlaaQgU3L271rGo9aX1Enovtm5NK+X2hgm+IDKMGeGeNUf8Dl/Mdkt87o33Rs9RPqaI3 6hHiUiBl73cok9HO3OGbUtrHfnXRwjVuP18kSuje562q44nryP27drMG9tH4urCoEq1Z U4kooYnMyzENyPDPGvXMGJrNvF81rwM1YslhYMlVKuYdmkazJY+BbW/GtReL2Blplbt6 7RRIgoGDCSblGUK9wNjCcgCyBiL1hHgIHZ7otymKV1mJhpnw8jEh3rD4e2+XZLCggN+f 9Upw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rpS6J61jP1b1B3/MkRDbotBQ/y+mhR5vNO1s87rLQdg=; b=YG2maAZd0grfNPm0ISbjEKfUFM49wpAul9WkV8TaG6OxCG/GdbvSCgVp/TQtWIK1NR VAh/xaNtvbV0bbIWaR16C937WLp2PjRs39Wu+KO86+6k81aFRD3vgQ71JGosR7PchtB8 ve57brvJU1URfbkGYsdM9Q+MAYoIioDQj66ctu8TODe4C5muyPxUZo2E4AZzL7bgwi1O hQyn6qsfeUBt5mC0y5wmDOwssbLFPFVVDhbrS+rFhyv6EKEKGu6sY/dtV4c0rIXMqAEd SNCM2GgaCooUYv8zQgyj3Rvp5QiSFouEWJdyKgbxFAJBIMDS+xyiVB4ltSgXeSUetqk/ CmgA== X-Gm-Message-State: AOAM5335ajHa1zgezprLXD099Rje7LWSwfjd1w19Qn6Wwyj1LeRt1pCA 8OPCZyyvwn5TSBD3otEZa7+dbV7syUrClQ== X-Google-Smtp-Source: ABdhPJwvuxyaL1Nu2eP3XOnWnvIs7rycJ9qZNrUSyYhJFxRhyZ6fZ0Gqql7ISw1a/yarcouVGbHccw== X-Received: by 2002:a0c:9d46:: with SMTP id n6mr2776978qvf.22.1602526512229; Mon, 12 Oct 2020 11:15:12 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:11 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Damien Le Moal Subject: [PATCH v2 05/16] clk: k210: Move the clint clock to under aclk Date: Mon, 12 Oct 2020 14:13:34 -0400 Message-Id: <20201012181345.338661-6-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean No other (real) clocks have the cpu clock as their parent; instead they are children of aclk. Move the clint clock under aclk to match them. Signed-off-by: Sean Anderson --- Changes in v2: - New drivers/clk/kendryte/clk.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/kendryte/clk.c b/drivers/clk/kendryte/clk.c index 88a997e80b..28e21d0bf9 100644 --- a/drivers/clk/kendryte/clk.c +++ b/drivers/clk/kendryte/clk.c @@ -625,7 +625,7 @@ static int k210_clk_probe(struct udevice *dev) /* The MTIME register in CLINT runs at one 50th the CPU clock speed */ clk_dm(K210_CLK_CLINT, - clk_register_fixed_factor(NULL, "clint", "cpu", 0, 1, 50)); + clk_register_fixed_factor(NULL, "clint", "aclk", 0, 1, 50)); return 0; } From patchwork Mon Oct 12 18:13:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381076 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=hwu4xt6o; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96M42cqdz9sTK for ; Tue, 13 Oct 2020 05:16:32 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 70D1782540; Mon, 12 Oct 2020 20:15:22 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hwu4xt6o"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EE6EE8254C; Mon, 12 Oct 2020 20:15:16 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 8A36282539 for ; Mon, 12 Oct 2020 20:15:14 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x743.google.com with SMTP id q63so18530812qkf.3 for ; Mon, 12 Oct 2020 11:15:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+vFRy6gNuWgNulV6sUz1WKnDXN4AVz41usztgl8/qJQ=; b=hwu4xt6o143KKoCwGBopKC/l5kEZJ6E9WuZ6sBbfjVU1rIM0KJHnXN9MLfnFBClO85 MALte/bKvuzDoniFLeY//AB+WEFGHnF96yP77RRk7YlKVzUbc/mh4C6rvcJYHGRQwNgm DaH2pgSUq1AgzM1VbY8svy/OobxXnKisqyyXKx2SWBQRu5vGzxB310yugOqb7TmuTTvr YbbxWBL78RlXkABqkkfQ4unl8Gph7Cx1WjB5ytil6ZFVsz6olhVMIG5afPlSD8KVUjl6 RrOHkLso3CtgcOuHeztH7CvAihfUMYnNk+wbWtblG5bdKUe/onHO2hKIzQ6eogmP5TTm Jrag== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+vFRy6gNuWgNulV6sUz1WKnDXN4AVz41usztgl8/qJQ=; b=nK2unXs6URMFSSsHHDUGfbM/QN+qsHQN7gPEUd0OZVX2uK8knZqGkgmt1XJuz7Avn8 jNKaSXAuac+eWkqW1fpj1ILUe6uAXISgcw5bAu3lOQjPoDxf6prCsQ+mcohh5L+Jd/+u hHx2EF8TD8i862UZ1Rmlhq01Z3ESpCPP6CzZLhjbGW/fF7Y+N5N+iKKlwFEDNv3lub1/ iz0A3xrPc1vpx5kxqlKgwbAlNIo4KCJ9e3LHS7yUC15Z+jvA5xHSD8hrGO5Jd/bY1IcK 4k+D7/l1K9YC/r4nWql9XUH7XSzS0CVe8r71+PIhc4Jk9mwpwY6aH+d9NatB3UMbQaGv NPUw== X-Gm-Message-State: AOAM533YSwN1IeLbfriTRTbrPM0ml6/JS1+bxMsZnwMmh+BITkbF1wUY KZyzQ8VD594HCM4/e3y1F+uhoHbfAvZJ/Q== X-Google-Smtp-Source: ABdhPJxvu99OBJ6zorngmmEV2d6/jxg6yaTlVbDUmZDZ55CweIeEJKuitHqcJkg5pSQ3PfYI6i3Gaw== X-Received: by 2002:a05:620a:214a:: with SMTP id m10mr10746508qkm.210.1602526513369; Mon, 12 Oct 2020 11:15:13 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:12 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Lukasz Majewski Subject: [PATCH v2 06/16] clk: Add support for the k210 clock driver pre-relocation Date: Mon, 12 Oct 2020 14:13:35 -0400 Message-Id: <20201012181345.338661-7-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean Variables which had previously been stored in .bss are moved to .data. In addition, probed needs to be reset when the clock driver is re-bound post-relocation. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- (no changes since v1) drivers/clk/kendryte/clk.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/drivers/clk/kendryte/clk.c b/drivers/clk/kendryte/clk.c index 28e21d0bf9..3e4818e9ef 100644 --- a/drivers/clk/kendryte/clk.c +++ b/drivers/clk/kendryte/clk.c @@ -471,7 +471,14 @@ cleanup_mux: return comp; } -static bool probed; +static bool __section(.data) probed; + +/* reset probed so we will probe again post-relocation */ +static int k210_clk_bind(struct udevice *dev) +{ + probed = false; + return 0; +} static int k210_clk_probe(struct udevice *dev) { @@ -640,5 +647,6 @@ U_BOOT_DRIVER(k210_clk) = { .id = UCLASS_CLK, .of_match = k210_clk_ids, .ops = &k210_clk_ops, + .bind = k210_clk_bind, .probe = k210_clk_probe, }; From patchwork Mon Oct 12 18:13:36 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381077 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=UvCMfST/; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96ML0tWWz9sT6 for ; Tue, 13 Oct 2020 05:16:46 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6AE5C8254C; Mon, 12 Oct 2020 20:15:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UvCMfST/"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 5B68C82558; Mon, 12 Oct 2020 20:15:19 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qv1-xf43.google.com (mail-qv1-xf43.google.com [IPv6:2607:f8b0:4864:20::f43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id A390C82540 for ; Mon, 12 Oct 2020 20:15:15 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qv1-xf43.google.com with SMTP id de3so8790595qvb.5 for ; Mon, 12 Oct 2020 11:15:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TRYWJPKMb5g0icRxVsalCQBrX5CoRD0SKvyK/Sdrm5Y=; b=UvCMfST/jRjtDKiMtaLtgbupqYvYyj5Ha5HEXmRXuCLvkTJ447L5DtJXIglHosE31m LUM2jzwZ0KrMiW7sdmhcRbXTCJdkqjDyoFFb844/8R6yRv/vl2HCRALvaMJhlMWOiRQ1 SohezNVqRMqsJ0HZSNARTtKiv47ixVweE9nXjSZMc1DRlPtbuvv5O4msa2bOqJrHg4mx VAWOW8jZMZVZ7zooFRMXXcR1mMazOO2sz9Adgbs31jL+33GpWjKpkCFdkoa+LPXl4iDW DKZhTb9IZl8Ql6Kqo8XOzzYOEAhuW69S7HxPCS18B1gAzKyjQIie7snttnpH+EmZlqMf gmrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TRYWJPKMb5g0icRxVsalCQBrX5CoRD0SKvyK/Sdrm5Y=; b=dd//QU0m6wE55gZIe0/fwPEe6iSuZFdHJO4b3VOuRywLOyxMxNLm+YdbCRnkSdkXjt CpWLOA7XgVuBBipxlzIkYvkq0Tdm71bMv9vMqB+RhTNHSDSM2gPG67SZ2eYUwtcrttlw sRPlJeFFaUMkEaDUiUVee5cFFu+3BpOMfCUq18MV+RlTPx1kkRi9bxPskjdcW+7VyhOD 7Ybs/ns10n6gARQ1dgwAtm3NAKcxRwUefCdyweY9Z3I4Fw569yJ4ZxnXsqbevCtAl811 G8lTxVP25u8OE8atJGMFmtJMO62ub3dIHllL/IqjsLKenVgwgWjYQrFnevYKZuHrOp4P knZQ== X-Gm-Message-State: AOAM531IceLazov2hk2CpC8KKRoIB2WKNCvvbkNNZ2LtkVK/vKXG1fhb 2nHuarLZKiowxX/IrybbJogMR3iDSBPaBw== X-Google-Smtp-Source: ABdhPJwAesXsZVPI8K2QU1c/388U07u0/9sUbSZePyKyvA0fiVYZBL9cC7a90XuArOGx1gYBR9qTKg== X-Received: by 2002:a0c:f442:: with SMTP id h2mr13977955qvm.55.1602526514433; Mon, 12 Oct 2020 11:15:14 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:13 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson Subject: [PATCH v2 07/16] riscv: Enable some devices pre-relocation Date: Mon, 12 Oct 2020 14:13:36 -0400 Message-Id: <20201012181345.338661-8-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean These devices are necessary for the clock driver, which is required by the sram driver, to run pre-relocation. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- (no changes since v1) arch/riscv/dts/k210.dtsi | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/riscv/dts/k210.dtsi b/arch/riscv/dts/k210.dtsi index 7605c01f3c..86d50f14e5 100644 --- a/arch/riscv/dts/k210.dtsi +++ b/arch/riscv/dts/k210.dtsi @@ -91,6 +91,7 @@ <&sysclk K210_CLK_SRAM1>, <&sysclk K210_CLK_PLL1>; clock-names = "sram0", "sram1", "airam"; + u-boot,dm-pre-reloc; }; reserved-memory { @@ -109,6 +110,7 @@ compatible = "fixed-clock"; #clock-cells = <0>; clock-frequency = <26000000>; + u-boot,dm-pre-reloc; }; }; @@ -503,11 +505,13 @@ "syscon", "simple-mfd"; reg = <0x50440000 0x100>; reg-io-width = <4>; + u-boot,dm-pre-reloc; sysclk: clock-controller { #clock-cells = <1>; compatible = "kendryte,k210-clk"; clocks = <&in0>; + u-boot,dm-pre-reloc; }; sysrst: reset-controller { From patchwork Mon Oct 12 18:13:37 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381078 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=s8tXIzZD; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96MZ4ywBz9sT6 for ; Tue, 13 Oct 2020 05:16:58 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 576F18256E; Mon, 12 Oct 2020 20:15:24 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="s8tXIzZD"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 6EDE982540; Mon, 12 Oct 2020 20:15:19 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qv1-xf44.google.com (mail-qv1-xf44.google.com [IPv6:2607:f8b0:4864:20::f44]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id B320582543 for ; Mon, 12 Oct 2020 20:15:16 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qv1-xf44.google.com with SMTP id o25so2258187qvf.7 for ; Mon, 12 Oct 2020 11:15:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=nUxm7he+URURQ9M7eM73aeqnKHJaY8Ccf5P0QUqThbQ=; b=s8tXIzZDWj4BO9OPI/0Csk8u5avUQ4qF3dlHxr//j2claxcf1UHpYGT2rQ2+0GZgy6 tReuNElM0YE3SjvEiui9nFJLELA6MF78tRpnEYg9B4pYMXXlfvJMn03zVFSyRY8dS8LB RYNviZ/dt7bwQHkWTq19SmAGlCwvOd3TTG1NNWRAiJmwJ4yTnQwiQ3Jo4jScEnOpHCKp NB568OmMHi4lI39LnzomPLIT0LzUXKLl9mjasaDHr8Y0l2dV95ERTB/XKlw2d3sZxdPS KkbRP0RJx4oKOPlKkRGIS71rhn+qdV6sMmAKFntHEGoI2zcZz/XNpsz3U4tzRdxlwldB QidQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nUxm7he+URURQ9M7eM73aeqnKHJaY8Ccf5P0QUqThbQ=; b=mpGoLWQh+ySSt44lCkzMhO6se2hfcR7vqrvZ8i4tW19eXqNYgXU4G4hgyA4vl+4mcU fACPCj+6tTjS9gFVR0JDTCAdl3tgE1b8kPCfEcV/7Ont/STVDmWoa/ica1s6S1t4gI1z 59KwHNWXIVuEuW68ZIHdtm1HkvdgcdUcj0yHHMufKqBo3FgMGEGP+t8Oo6pGLZBU2mJv Sq+6QmtY6nSg8F2INyw3nljDSTO0MfoGOKv2C5TPR7OI+ISWXtUpRqH4+7nzQMAyLC4R utnaC5BTld3HD4l6W1TJsHs7y7GrYszIDD57u3rdPN7GRHed7jEf9Xmc2RJiXgXyyWw/ 679w== X-Gm-Message-State: AOAM532gp+kazIJZNTez7No03z7Mx/4eXBum5x7+1eBJlnwfxhbho/Zu gYStGdYb16k8Pd+cV2GgVm+NLCUa9mXWGA== X-Google-Smtp-Source: ABdhPJzecC42oW4gEggSI1ItjEwgu/JKwhM47KGwpqcLkgnH19BOk+2/i1zBPt2bNyZ9xPtKsSY7KQ== X-Received: by 2002:a0c:9a01:: with SMTP id p1mr25460716qvd.61.1602526515420; Mon, 12 Oct 2020 11:15:15 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:14 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Simon Glass Subject: [PATCH v2 08/16] lib: fdt: Add fdtdec_setup_mem_size_base_highest Date: Mon, 12 Oct 2020 14:13:37 -0400 Message-Id: <20201012181345.338661-9-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This is very similar to fdtdec_setup_mem_size_base_lowest, except we pick the highest ram bank, instead of the lowest. This is helpful for boards which use separate but contiguous ram banks, as it leaves the most space for loading programs. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass Reviewed-by: Rick Chen --- (no changes since v1) include/fdtdec.h | 19 ++++++++++++++++++- lib/fdtdec.c | 34 +++++++++++++++++++++++++++++----- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/include/fdtdec.h b/include/fdtdec.h index 62d1660973..6a8e235674 100644 --- a/include/fdtdec.h +++ b/include/fdtdec.h @@ -944,7 +944,7 @@ int fdtdec_setup_mem_size_base(void); * gd->ram_start by lowest available memory base * * Decode the /memory 'reg' property to determine the lowest start of the memory - * bank bank and populate the global data with it. + * bank and populate the global data with it. * * This function should be called from a boards dram_init(). This helper * function allows for boards to query the device tree for DRAM size and start @@ -956,6 +956,23 @@ int fdtdec_setup_mem_size_base(void); */ int fdtdec_setup_mem_size_base_lowest(void); +/** + * fdtdec_setup_mem_size_base_highest() - decode and setup gd->ram_size and + * gd->ram_start by highest available memory top + * + * Decode the /memory 'reg' property to determine the highest end of the memory + * bank and populate the global data with it. + * + * This function should be called from a boards dram_init(). This helper + * function allows for boards to query the device tree for DRAM size and start + * address instead of hard coding the value in the case where the memory size + * and start address cannot be detected automatically. + * + * @return 0 if OK, -EINVAL if the /memory node or reg property is missing or + * invalid + */ +int fdtdec_setup_mem_size_base_highest(void); + /** * fdtdec_setup_memory_banksize() - decode and populate gd->bd->bi_dram * diff --git a/lib/fdtdec.c b/lib/fdtdec.c index ee1bd41b08..78b34bf4da 100644 --- a/lib/fdtdec.c +++ b/lib/fdtdec.c @@ -1123,7 +1123,7 @@ int fdtdec_setup_memory_banksize(void) return 0; } -int fdtdec_setup_mem_size_base_lowest(void) +static int fdtdec_setup_mem_size_base_superlative(bool lowest) { int bank, ret, reg = 0; struct resource res; @@ -1131,7 +1131,16 @@ int fdtdec_setup_mem_size_base_lowest(void) phys_size_t size; ofnode mem = ofnode_null(); - gd->ram_base = (unsigned long)~0; + /* + * Size must be 1 so we don't underflow when doing the subtraction below + * when lowest = false. Hopefully any real ram banks will have a greater + * size :) + */ + gd->ram_size = 1; + if (lowest) + gd->ram_base = (unsigned long)~0; + else + gd->ram_base = 0; mem = get_next_memory_node(mem); if (!ofnode_valid(mem)) { @@ -1158,17 +1167,32 @@ int fdtdec_setup_mem_size_base_lowest(void) base = (unsigned long)res.start; size = (phys_size_t)(res.end - res.start + 1); - if (gd->ram_base > base && size) { + if (!size) + continue; + + if ((lowest && gd->ram_base > base) || + (!lowest && gd->ram_base + gd->ram_size - 1 < res.end)) { gd->ram_base = base; gd->ram_size = size; - debug("%s: Initial DRAM base %lx size %lx\n", - __func__, base, (unsigned long)size); } } + if (gd->ram_size) + debug("%s: Initial DRAM base %lx size %lx\n", __func__, + gd->ram_base, (unsigned long)gd->ram_size); return 0; } +int fdtdec_setup_mem_size_base_lowest(void) +{ + return fdtdec_setup_mem_size_base_superlative(true); +} + +int fdtdec_setup_mem_size_base_highest(void) +{ + return fdtdec_setup_mem_size_base_superlative(false); +} + #if CONFIG_IS_ENABLED(MULTI_DTB_FIT) # if CONFIG_IS_ENABLED(MULTI_DTB_FIT_GZIP) ||\ CONFIG_IS_ENABLED(MULTI_DTB_FIT_LZO) From patchwork Mon Oct 12 18:13:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381079 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=f/9FZlAa; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96Mp4qd1z9sT6 for ; Tue, 13 Oct 2020 05:17:10 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4F96782574; Mon, 12 Oct 2020 20:15:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="f/9FZlAa"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 540B382558; Mon, 12 Oct 2020 20:15:20 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qv1-xf43.google.com (mail-qv1-xf43.google.com [IPv6:2607:f8b0:4864:20::f43]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id AF23D8254C for ; Mon, 12 Oct 2020 20:15:17 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qv1-xf43.google.com with SMTP id t6so4669600qvz.4 for ; Mon, 12 Oct 2020 11:15:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hkk6855rxMyMDKCvPhKQVmI75XW2lEqnprDrlXVZFDE=; b=f/9FZlAa2/uhKztRaN3dkMljrxvP39O+Zcdcr1i+Q9xNl2KD7gr92zX+8R42yAHP1E kOVK1ISTap5fenNymvwa07V528qhyjsUxAEua2w/DV0yu9rS4lS6J6H+naJFm+sUo+TF Cz5KL5tWE+f3PdUiAOn3LeiQmMVdh7gkS7LHaxSePxO7XrDDWddjJAsTmCX1UjOot2D9 8SM49rmqqTa+CnKtruH/pzDHVqSSKQjq+Xe0rDw7HJ1Xpkn/2WIg2yCceMOFb9LcnQeE uTNtlx2xngVTtF8JoQdJOk0amAmKLjpDMe54FaJhHFkcesmzsKIOvWrHyr1Beu+aGnLB rGpw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=hkk6855rxMyMDKCvPhKQVmI75XW2lEqnprDrlXVZFDE=; b=aQH3WDiZqvTCXK5cCI8o/TB124A7qwy++qyhokys1zlxwBYrjunBaV1yDfQfcd3fAz aWwURg+CgQjUa7dNTXN+evbrfjzm0r1yqIt4FrO5yZjkmXECF3Fjcb/JjKrLokQwL7Qq v5pcepcEeM/h63ykhBoAXLbPKLrnKddHE4FhFv+HhryyvJuiGEkClDJcPDE0WYxaRQI/ ax5qwOhz9YYUh/opPxZPmROE45voDZpnw6nJVPj501KnnhzkqN1qxFSLqBUA+2oyxZoj ypq/Xb8r7hjt37ocQItkF6070S6Dy/Q3/evFJ8BaAj3xicEP5kw7cJgB3pxKqjfzv0Xn OQnA== X-Gm-Message-State: AOAM530ryKNCS6vv7oAXNNK/ZxXCspROsuhmt4FSKxMLh+H0xzeT15jW XiuFEgd0EG4qMuSOc7V7vRgOWhN9xTpkeQ== X-Google-Smtp-Source: ABdhPJxGxdClUbug5PQbM/Y0soU0KF7HBLpwE851kDNYVi0RAjUvlBswzxQwPcUaHJdJ6eHQAScFLQ== X-Received: by 2002:a0c:b29e:: with SMTP id r30mr27073462qve.38.1602526516456; Mon, 12 Oct 2020 11:15:16 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:15 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Simon Glass Subject: [PATCH v2 09/16] test: Add a test for fdtdec_setup_mem_size_base et al. Date: Mon, 12 Oct 2020 14:13:38 -0400 Message-Id: <20201012181345.338661-10-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This adds a test for the various methods of extracting ram_base and ram_size from a device tree. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass --- (no changes since v1) arch/sandbox/dts/test.dts | 12 ++++++++++ configs/sandbox64_defconfig | 2 +- configs/sandbox_defconfig | 2 +- configs/sandbox_flattree_defconfig | 2 +- test/dm/fdtdec.c | 38 ++++++++++++++++++++++++++++++ 5 files changed, 53 insertions(+), 3 deletions(-) diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index c7d1376911..f13bbdca7d 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -1221,6 +1221,18 @@ compatible = "sandbox,regmap_test"; }; }; + + memory@0000 { + device_type = "memory"; + reg = <0x1000 0x2000>, + <0x0000 0x1000>; + }; + + memory@8000 { + device_type = "memory"; + reg = <0x8000 0x0000>, + <0x4000 0x3000>; + }; }; #include "sandbox_pmic.dtsi" diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig index c3ca796d51..6324961cf1 100644 --- a/configs/sandbox64_defconfig +++ b/configs/sandbox64_defconfig @@ -1,5 +1,5 @@ CONFIG_SYS_TEXT_BASE=0 -CONFIG_NR_DRAM_BANKS=1 +CONFIG_NR_DRAM_BANKS=4 CONFIG_ENV_SIZE=0x2000 CONFIG_PRE_CON_BUF_ADDR=0x100000 CONFIG_BOOTSTAGE_STASH_ADDR=0x0 diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 18f787cb51..2f2333febc 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -1,5 +1,5 @@ CONFIG_SYS_TEXT_BASE=0 -CONFIG_NR_DRAM_BANKS=1 +CONFIG_NR_DRAM_BANKS=4 CONFIG_ENV_SIZE=0x2000 CONFIG_PRE_CON_BUF_ADDR=0xf0000 CONFIG_BOOTSTAGE_STASH_ADDR=0x0 diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig index dd93167e1b..a4941b54d3 100644 --- a/configs/sandbox_flattree_defconfig +++ b/configs/sandbox_flattree_defconfig @@ -1,5 +1,5 @@ CONFIG_SYS_TEXT_BASE=0 -CONFIG_NR_DRAM_BANKS=1 +CONFIG_NR_DRAM_BANKS=4 CONFIG_ENV_SIZE=0x2000 CONFIG_BOOTSTAGE_STASH_ADDR=0x0 CONFIG_DEFAULT_DEVICE_TREE="sandbox" diff --git a/test/dm/fdtdec.c b/test/dm/fdtdec.c index 017157a2ec..00ccb8c615 100644 --- a/test/dm/fdtdec.c +++ b/test/dm/fdtdec.c @@ -131,3 +131,41 @@ static int dm_test_fdtdec_add_reserved_memory(struct unit_test_state *uts) } DM_TEST(dm_test_fdtdec_add_reserved_memory, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT | UT_TESTF_FLAT_TREE); + +static int _dm_test_fdtdec_setup_mem(struct unit_test_state *uts) +{ + ut_assertok(fdtdec_setup_mem_size_base()); + ut_asserteq(0x1000, gd->ram_base); + ut_asserteq(0x2000, gd->ram_size); + + ut_assertok(fdtdec_setup_mem_size_base_lowest()); + ut_asserteq(0x0000, gd->ram_base); + ut_asserteq(0x1000, gd->ram_size); + + ut_assertok(fdtdec_setup_mem_size_base_highest()); + ut_asserteq(0x4000, gd->ram_base); + ut_asserteq(0x3000, gd->ram_size); + + return 0; +} + +/* + * We need to wrap the actual test so that we don't overwrite the ram parameters + * for the rest of U-Boot + */ +static int dm_test_fdtdec_setup_mem(struct unit_test_state *uts) +{ + int ret; + unsigned long base, size; + + base = gd->ram_base; + size = gd->ram_size; + + ret = _dm_test_fdtdec_setup_mem(uts); + + gd->ram_base = base; + gd->ram_size = size; + + return ret; +} +DM_TEST(dm_test_fdtdec_setup_mem, UT_TESTF_SCAN_FDT | UT_TESTF_FLAT_TREE); From patchwork Mon Oct 12 18:13:39 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381080 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=seRneL4y; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96N23rJpz9sT6 for ; Tue, 13 Oct 2020 05:17:22 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 3B75C82578; Mon, 12 Oct 2020 20:15:26 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="seRneL4y"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 8293C82558; Mon, 12 Oct 2020 20:15:21 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EB35F824B6 for ; Mon, 12 Oct 2020 20:15:18 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x842.google.com with SMTP id q26so14198692qtb.5 for ; Mon, 12 Oct 2020 11:15:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=orQu/UtQCBa98f3pkzeGFBPQ66u0tsD9v/uqHOAbup4=; b=seRneL4yuZReuMFXulmiRhIe4iI2iMxCslQNCmXdLg0LDIu1sXpaJIm8Pc3CLqLJiT zfGxFbNLeSMef9B2p9zTKZPF1C22ssWkrCBXtarGO3QAxnlYBqvyYp2Qpp5Uidsp/KBU wwxARm7cQqOTCzVTsx2Iup/XmvMQK6TvdAsF1LrE7GNoh/gLM3UVspuHiFbWcBsMWhHb WfPW2WLbNm4HTyX8jy6YgNkQjGqBxFfZLENE4XkfaqWVC8OfRDP05RYqvdcM3RbwjzkK +EHmY3yEijr6Jv3Aezmwe1LPpt14N8kpUTaLQbR9G3jof+mBMOU6gssny6HNipeqOEm8 ffsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=orQu/UtQCBa98f3pkzeGFBPQ66u0tsD9v/uqHOAbup4=; b=a3XvdZd5Ds8PTJSVj1QG8FCJaSUbWYPyKZI38nMj97mBmCORHE4FMkitX32mLeJ5HH IGy25B6Rib2dGKndFsJbjkqztJdtE+4535bQpch4GPqGcqtyDlBLxyFVxe56A1UL+oLE 5UbFdw3azQnwP+BZB0LrRM5t8J/2UXaJ5cAOKa4HUaOzn7UtGZIGA/4SQ3oeoD3b8QzT 7n0KJc0aL+/iNP9OS2CxL9V2SuPhVJhXYV9Ro3JBfHBXQwT/5YoEr4X3Y+Z6j7AZ/kY4 pEypjzzNkM4Lo0XFYMNsDuwprWpt5o968uHmVSPZxLFLPcDRLh6IvCWgJXRT9Y+NRJ3Q KoeQ== X-Gm-Message-State: AOAM5337q8Uy51d3UrtikrLNkRzUW7tib4wBJwYyu/4Db65Zp4zsMY3G 537UArP7g+H5ZC5+UndJII6zCi1j8f2LDA== X-Google-Smtp-Source: ABdhPJw7161BoDWX6IjnsIt0Z1scCUA89CfVe3vBVIpxecFeCfHvT/HB/chUYcjbd6yDooe83+IH8w== X-Received: by 2002:ac8:1a1b:: with SMTP id v27mr11317728qtj.247.1602526517581; Mon, 12 Oct 2020 11:15:17 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:16 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Simon Glass Subject: [PATCH v2 10/16] ram: Add driver for K210 SRAM Date: Mon, 12 Oct 2020 14:13:39 -0400 Message-Id: <20201012181345.338661-11-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This adds a driver to handle enabling the clock for the AI SRAM. This was previously done in board_init, but it needs to happen before relocation now. An alternative would be to move this to board_init_early_f, but by doing it this way we can use clk_bulk. Signed-off-by: Sean Anderson Reviewed-by: Simon Glass Reviewed-by: Rick Chen --- (no changes since v1) MAINTAINERS | 1 + drivers/ram/Kconfig | 7 ++++++ drivers/ram/Makefile | 1 + drivers/ram/kendryte.c | 56 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 drivers/ram/kendryte.c diff --git a/MAINTAINERS b/MAINTAINERS index fb9ba37984..166acb30c2 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -938,6 +938,7 @@ F: doc/device-tree-bindings/mfd/kendryte,k210-sysctl.txt F: doc/device-tree-bindings/pinctrl/kendryte,k210-fpioa.txt F: drivers/clk/kendryte/ F: drivers/pinctrl/kendryte/ +F: drivers/ram/kendryte.c F: include/kendryte/ RNG diff --git a/drivers/ram/Kconfig b/drivers/ram/Kconfig index a270e13b26..075e6b5cd7 100644 --- a/drivers/ram/Kconfig +++ b/drivers/ram/Kconfig @@ -73,6 +73,13 @@ config IMXRT_SDRAM to support external memories like sdram, psram & nand. This driver is for the sdram memory interface with the SEMC. +config K210_SRAM + bool "Enable Kendryte K210 SRAM support" + depends on RAM + help + The Kendryte K210 has three banks of SRAM. This driver does the + necessary initialization. + source "drivers/ram/aspeed/Kconfig" source "drivers/ram/rockchip/Kconfig" source "drivers/ram/sifive/Kconfig" diff --git a/drivers/ram/Makefile b/drivers/ram/Makefile index 209a78c06f..fdc9bbeb1f 100644 --- a/drivers/ram/Makefile +++ b/drivers/ram/Makefile @@ -18,6 +18,7 @@ obj-$(CONFIG_ARCH_ASPEED) += aspeed/ obj-$(CONFIG_K3_J721E_DDRSS) += k3-j721e/ obj-$(CONFIG_IMXRT_SDRAM) += imxrt_sdram.o +obj-$(CONFIG_K210_SRAM) += kendryte.o obj-$(CONFIG_RAM_SIFIVE) += sifive/ diff --git a/drivers/ram/kendryte.c b/drivers/ram/kendryte.c new file mode 100644 index 0000000000..50818bf005 --- /dev/null +++ b/drivers/ram/kendryte.c @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2020 Sean Anderson + */ + +#include +#include +#include +#include + +static int k210_sram_probe(struct udevice *dev) +{ + int ret; + struct clk_bulk clocks; + + /* Relocate as high as possible to leave more space to load payloads */ + ret = fdtdec_setup_mem_size_base_highest(); + if (ret) + return ret; + + /* Enable ram bank clocks */ + ret = clk_get_bulk(dev, &clocks); + if (ret) + return ret; + + ret = clk_enable_bulk(&clocks); + if (ret) + return ret; + + return 0; +} + +static int k210_sram_get_info(struct udevice *dev, struct ram_info *info) +{ + info->base = gd->ram_base; + info->size = gd->ram_size; + + return 0; +} + +static struct ram_ops k210_sram_ops = { + .get_info = k210_sram_get_info, +}; + +static const struct udevice_id k210_sram_ids[] = { + { .compatible = "kendryte,k210-sram" }, + { } +}; + +U_BOOT_DRIVER(fu540_ddr) = { + .name = "k210_sram", + .id = UCLASS_RAM, + .of_match = k210_sram_ids, + .ops = &k210_sram_ops, + .probe = k210_sram_probe, +}; From patchwork Mon Oct 12 18:13:40 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381081 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=ZbGbagtH; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96NF08Txz9sT6 for ; Tue, 13 Oct 2020 05:17:32 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 07AD082580; Mon, 12 Oct 2020 20:15:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="ZbGbagtH"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 2AAF782558; Mon, 12 Oct 2020 20:15:22 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x843.google.com (mail-qt1-x843.google.com [IPv6:2607:f8b0:4864:20::843]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id C7FC282540 for ; Mon, 12 Oct 2020 20:15:19 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x843.google.com with SMTP id t9so13397731qtp.9 for ; Mon, 12 Oct 2020 11:15:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rOBqNarUH9nzfsZnSk9194CJ1t0cASNJyrT/prdReU8=; b=ZbGbagtHNOaYLyKkRtU9FnsWP9jZZ3PkN7o059rOICbt6Iy5baNd6/ipTLJ+tY9uHF S+z3dOXQy5WXPqLTOkBChAUWABpMbBm0Qtd7k69Tw/QQNjo0YcZSHnmxLItbGwl/xNyN AomgqIVVNwnRYUXD4zOJchqZ8O/QUie3TjSDeoQBAwtuhTRhCwUiqU/6FGwD98+EG/6I fqq2WZbCn4Jf4dIb/qmKn2UY8kI43IIvuSE/BFSF26KklBCYm+RY9XEd5hP2S+g9FHT9 UiHg1zp/GbYS4dKBxnfTGsO0WAMRlmuHjQgqz7pct9JDSH5j5HYXTzyi5//Av9eBpNI4 2rOw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rOBqNarUH9nzfsZnSk9194CJ1t0cASNJyrT/prdReU8=; b=k9FssRFInpRQdy2IMaAT6OXyvxVX7lp2aPoxhUuJb72EUhz8hlm09I4dycHwwa4pEq RtUMdgGo55p59F3SAyFbaG8PE9fYmgGOebqAleMpmfrDtI1k36F6Eaw7f2QtpvDZbgmF G6RaU9MeTO7bdnjFIf7M0wgLPBWRrbFDoLz9s/Wo+yN+aoO1P+ZlQZD6PYiIG/DX8A+6 aOyquyBxR4aKziw7ubVn9+8pUytenTN1Uq5ZE25g17G16dnZhxuSGINm3QvD7IB/ndqk YDARFI+i59Pxkb7QK0PV+kL4nd5HCG2kcIlEUm106Rk2isjbZbCb8LjaiUZ23+TyQb7I vUGg== X-Gm-Message-State: AOAM53030LFphfEmRTNnqRClGokxGxAUo4LFUGyCvWbNS8vP8flwSuJo oWnIO6fGrIm+EJ1uKKT4BwYinFxccF7syQ== X-Google-Smtp-Source: ABdhPJyj/+9t8TT82xcS+xTZMLGJ3fbSBCh4A7fCVwGjGtHNF8SqnAeaf17aHsAhHN+w807XxvClBA== X-Received: by 2002:ac8:67ca:: with SMTP id r10mr11768424qtp.303.1602526518604; Mon, 12 Oct 2020 11:15:18 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:18 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Pragnesh Patel , Pragnesh Patel Subject: [PATCH v2 11/16] ram: sifive: Default to y only if compiling for fu540 Date: Mon, 12 Oct 2020 14:13:40 -0400 Message-Id: <20201012181345.338661-12-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean Other RISC-V targets should not have RAM_SIFIVE enabled by default. Signed-off-by: Sean Anderson Reviewed-by: Pragnesh Patel Reviewed-by: Rick Chen --- (no changes since v1) drivers/ram/sifive/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/ram/sifive/Kconfig b/drivers/ram/sifive/Kconfig index 6aca22ab2a..b24153d971 100644 --- a/drivers/ram/sifive/Kconfig +++ b/drivers/ram/sifive/Kconfig @@ -1,7 +1,7 @@ config RAM_SIFIVE bool "Ram drivers support for SiFive SoCs" depends on RAM && RISCV - default y + default y if TARGET_SIFIVE_FU540 help This enables support for ram drivers of SiFive SoCs. From patchwork Mon Oct 12 18:13:41 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381082 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=Svua1+7J; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96NQ4x4Zz9sT6 for ; Tue, 13 Oct 2020 05:17:42 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id CC1F882584; Mon, 12 Oct 2020 20:15:29 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Svua1+7J"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 61ACA82560; Mon, 12 Oct 2020 20:15:23 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x844.google.com (mail-qt1-x844.google.com [IPv6:2607:f8b0:4864:20::844]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id EE4EA8254C for ; Mon, 12 Oct 2020 20:15:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x844.google.com with SMTP id c5so14211184qtw.3 for ; Mon, 12 Oct 2020 11:15:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NZ6+i3lvRiYa8eftD3qAFx7SYi971lYS8xHaz1efuaw=; b=Svua1+7JtRA0g0e3CJb0Ycm2JBiXKhBh93C8RFjvK20ebfrwF+aQbXjfk27o6OUYnF MzDh1aIK9nCSsEYeT0vj7D50ZiSFoWc+fiHiQvikWLKikDBZbyvICVQA0A8NLmD1uWq3 BiWO/+GM/MJg63cGdhsNG4V+pemg3oWzCK8kx+BiZT4z7jH9+J+rtXb0exTrJW5T1Hjl GR43zDGsn08jc1hNTKx1kFfSlErX7PqGBPK9JhBCBvof2RDuegm5he8/wu5cov7bBRs7 NrDN/xNcK0ROjj5t5i8YKy01vO2qTMl70vpVpSkf1aIdcBV91oKX3PVnzooNjhrc+i2w WNUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=NZ6+i3lvRiYa8eftD3qAFx7SYi971lYS8xHaz1efuaw=; b=Jl/4XyL4BoXnkegCe9VefZEnlNkS8esCir+ffXS5BQiBFOj5V7PIoxF+NxoEn3DHvU 3QDQArjSXY0woM7BvKN0k/a9LXFeRlEfSt92fojZWOh9e7WyA4T+8WeAmzJgz/CVi4sM dX+NQyz2wy6o54Y1sNYm42dJL8VPHnDrWYOklJgGUzOYFytxKQeWspe22Xo5oDdPfdTy 1Tl27Yt3inKyTgb5/AS/e04cIMl+SwX4ONYJ8xm9nOW/IkRXpfFIK81VFasTNQg1WgF1 2c06sMhLHw40RVzGVdwb8y387zo5yW2sDA4j3l2RrHk09A87boBAuQH7KjDrJEYSZQU0 Xtag== X-Gm-Message-State: AOAM5317xMN52w9mwsAwgmY+x8fbqUpiHQPWRUJLs9irFWj15J0RdiKg hq4fx7HAo3o2tki7QyBq47bktM6lwfdYRQ== X-Google-Smtp-Source: ABdhPJyhl3asVS4h7lgndIsAePUhYYY56WzGfHoFEwjxm7ss3dRiNqTL2oXEvKibytCOqRNXqz45wQ== X-Received: by 2002:ac8:50c:: with SMTP id u12mr10691861qtg.320.1602526519734; Mon, 12 Oct 2020 11:15:19 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:19 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson Subject: [PATCH v2 12/16] riscv: Probe ram in dram_init Date: Mon, 12 Oct 2020 14:13:41 -0400 Message-Id: <20201012181345.338661-13-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean If CONFIG_RAM is enabled, use the ram device to get the base/size of memory. This provides an easy way for boards/cpus to hook into the dram_init logic, without needing to provide a second SYS_CPU. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- (no changes since v1) arch/riscv/cpu/generic/dram.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/arch/riscv/cpu/generic/dram.c b/arch/riscv/cpu/generic/dram.c index 1dc77efeca..fbcd4ddf5f 100644 --- a/arch/riscv/cpu/generic/dram.c +++ b/arch/riscv/cpu/generic/dram.c @@ -4,15 +4,41 @@ */ #include +#include #include #include +#include +#include #include DECLARE_GLOBAL_DATA_PTR; int dram_init(void) { +#if CONFIG_IS_ENABLED(RAM) + int ret; + struct ram_info info; + struct udevice *dev; + + ret = uclass_get_device(UCLASS_RAM, 0, &dev); + if (ret) { + debug("DRAM init failed: %d\n", ret); + return ret; + } + + ret = ram_get_info(dev, &info); + if (ret) { + debug("Cannot get DRAM size: %d\n", ret); + return ret; + } + + gd->ram_base = info.base; + gd->ram_size = info.size; + + return 0; +#else return fdtdec_setup_mem_size_base(); +#endif } int dram_init_banksize(void) From patchwork Mon Oct 12 18:13:42 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381083 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=mNiEbbGZ; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96Nc5rPcz9sT6 for ; Tue, 13 Oct 2020 05:17:52 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 965F98258C; Mon, 12 Oct 2020 20:15:30 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="mNiEbbGZ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 811A782555; Mon, 12 Oct 2020 20:15:24 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x843.google.com (mail-qt1-x843.google.com [IPv6:2607:f8b0:4864:20::843]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id F269082555 for ; Mon, 12 Oct 2020 20:15:21 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x843.google.com with SMTP id r8so14170216qtp.13 for ; Mon, 12 Oct 2020 11:15:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=+cBuGEWmg7+5gYmBK9QyVubZzZUs3wch+vMWZfI+gGk=; b=mNiEbbGZvhlGTGv/vINQyh8ox2uk8jJdkpzVsJKGnF/caM02ozeX7kuEnfEvqa4CmZ /s8jF7DB9jl/QjoX8LJk3S6wHonR0gOc4nyFZ3uOmVXfbGOv6HNMkqkIiMhLGTg/K3pA uF9RWvAD9OzDUwOvOTNdwO7MicT+LEaixOTG26xJMhuyMRScwLW/1sq10fQYBIjyD4ii AUkaGq4GOP19pKT+ex4nRrP+4iqEtVzH+H1VEgQdxWbzV4CwlvUIovMek/nQS6PkGdq5 WEhla2aVVcoXe3agfmmwLNRA458lJT5igdW+/B51eAXf1BSPwhwnfxZPUOj5cAsciGGp x3XQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=+cBuGEWmg7+5gYmBK9QyVubZzZUs3wch+vMWZfI+gGk=; b=mwBFnfZjOP85zdt3k16M/a1D7RI9nMzbBkvMHRB4OxfPy9UIOpEwKBUJxHG84E50ku 3J9D5Vy/yEers4qo09EiKZbEbAIAndxYmcDsuPuN43FWgYmrMt5sw9sK/TGbZK+U3NyF 7wdbeJ0BvxlU0hsGKRVifw+FRIB4khE3VOrGak1EjUpONLVOXKWLOVKamMufIyTkioi8 YpL4OyfHma0NXossMlJISA4hNrOzSN4MV8arhjBE93XWlT0PN4y6Qvl/JRxEPNUtcd8M SdiXVuijKIY60ZkIRdSs05i5i2ifs98JBGc/Z91Y1x0VkuhCiw+vAZS0AsDyUv/rGfK4 ynhQ== X-Gm-Message-State: AOAM5333kNxteeVmmtU13KaedFfU7KNTmxNPPitHaEwHcTDXtICCapj2 mrfe/OyPCYqhHbhzzWOzde2M35i02ORO2w== X-Google-Smtp-Source: ABdhPJwhJ6ffXaScHKGoS0ZGwBQ8mmeGFRZH2QJAVlcIUrehaL2azVzVGPBkpwTJIvwZc6hYEr8Pgg== X-Received: by 2002:ac8:7cad:: with SMTP id z13mr11590787qtv.366.1602526520746; Mon, 12 Oct 2020 11:15:20 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:20 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson Subject: [PATCH v2 13/16] riscv: Enable AI ram on K210 Date: Mon, 12 Oct 2020 14:13:42 -0400 Message-Id: <20201012181345.338661-14-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean CONFIG_SYS_SDRAM_{BASE,SIZE} are no longer necessary. The default get_effective_memsize will also work. The clock driver creates a bunch of devices, so we need to increase the pre-reloc malloc arena. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- (no changes since v1) board/sipeed/maix/Kconfig | 2 ++ board/sipeed/maix/maix.c | 26 -------------------------- configs/sipeed_maix_bitm_defconfig | 1 + include/configs/sipeed-maix.h | 4 ---- 4 files changed, 3 insertions(+), 30 deletions(-) diff --git a/board/sipeed/maix/Kconfig b/board/sipeed/maix/Kconfig index 4c42dd2087..ba61810079 100644 --- a/board/sipeed/maix/Kconfig +++ b/board/sipeed/maix/Kconfig @@ -42,6 +42,8 @@ config BOARD_SPECIFIC_OPTIONS imply CLK_K210 imply DM_RESET imply RESET_SYSCON + imply RAM + imply K210_SRAM imply SYSRESET imply SYSRESET_SYSCON imply PINCTRL diff --git a/board/sipeed/maix/maix.c b/board/sipeed/maix/maix.c index cbcb23cf5c..1b6f8a5115 100644 --- a/board/sipeed/maix/maix.c +++ b/board/sipeed/maix/maix.c @@ -9,33 +9,7 @@ #include #include -phys_size_t get_effective_memsize(void) -{ - return CONFIG_SYS_SDRAM_SIZE; -} - int board_init(void) { - int ret, i; - const char * const banks[] = { "sram0", "sram1", "airam" }; - ofnode memory; - struct clk clk; - - /* Enable RAM clocks */ - memory = ofnode_by_compatible(ofnode_null(), "kendryte,k210-sram"); - if (ofnode_equal(memory, ofnode_null())) - return -ENOENT; - - for (i = 0; i < ARRAY_SIZE(banks); i++) { - ret = clk_get_by_name_nodev(memory, banks[i], &clk); - if (ret) - continue; - - ret = clk_enable(&clk); - clk_free(&clk); - if (ret) - return ret; - } - return 0; } diff --git a/configs/sipeed_maix_bitm_defconfig b/configs/sipeed_maix_bitm_defconfig index 459bf0d530..d0100ad9e9 100644 --- a/configs/sipeed_maix_bitm_defconfig +++ b/configs/sipeed_maix_bitm_defconfig @@ -1,4 +1,5 @@ CONFIG_RISCV=y +CONFIG_SYS_MALLOC_F_LEN=0x10000 CONFIG_TARGET_SIPEED_MAIX=y CONFIG_ARCH_RV64I=y CONFIG_STACK_SIZE=0x100000 diff --git a/include/configs/sipeed-maix.h b/include/configs/sipeed-maix.h index 36ff522e4b..81956cccfd 100644 --- a/include/configs/sipeed-maix.h +++ b/include/configs/sipeed-maix.h @@ -14,10 +14,6 @@ #define CONFIG_SYS_MALLOC_LEN SZ_128K #define CONFIG_SYS_CACHELINE_SIZE 64 -#define CONFIG_SYS_SDRAM_BASE 0x80000000 -/* Don't relocate into AI ram since it isn't set up yet */ -#define CONFIG_SYS_SDRAM_SIZE (SZ_4M + SZ_2M) - /* For early init */ #define K210_SYSCTL_BASE 0x50440000 From patchwork Mon Oct 12 18:13:43 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381084 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=hVHeXVmQ; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96Np4RCjz9sT6 for ; Tue, 13 Oct 2020 05:18:02 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id BBFB18257E; Mon, 12 Oct 2020 20:15:31 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hVHeXVmQ"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7259B82575; Mon, 12 Oct 2020 20:15:25 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qk1-x742.google.com (mail-qk1-x742.google.com [IPv6:2607:f8b0:4864:20::742]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 12F818255C for ; Mon, 12 Oct 2020 20:15:23 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qk1-x742.google.com with SMTP id q63so18531169qkf.3 for ; Mon, 12 Oct 2020 11:15:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=fqVVpGDofyEtN8wdrL+ZlhUFx6Un9sAtdpYy5LRpxJ4=; b=hVHeXVmQosNrfP6lDWncdjCnhte0W6wvy+D8jQqJSBM08oYPe7FwjTl9JhMtpzYnuI Z8OkM7Lb91muOl+yG3qoly5cUwvoi+gRNbyYtEPJRYb+UB4TR+nsnByttubHVYFXnbh9 B4nsRSMdhEDw+Q++BVW9701jbqMx7hD4BptMJ1t6aj4JqLNDunAAiR7zdaR/YzuQoMYg Qk+9Yo1KC3et2XCWr23E771/MPfvyBnYa4/b0iLeccgQEW+UGq3PZfpW5d8Wr4W36xPo 2/6k+Gz/t/Q7ajbEKRw2OvGalwPW9Dlngmq7Bzax4Tk6SaAPMbDVEoM7iyJgdgijBfsI TSFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=fqVVpGDofyEtN8wdrL+ZlhUFx6Un9sAtdpYy5LRpxJ4=; b=Q2D7PXdrzcTYNdz9pWKFit08IyTXHVU9Ph/oieqsvfwM57iFYC9iGSEz/KXXv6OI2s USX2KfOnATAVw2HZbMIccd4fp5JxiKpExI/PLJkzzlI6iEVY+sKP/2r10iZ+cjb8PH4N Lxaw92unstG+QKU0nq1cCHkJYOgCu2oJxCY1oqCQ8XeF7u5/Mm5dc2MFMblToavzjCiW 5NlNhkUa1+fff+h0QalZ3B7krcT73UvsJCGNwJZE45T4zCLhk0ruDEFYrsDEw/G7e0PX GKdujb1iud+nXQqlf337SmUo2fESZhMdmjQjm2U+Y3m2rJpu2ZCewpdDAkfz6cWlH/6K m7IA== X-Gm-Message-State: AOAM532zYaI4OR+Ziecyt1S7O3tvwIVNd4vIJnEKzXfGZsMKCPZcmhy6 XE6hIDdjn6rWJwIcb0pHOEw+iZ4R2UBrNA== X-Google-Smtp-Source: ABdhPJyQ7ATsLrxEHK6zhpXh4BoYYSj2TAgEJsRy17lBBMYPCe6ZwXenVihm01r1l2dvkQO5ta9krw== X-Received: by 2002:a37:a606:: with SMTP id p6mr6304406qke.14.1602526521873; Mon, 12 Oct 2020 11:15:21 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:21 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson , Damien Le Moal Subject: [PATCH v2 14/16] riscv: k210: Rename airam to aisram Date: Mon, 12 Oct 2020 14:13:43 -0400 Message-Id: <20201012181345.338661-15-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean This is more consistent with the naming of other ram banks, and matches what Linux is doing. Reported-by: Damien Le Moal Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- Changes in v2: - New arch/riscv/dts/k210.dtsi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/riscv/dts/k210.dtsi b/arch/riscv/dts/k210.dtsi index 86d50f14e5..05f345f683 100644 --- a/arch/riscv/dts/k210.dtsi +++ b/arch/riscv/dts/k210.dtsi @@ -86,11 +86,11 @@ reg = <0x80000000 0x400000>, <0x80400000 0x200000>, <0x80600000 0x200000>; - reg-names = "sram0", "sram1", "airam"; + reg-names = "sram0", "sram1", "aisram"; clocks = <&sysclk K210_CLK_SRAM0>, <&sysclk K210_CLK_SRAM1>, <&sysclk K210_CLK_PLL1>; - clock-names = "sram0", "sram1", "airam"; + clock-names = "sram0", "sram1", "aisram"; u-boot,dm-pre-reloc; }; From patchwork Mon Oct 12 18:13:44 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381085 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=tkYoVc7G; dkim-atps=neutral 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96P04GR5z9sT6 for ; Tue, 13 Oct 2020 05:18:12 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 9214E82592; Mon, 12 Oct 2020 20:15:32 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="tkYoVc7G"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7E1BC8257C; Mon, 12 Oct 2020 20:15:26 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 269A382564 for ; Mon, 12 Oct 2020 20:15:24 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x842.google.com with SMTP id z33so10327015qth.8 for ; Mon, 12 Oct 2020 11:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=WnNgmoGdXZtdj7tPI5ebEVSWmybyYiFQgY41EeXrnpw=; b=tkYoVc7GBJ4v1IjRil5baud/r62V4Z9WzpqAxOEsKoY6FBr6BZE6jQKa72IqAZpC1B Awg1sEKbGfovUqsSH0tetmvw4LOiinp/gKEbYWXL4JOqgebD7/J3MT6jZDnLM0ASKX8f UmdFB5ca7K9FpAImGlqNdiFSwEwad/9qASLW5+9FaWD5yuY4YQpSMwxySnXyWhwYHlmb 3xXgODeain7EgrjD1qwmGjM0N2OJ4/BVqo2rMHGBFJ9BqsZ9hhfA9w9w34GA4fn5rtXC jesJr7FX8/lHpYKy+IBSZ2gpDfWNZ8k2fr8OBm7wTh5rfMC8RYYJABxcbPZAzTkNS0Zx 6iSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=WnNgmoGdXZtdj7tPI5ebEVSWmybyYiFQgY41EeXrnpw=; b=rOCs78N+jtxxOGc7Nv3yXy4yACEMyo8UshJzImUvRiNub2DPEx+vGuAROKPN327/xz i10CfqBMKfu02ToRrMJjSYPNk256uyNriBQ0U5FFpmz/uxjzDvnRVGo8ZsMTdND7sYX7 5aHBk2aSxCN2DsuyIdu8b9vhxxQTmmiX2l/s/GqOOxy7n0nQyd3V/Nxpyk6zsDaPg5z9 m+D0M2FWgAFNbwb9D6T0wEMY7wC5JsGvm/ZzpzF76OtGJ8zoU56L28DRLpM/sqwB/0XN CYugqyQ0lcVB6dewlowU0yNTorBsBLturNKQRouZgFKKjpe9uK4OaCnzjFZPn6o7a0RA wHrw== X-Gm-Message-State: AOAM532n0IKB5Jtm3CpSgI5aaxavDkYBeHXyfk2dG+rbWPVBb0jFsZLU lgnxwKUmlIuGVbF+KvRKa4pWcHNaPvfQDQ== X-Google-Smtp-Source: ABdhPJxUniZ2YTw71WlDoh6vVyldgim4Qm/IWUt/+2mNM2HiF3jJqWihAa7wudPoFEKwmxkBKQge4Q== X-Received: by 2002:a05:622a:208:: with SMTP id b8mr11406015qtx.101.1602526522946; Mon, 12 Oct 2020 11:15:22 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:22 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson Subject: [PATCH v2 15/16] riscv: k210: Use AI as the parent clock of aisram, not PLL1 Date: Mon, 12 Oct 2020 14:13:44 -0400 Message-Id: <20201012181345.338661-16-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean Testing showed that disabling AI while leaving PLL1 enabled disabled the aisram. This suggests that AI is a more appropriate clock for that ram bank. Signed-off-by: Sean Anderson Reviewed-by: Rick Chen --- Changes in v2: - New arch/riscv/dts/k210.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/riscv/dts/k210.dtsi b/arch/riscv/dts/k210.dtsi index 05f345f683..600fce26af 100644 --- a/arch/riscv/dts/k210.dtsi +++ b/arch/riscv/dts/k210.dtsi @@ -89,7 +89,7 @@ reg-names = "sram0", "sram1", "aisram"; clocks = <&sysclk K210_CLK_SRAM0>, <&sysclk K210_CLK_SRAM1>, - <&sysclk K210_CLK_PLL1>; + <&sysclk K210_CLK_AI>; clock-names = "sram0", "sram1", "aisram"; u-boot,dm-pre-reloc; }; From patchwork Mon Oct 12 18:13:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1381086 X-Patchwork-Delegate: uboot@andestech.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=SYwjy2pp; 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 RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4C96PB2CMsz9sTL for ; Tue, 13 Oct 2020 05:18:22 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 55F218259A; Mon, 12 Oct 2020 20:15:33 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com 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; unprotected) header.d=gmail.com header.i=@gmail.com header.b="SYwjy2pp"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A509E8257D; Mon, 12 Oct 2020 20:15:27 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,SPF_HELO_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from mail-qt1-x842.google.com (mail-qt1-x842.google.com [IPv6:2607:f8b0:4864:20::842]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 444B282572 for ; Mon, 12 Oct 2020 20:15:25 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=seanga2@gmail.com Received: by mail-qt1-x842.google.com with SMTP id h12so12666128qtu.1 for ; Mon, 12 Oct 2020 11:15:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eLtxw4W3rxVOobjrvwGaHyOHPjw+Gbs0/DlF0vz9cBc=; b=SYwjy2ppoKwZfUfGUb6iT6dEulN5lb2HRsaX29S+5VTeKJJpFxWFp73pLMJv1D0TYs mDmzqM/S0doPNxlZBVLGdtgT7zfffshytRA7vm1IzaPdSs6yNGRgzeXFUU6LvCjOn4nN xHsQcc/4FawEhHCsoanOWNu/4uYwLw8omM/eam89fqJ8nTRrnSYLtufpXnhSytqWieaq W5Z2JH8m41ByBG9RXMSQdmWsG4VaMN5d9A2Lqi/9hg1X/FiQZcY1/akHmaOUby80c61V rN3wu+yAU4uQoHQDUf8IUG+DxVkKAQfgxulUpH4stxDXFzrbAzibcdC7JV8Bf/Ep8Z7R gjNw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eLtxw4W3rxVOobjrvwGaHyOHPjw+Gbs0/DlF0vz9cBc=; b=RoAzrQBoTnFBT0TuKZ8U0KyCAiRDhXu5DKnYiUGW+7QBgIXXiXLKe/WE9w5HcoJy55 oYX+XQaOV3e7uFIAIA88I3PwsxLAaUVPYcI3IStfcuS+Q1bez/LlE2vz4CeMFnYcRtmy sQ14yuFs0sNxT3ISz88Gap/9K16XUQZZte3fRdVzjpTrcQK3CcqN1RrP3kYj8fIC/XZX 7KYbVFxZPJ/LKI1PlUMRVrIUppW0T5I89HohT0PhnsBhUtymZZ6YzxXN4q9pLan6Ljyp NB10KaZatE2uCeSVGu4RWmtQQAWYqvf3ZVH87/oYAnfjESJU2E8zhkoMQ+XFqbzTC0od vFqw== X-Gm-Message-State: AOAM532MTlNM88IGVdQL55OyZWqQbCERNUu5rEum3iFx8KmAmzTq00GZ 20un6m4rWAPFUIIj8QGmaoeokhz5Yp8Mgw== X-Google-Smtp-Source: ABdhPJyNUdVrgXpwNWR8BAV9kC7urBE4XubaOcCYtQ2+spFkyFE518xt1lTfR7DwkM3L8OxZTGLX5w== X-Received: by 2002:ac8:1941:: with SMTP id g1mr11727078qtk.133.1602526523970; Mon, 12 Oct 2020 11:15:23 -0700 (PDT) Received: from godwin.fios-router.home (pool-108-51-35-162.washdc.fios.verizon.net. [108.51.35.162]) by smtp.gmail.com with ESMTPSA id t3sm12968651qtq.24.2020.10.12.11.15.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Oct 2020 11:15:23 -0700 (PDT) From: Sean Anderson To: u-boot@lists.denx.de Cc: Heinrich Schuchardt , Rick Chen , Bin Meng , Sean Anderson Subject: [PATCH v2 16/16] riscv: Don't reserve AI ram in k210 dts Date: Mon, 12 Oct 2020 14:13:45 -0400 Message-Id: <20201012181345.338661-17-seanga2@gmail.com> X-Mailer: git-send-email 2.28.0 In-Reply-To: <20201012181345.338661-1-seanga2@gmail.com> References: <20201012181345.338661-1-seanga2@gmail.com> MIME-Version: 1.0 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean It is no longer necessary to disallow ai ram, since it is enabled by the sram driver. Signed-off-by: Sean Anderson --- (no changes since v1) arch/riscv/dts/k210.dtsi | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/arch/riscv/dts/k210.dtsi b/arch/riscv/dts/k210.dtsi index 600fce26af..66dd438d50 100644 --- a/arch/riscv/dts/k210.dtsi +++ b/arch/riscv/dts/k210.dtsi @@ -94,17 +94,6 @@ u-boot,dm-pre-reloc; }; - reserved-memory { - #address-cells = <1>; - #size-cells = <1>; - ranges; - - ai_reserved: ai@80600000 { - reg = <0x80600000 0x200000>; - reusable; - }; - }; - clocks { in0: osc { compatible = "fixed-clock"; @@ -179,7 +168,6 @@ reg = <0x40800000 0xc00000>; interrupts = <25>; clocks = <&sysclk K210_CLK_AI>; - memory-region = <&ai_reserved>; status = "disabled"; };