From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D985EC05027 for ; Sun, 29 Jan 2023 09:04:22 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 0447085348; Sun, 29 Jan 2023 10:04:20 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=kwiboo.se 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=kwiboo.se header.i=@kwiboo.se header.b="OpCP2lB0"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id A26588535C; Sun, 29 Jan 2023 10:04:18 +0100 (CET) Received: from xvfrqvdb.outbound-mail.sendgrid.net (xvfrqvdb.outbound-mail.sendgrid.net [168.245.72.219]) (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 4D42A85335 for ; Sun, 29 Jan 2023 10:04:15 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=kwiboo.se Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=bounces+31435339-7456-u-boot=lists.denx.de@em2124.kwiboo.se DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kwiboo.se; h=mime-version:subject:references:from:in-reply-to:to:cc:content-type: content-transfer-encoding:cc:content-type:from:subject:to; s=s1; bh=If1njYigzfZwEaGDgmv9SA46NDXFlLRWwbdIoLYPVz4=; b=OpCP2lB0bIIYAO/w86oNJ3xT8G6fHdIh0uoJ3n6mWc488yDzT/wLC8uolnswU4tay7Xi szWzDee6t2nPiPpYpQE1xdNVINW28T1H13gz59VOAD+tT/O9+zCZj7cDjZMgpMKu2PvMqT pb+Hkev/HGz3ymp8KjBuoHpLCOpkpZhItYfTPoEZum6bI8X6yqFxvWPjt46zndc4iQs2vA 6pYolDtLyMRejZ8b4lhhZeztlpxn7FmmGV3SLEGhoZMRpyXLGsxnrpPhUziEcgs7pubz34 Uo3M556/TYYxJ2G9Ga+vjfPCXIt8Rx2tHziplp8wV3cTCRWPZD+PrU1fmdhcKGAg== Received: by filterdrecv-557d69979-vdwgg with SMTP id filterdrecv-557d69979-vdwgg-1-63D6368A-4B 2023-01-29 09:04:11.134245569 +0000 UTC m=+6256719.545470706 Received: from [192.168.1.50] (unknown) by geopod-ismtpd-3-0 (SG) with ESMTP id JYu51Yx9TeC_efYTYnnYrg Sun, 29 Jan 2023 09:04:10.652 +0000 (UTC) Message-ID: <6fe7adc8-0b0d-70a1-5f13-d3205ad158ab@kwiboo.se> Date: Sun, 29 Jan 2023 09:04:11 +0000 (UTC) MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.1 Subject: Re: [RFC PATCH 00/16] arm: Add Rockchip RK3588 support References: <20230125222741.303259-1-jagan@edgeble.ai> <2efd56b6-4dc9-cd77-3792-e60142faa6ae@kwiboo.se> <64443c40-03b1-bfe2-23fe-ad61236d7dde@kwiboo.se> <516c84b9-4867-b2ea-46ad-30decc62194a@kwiboo.se> <1e370ab2-8407-b724-2afd-24ddb23c638c@kwiboo.se> <7f4bdd74-c2df-0c8e-2527-b192040d3977@kwiboo.se> Content-Language: en-US From: Jonas Karlman In-Reply-To: X-SG-EID: =?us-ascii?Q?TdbjyGynYnRZWhH+7lKUQJL+ZxmxpowvO2O9SQF5CwCVrYgcwUXgU5DKUU3QxA?= =?us-ascii?Q?fZekEeQsTe+RrMu3cja6a0hxTBkmJH4VS56vdf6?= =?us-ascii?Q?vxPCbXuMaXvjhf7J06SWzzP2s=2Ft3thOrAQfIFWI?= =?us-ascii?Q?HbsuotJR+2TfW4nKQ07BY95QbRmHZQHRni=2FQ9u1?= =?us-ascii?Q?xL+piceQkzHqV7ytw2ehf=2FxIZhrmlY1H1wKbtRu?= =?us-ascii?Q?o+6IE2XbsB4teakJb4rjSyZEwVwcPKuz22Woxj?= To: Jagan Teki Cc: Simon Glass , Kever Yang , Philipp Tomsich , fatorangecat@189.cn, u-boot@lists.denx.de X-Entity-ID: P7KYpSJvGCELWjBME/J5tg== Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean On 2023-01-27 14:21, Jagan Teki wrote: > On Fri, 27 Jan 2023 at 05:13, Jonas Karlman wrote: >> >> On 2023-01-26 23:16, Jonas Karlman wrote: >>> Hi Jagan, >>> On 2023-01-26 20:17, Jagan Teki wrote: >>>> On Fri, 27 Jan 2023 at 00:33, Jonas Karlman wrote: >>>>> >>>>> On 2023-01-26 19:26, Jagan Teki wrote: >>>>>> Hi Simon, >>>>>> >>>>>> On Thu, 26 Jan 2023 at 23:34, Simon Glass wrote: >>>>>>> >>>>>>> Hi Jagan, >>>>>>> >>>>>>> On Thu, 26 Jan 2023 at 10:42, Jagan Teki wrote: >>>>>>>> >>>>>>>> On Thu, 26 Jan 2023 at 22:28, Jonas Karlman wrote: >>>>>>>>> >>>>>>>>> Hi Jagan, >>>>>>>>> On 2023-01-26 17:51, Jagan Teki wrote: >>>>>>>>>> Hi Jonas, >>>>>>>>>> >>>>>>>>>> On Thu, 26 Jan 2023 at 04:17, Jonas Karlman wrote: >>>>>>>>>>> >>>>>>>>>>> Hi Jagan, >>>>>>>>>>> >>>>>>>>>>> On 2023-01-25 23:27, Jagan Teki wrote: >>>>>>>>>>>> This series support Rockchip RK3588. All the device tree files are >>>>>>>>>>>> synced from linux-next with the proper SHA1 mentioned in the commit >>>>>>>>>>>> messages. >>>>>>>>>>>> >>>>>>>>>>>> Unfortunately, the BL31 from rkbin is not compatible with U-Boot so >>>>>>>>>>>> it is failing to load ATF entry from SPL and hang. >>>>>>>>>>>> >>>>>>>>>>>> Verified below BL31 versions, >>>>>>>>>>>> bl31-v1.15 >>>>>>>>>>>> bl31-v1.21 >>>>>>>>>>>> bl31-v1.22 >>>>>>>>>>>> bl31-v1.23 >>>>>>>>>>>> bl31-v1.24 >>>>>>>>>>>> bl31-v1.25 >>>>>>>>>>>> bl31-v1.26 >>>>>>>>>>>> > > < snip > > >>> >>> As you can see in the logs above there is timeout waiting for data. >>> >>> I managed to find the issue and have a workaround that gets me longer >>> in the boot process, there still seem to be other issue with the rk3588 >>> startup. >>> >>> -------- >>> U-Boot SPL 2023.01 (Jan 26 2023 - 22:03:00 +0000) >>> Trying to boot from MMC1 >>> ## Checking hash(es) for config config-1 ... OK >>> ## Checking hash(es) for Image atf-1 ... sha256+ OK >>> ## Checking hash(es) for Image u-boot ... sha256+ OK >>> ## Checking hash(es) for Image fdt-1 ... sha256+ OK >>> ## Checking hash(es) for Image atf-2 ... sha256+ OK >>> ## Checking hash(es) for Image atf-3 ... sha256+ OK >>> INFO: Preloader serial: 2 >>> NOTICE: BL31: v2.3():v2.3-468-ge529a2760:derrick.huang >>> NOTICE: BL31: Built : 09:59:49, Nov 21 2022 >>> INFO: spec: 0x1 >>> INFO: ext 32k is not valid >>> INFO: ddr: stride-en 4CH >>> INFO: GICv3 without legacy support detected. >>> INFO: ARM GICv3 driver initialized in EL3 >>> INFO: valid_cpu_msk=0xff bcore0_rst = 0x0, bcore1_rst = 0x0 >>> INFO: system boots from cpu-hwid-0 >>> INFO: idle_st=0x21fff, pd_st=0x11fff9, repair_st=0xfff70001 >>> INFO: dfs DDR fsp_params[0].freq_mhz= 2112MHz >>> INFO: dfs DDR fsp_params[1].freq_mhz= 528MHz >>> INFO: dfs DDR fsp_params[2].freq_mhz= 1068MHz >>> INFO: dfs DDR fsp_params[3].freq_mhz= 1560MHz >>> INFO: BL31: Initialising Exception Handling Framework >>> INFO: BL31: Initializing runtime services >>> WARNING: No OPTEE provided by BL2 boot loader, Booting device without OPTEE initialization. SMC`s destined for OPTEE will return SMC_UNK >>> ERROR: Error initializing runtime service opteed_fast >>> INFO: BL31: Preparing for EL3 exit to normal world >>> INFO: Entry point address = 0xa00000 >>> INFO: SPSR = 0x3c9 >>> "Synchronous Abort" handler, esr 0x96000000 >>> elr: 0000000000a23650 lr : 0000000000a24d9c >>> x0 : 0000000000b7fbe8 x1 : 350003402a0003f3 >>> x2 : 0000000000000000 x3 : 0000000000b80ff0 >>> x4 : 0000000000b80ff0 x5 : 0000000000b80e88 >>> x6 : 0000000000000054 x7 : 0000000000000044 >>> x8 : 000000000000000a x9 : 0000000000000000 >>> x10: 0000000000000034 x11: 0000000000000002 >>> x12: 0000000000001988 x13: 0000000000b7fadc >>> x14: 0000000000a7e808 x15: 0000000000a7e808 >>> x16: 0000000000000000 x17: 0000000000000000 >>> x18: 0000000000b7fe50 x19: 0000000000b7fbe8 >>> x20: 000000003c14dc00 x21: 000000003c14dc00 >>> x22: 0000000000a7e808 x23: 0000000000000000 >>> x24: 0000000000000000 x25: 0000000000000000 >>> x26: 0000000000000000 x27: 0000000000000000 >>> x28: 0000000000000000 x29: 0000000000b7fb80 >>> >>> Code: f90013f5 f9400001 b4000201 f9400021 (f9403435) >>> Resetting CPU ... >>> -------- >>> >>> This was running on top of u-boot-dm/master 060a65e899859dcbf42049a18be20ce7118e7c0e >>> with some rk3568 patches and this series, see [1]. >>> >>> The last 3 commits contains workaround to issue with sdmmc clock. >>> dwmmc driver set sclk to (uint)-2, my workaround just adds a >>> fallback to default 400khz clock. >>> >>> Next issue is the sync abort, looks it happens when u-boot >>> tries to set clock rates based on devicetree. this is the >>> last debug line before the crash. >>> >>> clk_set_rate(clk=0000000000b7fba8, rate=1008000000) >> >> With the commit at [2] I can now successfully run U-Boot proper. >> >> Source of the two main issues to get this series to run have been the scmi clocks. >> Vendor u-boot first load its scmi driver before trying to set the cpu clocks. >> We can just remove it and leave setting a faster cpu rate to linux. >> >> I also noticed that my sdram size series only detect the first two channels of memory, >> will respin a v2 of that series to add detection of all 4 channels of memory. >> >> [2] https://github.com/Kwiboo/u-boot-rockchip/commit/7e4fee945e725c0ec9ef3905c41ce367e77833b3 > > Okay. We need to find a way to handle the clock value 400Khz > generically via the CLK framework or eMMC can be worth checking as it > doesn't involve SCMI and have a working patch set before MW. I did > that and was able to detect eMMC in U-Boot proper but got some issues > while booting from eMMC [3] I have an updated branch at [4] that should support booting from sdmmc and sdhci. Tested booting from both sd-card and emmc on my Radxa ROCK 5 Model B. This branch is based on u-boot/master f147aa80f52989c7455022ca1ab959e8545feccc and I have included some rk3568 patches and your rk3588 rfc series. I added a few fixup on top of that and a few additional patches, please see commit message for a very brief note on why the change was needed. Feel free to squash fixups and pick commits up to and possible including "board: rockchip: Sync evb-rk3568_defconfig with evb-rk3588_defconfig" for a v2 of this series. The remaining sdhci patches needs a little bit more work, I can send a separate series with emmc patches once they are fully ready. The last commit adds a hack to mkimage to keep the data for atf-3 embedded in the FIT. This ensures we do not run into problems trying to use dma from emmc into secure pmu sram. I think this is a more appropriate way to work around this issue, instead of patching u-boot spl_fit or sdhci core to use bounce buffers in a very special case. [4] https://github.com/Kwiboo/u-boot-rockchip/commits/rk3588-master-v2 Regards, Jonas > > [3] https://github.com/edgeble/u-boot/commit/1389822228ac3dfe8d3cd3513db6a32a5c898b7f > > Jagan.