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 7A81EC636CC for ; Sat, 18 Feb 2023 11:48:36 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 5B2EC8561C; Sat, 18 Feb 2023 12:48:33 +0100 (CET) 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="Jqn3yzid"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D09FE85637; Sat, 18 Feb 2023 12:48:31 +0100 (CET) Received: from mail-wr1-x42e.google.com (mail-wr1-x42e.google.com [IPv6:2a00:1450:4864:20::42e]) (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 93E89854EA for ; Sat, 18 Feb 2023 12:48:26 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=jbx6244@gmail.com Received: by mail-wr1-x42e.google.com with SMTP id a11so373470wro.2 for ; Sat, 18 Feb 2023 03:48:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=uHvOpGprfMiuuyZw39UGhkHwR8MAeFjorsoaYo43I1c=; b=Jqn3yzidA+192FW+5RDbwwYT0k/wucB8cVJnWd33zc/1e8yrDWTD2wBEVZmt3kutVP K5W92445rSeYquy61cxSrqaV6RHcqNZMftr63sLaQes9x/4M9klKuwaOclDiWFz1g/88 ozNImszzFRGU/BGdaNHwHV/SBbKZRmcnIDg9QAujmU01t0JED74siNoOflmF8SW6tjka 5yvYf1UcYnOI9bx7dCSQkR3mi010CSlxwQ7jpa0cP0EQ8jsedDXLbizA7V2uMdhomzl4 EDltYiiQmhTnVaX6qEt63qkCIcPjym1qrNwlOb1CijP0uURQaW+F7FxF7OsyKZwUS5I+ y27g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:from:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=uHvOpGprfMiuuyZw39UGhkHwR8MAeFjorsoaYo43I1c=; b=xXhNlN1cEh8asoaFfjnpb6HAy4eoae652xyK4TxNI+d7rRMUl8KMs58mjq7IscbMVN sl4v5IBJKTXAk4sKkXTWCFG/zQgPBFUveidATQnvUuqdEmj//kGh4b2jQR9H8esa/OxT H5CWhjnlfecTcVo+GM7A3JUV2jQQsnZOpnoa9TdgBT++ukQjnMZncThpIeU56NPfmeAp 9SZSElBUmtf7OxT/ddJzQxyWMx6+QzsqZhbF+qaAy2rfSLolrn9ZhGVwmVQKdPnFTpBp fOr9JFANVN662yuGkecOj9VuOiWrZhkOd9vm8PiuUzz+lMxkMpwRLd5gx+qXinsXeHwr xiww== X-Gm-Message-State: AO0yUKXqM0nSKo9Q+IJE+Oi3PvUozwleq4gjzBBVngfu3uNlNewd3egF SWfmzzVVdj38f0UbaePA/a4= X-Google-Smtp-Source: AK7set9ILlh5TfXnlldqLqxdfEcrBubJatTiL7Bf73WuDUeSyPY5AAkb8bJxUFvfYsc8FnS+juph0A== X-Received: by 2002:a5d:4f88:0:b0:2c5:5d18:4311 with SMTP id d8-20020a5d4f88000000b002c55d184311mr2472974wru.21.1676720905889; Sat, 18 Feb 2023 03:48:25 -0800 (PST) Received: from [192.168.2.1] (81-204-249-205.fixed.kpn.net. [81.204.249.205]) by smtp.gmail.com with ESMTPSA id s5-20020adfeb05000000b002c54c0a5aa9sm6844189wrn.74.2023.02.18.03.48.25 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 18 Feb 2023 03:48:25 -0800 (PST) Message-ID: <39d2ce91-5801-0654-bc7d-4db147fcbb31@gmail.com> Date: Sat, 18 Feb 2023 12:48:24 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 Subject: Re: [PATCH v3 4/5] rockchip: mkimage: Update init size limit From: Johan Jonker To: Jonas Karlman , Simon Glass , Philipp Tomsich , Kever Yang , Joseph Chen , Alper Nebi Yasak Cc: Quentin Schulz , Jagan Teki , Heinrich Schuchardt , u-boot@lists.denx.de References: <20230217205247.3402473-1-jonas@kwiboo.se> <20230217205247.3402473-5-jonas@kwiboo.se> <68feadb7-5446-9f0d-0dd7-96b49a98cdc1@gmail.com> Content-Language: en-US In-Reply-To: <68feadb7-5446-9f0d-0dd7-96b49a98cdc1@gmail.com> Content-Type: text/plain; charset=UTF-8 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 2/18/23 05:43, Johan Jonker wrote: > Hi Jonas, > > On 2/17/23 21:52, Jonas Karlman wrote: >> Sync init size limit from vendor u-boot: > > This sync might not be correct. > Please recheck with each SoC or limit your change to the rk3328 SoC if prove fails. > Could Kever disclose SoC details here? > > Johan > >> >> px30: 12KiB (+2KiB) > >> rk3066: 32KiB (+2KiB) > > > On the rk3066 the limitation depends on the bootrom logic and the tpl location it is loaded in memory: > > //SPL > flash_boot_size = idb_buf[0].flash_boot_size; > size = flash_boot_size - 5; > if ( size >= 32763 ) > flash_boot_size = 10; > //TPL > flash_data_size = idb_buf[0].flash_data_size; > if (flash_data_size - 4 >= 61 || > flash_boot_size < flash_data_size || > flash_data_size & 3) { > flash_data_size = 4; > } > > offset = idb_buf[0].boot_code1_offset + start; > > === > > CONFIG_TPL_TEXT_BASE=0x10080C00 > TPL/SPL truncated to 2048 = 4 sectors of 512bytes per NAND page. > Header size = 4 x 512bytes > > limit1: flash_data_size - 4 >= 61 > limit2: flash_boot_size < flash_data_size > > === > > usFlashDataSec = (ALIGN(dwLoaderDataSize, 2048)) / SECTOR_SIZE; > usFlashBootSec = (ALIGN(dwLoaderSize, 2048)) / SECTOR_SIZE; > > dwSectorNum = 4 + usFlashDataSec + usFlashBootSec; > > pSec0->usBootDataSize = usFlashDataSec; > pSec0->usBootCodeSize = usFlashDataSec + usFlashBootSec; > >> rk3328: 30KiB (+2KiB) >> rk3568: 60KiB (-16KiB) >> >> This makes it possible to use latest vendor TPL with RK3328 without >> getting a size limit error running the mkimage command. >> >> Signed-off-by: Jonas Karlman >> --- >> v3: >> - Sync with vendor u-boot as-is >> - Update commit message to include size changes >> >> v2: >> - New patch >> >> tools/rkcommon.c | 10 +++++----- >> 1 file changed, 5 insertions(+), 5 deletions(-) >> >> diff --git a/tools/rkcommon.c b/tools/rkcommon.c >> index 1f1eaa16752b..630e54b1a54d 100644 >> --- a/tools/rkcommon.c >> +++ b/tools/rkcommon.c >> @@ -121,20 +121,20 @@ struct spl_info { >> }; >> >> static struct spl_info spl_infos[] = { >> - { "px30", "RK33", 0x2800, false, RK_HEADER_V1 }, >> + { "px30", "RK33", 0x4000 - 0x1000, false, RK_HEADER_V1 }, >> { "rk3036", "RK30", 0x1000, false, RK_HEADER_V1 }, > >> - { "rk3066", "RK30", 0x8000 - 0x800, true, RK_HEADER_V1 }, > > This is OK. > >> - { "rk3128", "RK31", 0x1800, false, RK_HEADER_V1 }, > >> + { "rk3066", "RK30", 0x8000, true, RK_HEADER_V1 }, > > This wrong. This 0x8000 value was introduced in the manufacturer kernel with this patch. rockchip: mkimage: add support for rockchip nand boot image https://github.com/rockchip-linux/u-boot/commit/6f14746b0c5977b93f126c43b2a80198758399b9 However mainline u-boot for rk3066 makes use of BROM. rockchip: rk3188: use boot0 hook to load up SPL in 2 steps https://source.denx.de/u-boot/u-boot/-/commit/4d9253fb76f59c6f474ca54fe2d45c5706cd86e3 It follows the same size rules as for rk3188. /* spl size 32kb sram - 2kb bootrom */ Unless Philipp Tomsich or someone else explains that it should be something different, please keep it as it is. Johan > > printf "%d\n" $(((0x8000 - 0x800 ) / 512)) > 60 sectors of size 512 > > >> + { "rk3128", "RK31", 0x2000 - 0x800, false, RK_HEADER_V1 }, >> { "rk3188", "RK31", 0x8000 - 0x800, true, RK_HEADER_V1 }, >> { "rk322x", "RK32", 0x8000 - 0x1000, false, RK_HEADER_V1 }, >> { "rk3288", "RK32", 0x8000, false, RK_HEADER_V1 }, >> { "rk3308", "RK33", 0x40000 - 0x1000, false, RK_HEADER_V1 }, >> - { "rk3328", "RK32", 0x8000 - 0x1000, false, RK_HEADER_V1 }, >> + { "rk3328", "RK32", 0x8000 - 0x800, false, RK_HEADER_V1 }, >> { "rk3368", "RK33", 0x8000 - 0x1000, false, RK_HEADER_V1 }, >> { "rk3399", "RK33", 0x30000 - 0x2000, false, RK_HEADER_V1 }, >> { "rv1108", "RK11", 0x1800, false, RK_HEADER_V1 }, >> { "rv1126", "110B", 0x10000 - 0x1000, false, RK_HEADER_V1 }, >> - { "rk3568", "RK35", 0x14000 - 0x1000, false, RK_HEADER_V2 }, >> + { "rk3568", "RK35", 0x10000 - 0x1000, false, RK_HEADER_V2 }, >> }; >> >> /**