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 A335DEB64DD for ; Fri, 23 Jun 2023 12:55:29 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 142AC863B2; Fri, 23 Jun 2023 14:55:27 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="LOt8EAjC"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id D4A1D863B8; Fri, 23 Jun 2023 14:55:23 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on20622.outbound.protection.outlook.com [IPv6:2a01:111:f400:7e89::622]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id E21D88638B for ; Fri, 23 Jun 2023 14:55:20 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: phobos.denx.de; spf=fail smtp.mailfrom=michal.simek@amd.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=l3wiFcf0sUY0LnspS4QQKjb59fcVahyocdsk7Unof8b/s5VAmTjlWYlJGnc+SkIGQLoy90GHi0Kv+fuMZB5niR65+zspOEgJzV54RrW5amggHbLP+aNcRWmeZPw2X8Ww7Yk0iCUPquivBXVcTkU8SgU8sPGXBIDrTJ9aS7DM3Pi4B9XdmYsIzmTM9lt5IK93W+n7DHbBSiL1T8QzNo9AfGrpZCRDMSbXNf9F/uvjEOwrcHOHBHCXeJ35lN5t5wstQaxb2SN6aX3dVeeMicH3tU94oZJx6+XF4C/7fjv+77IPqsE3ZeqCU9T8yT57EIaPw4Vg9gAwCmSUEU7cE/lxww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=bIY6AfxGIr3/jbJ8wude2DDRpJQfcX0xVQ7Md90EFV8=; b=MkxhZD0weSTKQpqs1IkvLdgsrrY21LA9hOb7m92y6n6+JjPk3izTeYXBV7kE/SJ1NQiZcjXctwlm2rzByX/8O3cjmuli80FeIVblWe+B2giHPKO2RZFZka9brV8lcTMdUw7KErvPDyxZUO661S/is4pU1oyuD7JzUDFXIewkxps1/g3bie9PrrrcKFD0s4yoOJLcaX+1DU6DyXnGXMCG8YkVkPyEwBuZ7h1iZ0hpuRFO9UIlcPFN+5gnlb8pcIEhUhGFrZW3R7VhEYNnf0/NfkU/vRstkbF+32pzGmI7P/OukFsuaY1WkhyOfrnGu1K5JI8dzgOJTBNXiZLY4jo9RQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bIY6AfxGIr3/jbJ8wude2DDRpJQfcX0xVQ7Md90EFV8=; b=LOt8EAjCWKJv2Q6OmYkb08pfFBYXBMZclyRXQ3ARzAmhX8tHAqi4KFTot5s0uIXWZs3RxdrTBpuyqBXBd052GknG2uLoDTRh/QOxRtVse1t12L3lnb6x+lYLGW2oL4pPW1kiu5RkRElgHWWgfCSmHiKkRAPzDKOwmmHEq+s5Kag= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from BYAPR12MB4758.namprd12.prod.outlook.com (2603:10b6:a03:a5::28) by CH3PR12MB9171.namprd12.prod.outlook.com (2603:10b6:610:1a2::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6521.23; Fri, 23 Jun 2023 12:55:16 +0000 Received: from BYAPR12MB4758.namprd12.prod.outlook.com ([fe80::6ad5:3607:d622:669]) by BYAPR12MB4758.namprd12.prod.outlook.com ([fe80::6ad5:3607:d622:669%3]) with mapi id 15.20.6521.024; Fri, 23 Jun 2023 12:55:16 +0000 Message-ID: Date: Fri, 23 Jun 2023 14:55:05 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.12.0 Subject: Re: [PATCH] arm64: versal-net: spi: Update boot sequence dynamically Content-Language: en-US To: Ashok Reddy Soma , u-boot@lists.denx.de Cc: git@amd.com References: <20230614093058.30438-1-ashok.reddy.soma@amd.com> From: Michal Simek In-Reply-To: <20230614093058.30438-1-ashok.reddy.soma@amd.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: FR3P281CA0142.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:95::16) To BYAPR12MB4758.namprd12.prod.outlook.com (2603:10b6:a03:a5::28) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BYAPR12MB4758:EE_|CH3PR12MB9171:EE_ X-MS-Office365-Filtering-Correlation-Id: 99af8a39-7f9e-4d94-a8a4-08db73e9175a X-LD-Processed: 3dd8961f-e488-4e60-8e11-a82d994e183d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: leeIYNkBeozmkkC7FzP9/1IJ1+wHUU78kK6OWcVZPsdWKmKfTUOjXG5HIGyEw0lnyIPPRfAodSrxoPRkF2niqupDTqzGKq3Oej6gu+wpI+tMbKTf3tJu1Kh8r5voVCSSRPboiPd4q8Z1LU+f6SuQOr47nriLcYwHs+jS2IT1AakUNE9/pXYrt9hayGSS5mkfCH449QQNAEkn/m0pA1fkYD/BIxUjgD/7ZXrnnkJI4j/k1GvsZK118MQVn+Fz6a4UDpchn9SqCSbZU/OJsE3N50za4Gjr5eA5+KYSmv5zmxM4XV1nIMydEi3OgYiNQJe5TdOXviSsujyrxBe5CHC1+EcQSfnuuKXwLlgrrNqKQqVdbnAREYRccriBA8X/E+6h9QAbZRB2qPV7Xkq695jZ0o2Afp9zbpIj32WbZpT1yFchZ9+E5eN+iXxBKjUBx7qgj6qyWT+3lKSkvR/WcZ1/jEuIbY+D9O/nGn7Iq+xIreAWZn5U7mXSADpJCI97Z0QAqu8rlhMvU+B10X/ijVqXV5qxFwLJWcNiHTWR9dBT9n4NzsI2vipL5E3kpOuPFMun7l+U8BYSFmITQyJNM5oGVgmMgYGuqp+KOWovw93p8k+xwaszVSmyX2rBW7ureMcNJ6uJKnjrgNKYt2NpOMJ2ww== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:BYAPR12MB4758.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230028)(4636009)(396003)(346002)(136003)(39860400002)(376002)(366004)(451199021)(31686004)(478600001)(4326008)(6666004)(83380400001)(31696002)(86362001)(36756003)(2616005)(38100700002)(2906002)(6512007)(26005)(186003)(15650500001)(6486002)(6506007)(53546011)(41300700001)(8676002)(66476007)(66946007)(8936002)(66556008)(316002)(5660300002)(44832011)(45980500001)(43740500002); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UXpwTUhMY2FPNkpyUWF2TVlnMGw4MFh5bFZhVmtjdG5UNVFObjYvc3ByYkVm?= =?utf-8?B?Q0dJRU0ySW05V2JpazhTSnZMQWFTb29pUmtDMVBvekFEcUdUZGZlcE9vbXg2?= =?utf-8?B?eFoybDB4ellCTmFlZGR0c1dteTZTSTNpOVF5bFlIVUpldnNBTFVIM0pOR2Ru?= =?utf-8?B?UU5UOGRWMjlmeFF4MGtmNzNaa05aUzloMW9kTEh5SnVhV01iZDltTEs3SlBu?= =?utf-8?B?azZSMDhZNFc4ZGpCbFRaSC9oS0VHUnZIQmVrTVRlUWJUcWlPT2t1WWYzdUN3?= =?utf-8?B?Zkc1ZnpMaHc3Q3hsZmNCUXNVQVNsSTNrZ2JldEpSV2MzdmlBdGxrQThVcHg4?= =?utf-8?B?K2NsUXZDRUZxcEFJZTV5VUMxOGNsbEIzY3MwVXNnWHZZTkZodjhaekM3bjFx?= =?utf-8?B?RVl1MmdVUDZ6ZklMK3F6bTF3azFmZFNKQ21MeG9zNjNRMTgvcnEySW1ZR05r?= =?utf-8?B?RSttYStBbHNIeERYZTFBblRnUUZJcG4rMU5MMkNEU1gzZG5NZjZxODBFdlFP?= =?utf-8?B?S3hmcWlXSDNDcmFpdWdIcnllaE1LZGpjWXd3NXVWb1VTWUxOcHBGZ3UxWWla?= =?utf-8?B?V1RVYnBucE9qVmxMcThadkVaOW5Ea2IwT3M1YU9lWWwzRTZTVzhPaWhkSzI4?= =?utf-8?B?U3RvR2VXa1krUUdPWXIzc1hsNklrQzh4N0YwWHRhNW1jZUJlaUoxakI0Ukcx?= =?utf-8?B?T3pJOS9QeEJrSjdVcVJ6YkVkVCsvR0crcjZLUEg4U3NCWStxUjVrcUtkRkZI?= =?utf-8?B?RDVwMDZmdUtDbEc2REpCelM3RFJjdlFEbVVqejdNeXE5OHNLd3lJalExMndq?= =?utf-8?B?V3dXTVRYazFjbC9VaUExNlFMWmlCZHgwczU2Y3FHZ3NtNEZ5Z1VhZkdGa0RZ?= =?utf-8?B?eDBadUVmQVZrRm04YldqakJPRUI3MTEyemhUTDhlRWcwZTZQL2kyYVZvUW01?= =?utf-8?B?cWdSTy9iTStNUzVnaDdKTCt2L3hwMk1kUDJtR3A5K3MxTFhaTFFpNnkxUldB?= =?utf-8?B?UUdtWWQyZXZYZ1FjR090SW11Rk9ZNlo2ZEhyVTFPeGhKMEhCMVpmN25Vd2VV?= =?utf-8?B?S3JWYzlsb3RaNjF4Ulh6MnF0Y29veG1GKzNwcFRhb0ZTY1E3dFNhY3NmRzZq?= =?utf-8?B?em9FRW1GcnRkTE9PWTRBRkh0Z2ZPcVdrMDJoZ2ltU2kwa1N3a2w1bVZCNjRU?= =?utf-8?B?Nkt0RTJOS1hQMzFSQkxyNTRBQk1aS2czcTduT29uWVVqN1duWElIeERaVnZm?= =?utf-8?B?SW5Sa0pLdGg5cDJRT3d1SGVoamJKQmhBZXcwYlVrSE04elp3ZVlVZnZFRllv?= =?utf-8?B?K2NybUpkUXd6Yko3QUxQbzNQOTRMZ05zWTBVWUJDNHhjRnh2ZG9KVzhCTUF2?= =?utf-8?B?L001UDJCaVFjdTdLcGZicVVaWENXaStGaVk4YnVrdFNTWWU5LzM5L0JUNFQ2?= =?utf-8?B?VlFxYVZ5cjRQeEwweGVNVG5WSnBEbG1pNFBiUnJkaWF4V20xQzBxaEhYcWZL?= =?utf-8?B?dGdMekk1NnN3N0tCbStHc2EzK1RxMStqbnFvK2hCa1FYUDI0dGszY2crRzhC?= =?utf-8?B?Vi9RaG91c0JSY1JpQTR4S1VTc1ZlU1o4OCtvWEt0NGtJVWpCRlIxazQrcVVJ?= =?utf-8?B?aU1HcXpBazBJZmo4bWdwQ29OLzROU3RRUVYzUkc3MkpXVy81UXVOcHNSWXNk?= =?utf-8?B?ZXpTc0lTZ2wrZ09zWW03bnhRQXpKZ05XbHhRazQ5T2pUSmQyZTR2Y0VSOWdU?= =?utf-8?B?d3ZnMkhTTStqLzU4a29kaEdUcW95YVNQMEhVdFowSE9UYXlDdU9FMXlnMmJj?= =?utf-8?B?TVVud25VQlhHUEdBQko1QVlhYWdlU3czL2ZTeXZyd24zazR3RDJCUlhyd3dP?= =?utf-8?B?YzNEVVNDU3BQTm1ZTWpEREQrOHUvZWRuakdkdEJpRUNFRWwwQ3V2Qkp1MFVV?= =?utf-8?B?RDJGSlR4eVZ6RmpSSFZ4d2N3eDlTTmJvSnh6ZXFtRVVCWU00MmhmWGY2Skcv?= =?utf-8?B?ZGtPRlNJRWpxcmN5dER2THFsbzFWMndHdGJwRGUxNFpjdVFxQ2Y2bHFuYnBh?= =?utf-8?B?akg4cnp1MnY0SjJIaVdVbTd1UEtGS3dIaCszbGN4eXkwRW9JaU54ZjlLSHR4?= =?utf-8?Q?V3H4On0lx5fIPTntE1k7PIxaL?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99af8a39-7f9e-4d94-a8a4-08db73e9175a X-MS-Exchange-CrossTenant-AuthSource: BYAPR12MB4758.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Jun 2023 12:55:16.1920 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: N6gPSYUXlX+MPimeCVJNEbz+shK4E9/jT1JcHjHv6YjkuCWvE0UXCim0orWKYgp2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB9171 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean On 6/14/23 11:30, Ashok Reddy Soma wrote: > Currently xspi0 is used for all spi boot modes, it means it will use "sf > probe 0 0 0" for all spi's irrespective of which node it is wired. > > Get boot sequence from dev_seq() and update boot command for xspi > dynamically. > > As a result bootcmd for spi is updated as below when two instances of spi > are present in DT node. > bootcmd_xspi0=devnum_xspi=0; run xspi_boot > bootcmd_xspi1=devnum_xspi=1; run xspi_boot > > xspi_boot=sf probe $devnum_xspi:0 0 0 && sf read $scriptaddr > $script_offset_f $script_size_f && echo XSPI: Trying to boot script at > ${scriptaddr} && source ${scriptaddr}; echo XSPI: SCRIPT FAILED: > continuing...; > > Signed-off-by: Ashok Reddy Soma > --- > > board/xilinx/versal-net/board.c | 24 +++++++++++++++++++++--- > include/configs/xilinx_versal_net.h | 19 ++++++++++++------- > 2 files changed, 33 insertions(+), 10 deletions(-) > > diff --git a/board/xilinx/versal-net/board.c b/board/xilinx/versal-net/board.c > index 6595d6f3e8..00b01d9641 100644 > --- a/board/xilinx/versal-net/board.c > +++ b/board/xilinx/versal-net/board.c > @@ -214,15 +214,33 @@ int board_late_init(void) > break; > case QSPI_MODE_24BIT: > puts("QSPI_MODE_24\n"); > - mode = "xspi0"; > + if (uclass_get_device_by_name(UCLASS_SPI, > + "spi@f1030000", &dev)) { > + puts("Boot from QSPI but without QSPI enabled!\n"); > + return -1; > + } > + mode = "xspi"; > + bootseq = dev_seq(dev); > break; > case QSPI_MODE_32BIT: > puts("QSPI_MODE_32\n"); > - mode = "xspi0"; > + if (uclass_get_device_by_name(UCLASS_SPI, > + "spi@f1030000", &dev)) { > + puts("Boot from QSPI but without QSPI enabled!\n"); > + return -1; > + } > + mode = "xspi"; > + bootseq = dev_seq(dev); > break; > case OSPI_MODE: > puts("OSPI_MODE\n"); > - mode = "xspi0"; > + if (uclass_get_device_by_name(UCLASS_SPI, > + "spi@f1010000", &dev)) { > + puts("Boot from OSPI but without OSPI enabled!\n"); > + return -1; > + } > + mode = "xspi"; > + bootseq = dev_seq(dev); > break; > case EMMC_MODE: > puts("EMMC_MODE\n"); > diff --git a/include/configs/xilinx_versal_net.h b/include/configs/xilinx_versal_net.h > index 424ead038e..613cce46f9 100644 > --- a/include/configs/xilinx_versal_net.h > +++ b/include/configs/xilinx_versal_net.h > @@ -76,20 +76,24 @@ > # define BOOT_TARGET_DEVICES_DHCP(func) > #endif > > -#if defined(CONFIG_ZYNQMP_GQSPI) || defined(CONFIG_CADENCE_OSPI_VERSAL_NET) > -# define BOOT_TARGET_DEVICES_XSPI(func) func(XSPI, xspi, 0) > +#if defined(CONFIG_ZYNQMP_GQSPI) || defined(CONFIG_CADENCE_OSPI_VERSAL) > +# define BOOT_TARGET_DEVICES_XSPI(func) func(XSPI, xspi, 0) func(XSPI, xspi, 1) > +# define BOOTENV_DEV_SHARED_XSPI \ > + "xspi_boot=sf probe $devnum_xspi:0 0 0 && " \ > + "sf read $scriptaddr $script_offset_f $script_size_f && " \ > + "echo XSPI: Trying to boot script at ${scriptaddr} && " \ > + "source ${scriptaddr}; echo XSPI: SCRIPT FAILED: continuing...;\0" > #else > # define BOOT_TARGET_DEVICES_XSPI(func) > +# define BOOTENV_DEV_SHARED_XSPI > #endif > > #define BOOTENV_DEV_XSPI(devtypeu, devtypel, instance) \ > - "bootcmd_xspi0=sf probe 0 0 0 && " \ > - "sf read $scriptaddr $script_offset_f $script_size_f && " \ > - "echo XSPI: Trying to boot script at ${scriptaddr} && " \ > - "source ${scriptaddr}; echo XSPI: SCRIPT FAILED: continuing...;\0" > + "bootcmd_" #devtypel #instance "=" \ > + "devnum_xspi=" #instance "; run " #devtypel "_boot\0" \ > > #define BOOTENV_DEV_NAME_XSPI(devtypeu, devtypel, instance) \ > - "xspi0 " > + "" > > #define BOOT_TARGET_DEVICES_JTAG(func) func(JTAG, jtag, na) > > @@ -127,6 +131,7 @@ > #define CFG_EXTRA_ENV_SETTINGS \ > ENV_MEM_LAYOUT_SETTINGS \ > BOOTENV \ > + BOOTENV_DEV_SHARED_XSPI \ > DFU_ALT_INFO > #endif > Applied. M