From patchwork Tue Jun 4 14:27:35 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943423 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=NqhZ37U3; dkim-atps=neutral Authentication-Results: legolas.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=patchwork.ozlabs.org) 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 ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttHB4cMkz20Tb for ; Wed, 5 Jun 2024 00:28:06 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id A2A61884B8; Tue, 4 Jun 2024 16:27:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="NqhZ37U3"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 306C388494; Tue, 4 Jun 2024 16:27:54 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on20719.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::719]) (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 0783A884A7 for ; Tue, 4 Jun 2024 16:27:50 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LdI6KKpwrZynw+PYYshm0SaaF3RlFeJEThQSru1wzg+7acxV9xlePELoymu4DG/BlR56q4yeqQd8ggApAZWsplLJsZ1XkqefXY01SlfOB2Fd4AMaeaevhntSDWOCP/LjgYcHiz6pEnTSRZPVugXYJ5S0e8xI6VsbQFhIDBcXQaNLZzFdkKcy4uY4M77buk8JYirOiFDF6ummKFk+L2ys91WWp4BEp3i1LJSOupaoEDo5FGeyz//IS4QcXgRbRpcIOa6MZW0GAvqlW3PMw6Iyrl05iUIKn67DbHjxjTiGLPMpQ17p16eURvF9kNWvs+trYfwCkLvIMcUa7TrlcXcrvQ== 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=67q98n0dNiLSX/sTawrBqc6uh1U0bS03SsRrSRqAhSk=; b=nWQe3DHY4do0k26zRwVSP+RBjV/QOFePBGFV5imkr6Jb1W6D4B4wsglou2NcTK7gDe6w1wo+FNAyQeI6dXDeGSBaME4pfAmI/rcaucBpU9vehCKwcgZReVMJZ45dcv4ZcCQG8Psw3w4eg9j5M8c3h7VTxihDpHVIOZejcJ4pmj+IjxCileO0iRvjDmmLeGOKvtH/SNitJcuuLFS5e1WuEu0qPdElqykzckmo81g+UD4Pv0XuREQPNggMIMB9OsfOGtCyKvWrC0yg0v3/zezs1RhlnoNQ7gazdhLpbKf9gFCRMyiSZPPaem/hYoslbBD4Ey/1lBihjWsm2m413Q7Mcg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=67q98n0dNiLSX/sTawrBqc6uh1U0bS03SsRrSRqAhSk=; b=NqhZ37U3LSKLwz05dbK/TRu52zlTDmVR0wJSBIhXc3ITkeS94WVbOmB13ybChaCXrY/aWCbaMHAdytLZN2xF7377tEL+o9Te19IGfuTQVgdmaGyMK8roMeflhhxO2jg0v2miKu0CBaPVwqRuhvSHmBqvsaZoduHmVU9cdduxTX0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:49 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:49 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Martyn Welch , Simon Glass , Tejas Bhumkar , Tom Rini , Venkatesh Yadav Abbarapu Subject: [PATCH v3 1/7] configs: zynqmp_kria: Enable CMD_FUSE and ZYNQMP_EFUSE Date: Tue, 4 Jun 2024 16:27:35 +0200 Message-Id: <20240604142741.425307-2-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: 47944833-973e-4f51-28ee-08dc84a282df X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: 5LVobpy9LZDHFi98gJoYDKQJpY6cv+Wb79QWnvni/s6cCPqdD6whM3TopKhhXKSLUs9ZADngr0HowbSlbiHrSvhTfVFVr3+VRrbq7u7gXmOPpPXrMQLnvy0rAo4uSBjqW/tSyzpBDziNcWDTo0kg1/r6pbD81yrH2gh6nYRkayJhKYQje4/xrPHC9w9O+BF12xALYRLDsjAWpUFLg9bTynzIN08pAXObc3vQiB0/VzWmiRiZ/JZvJhnf47TtaZlDPKB2uHLZabD2xglN5w22jWJ3VsOMvsnvldjv62DB6B7xNijd4q/fXqrpcPyqgzYxsO4DmvvpxbuHSR1UD+V5jxa7Ytws+XZLAitRzfYW7OoonwOWwIEOJZ3M6SJVvsYC5y+nzIDikc0Ql58whp8FpLA7kB7VZBytlVGjG3hQPqMzgHBpOzmkD8mL5BuvKwBscAkUhiglyApCUnhS56FbK6QFBkEaG1YXOmq/a221EQcjaxs199m4CAkWHEQNczn6cbE+DpEEZoki6eQpiofwB5exwqFUDzMPVp33hNsDNyHGjOg2Q3qwX9BvfdZqpzuqaj5oMhbvvIEnkg7JIDhrCoX3KG+0++TrRRnqsIbyOWsUSivqY32jYqkNapF5zcUnupPEDktjrV9ChdCdGZZ49A1FdiwsdKPU8aQ88wROiu2acy5pj4iVFme5/eCBFUi+3ehVlNlUV2zKLUHHr3SlgBij1sniXso6XSBFBfNwer+C8qlWK3zl0l7PU6setZ4Lb3SMyyW+JKJnhFWBHzv0ff4CELV+VwQZNsuoPlRgwFafnWgnD+6RkEWbYo21C4ymyX3fs8UbUnqQERmFutogcd6R/riZubsB0xZfImhSXvP8E+jqWUCJe1UJe6tyPJPXNDZHIj3AjCXtEmZl/CGPFBVnOtQRot7aynihl6YI1mnJTW4FH8Rkr3nH0Pk6T3Q6EDux5HR11nNEsxc96ATzvwGf/r+CLkUK4aI8AvkDvsikyeCjLQKEatZV1GtC+q62dL6Q4l+Dv4mD/VzISLbQxzsytJIeZIY2xJaIV8g4Om1EXmmKjAIK+M+VX3o1j4GLQ3WWVM2eaxILseiA1T2FOUwh+sAE1s530dvpz1BMekldGfa8R/qr48vuqGl8knHC/iHbLy6CDvFWzswUeD48wMAAHXOalsKK8Bj/DkMtKHrsRDYwP/CP0DXRr4rXIXk1rxu6Gf+59qIYe0bBgRQygQ2Eeo1FumNeUaLDRAfEcr10bnYjRJ431pDNjHqoG2McldVb+OJjPtw7gy3CVfLR7AKPSCkQ9OZRIk0tfKpf56f/wX0RQvTsVVKKuQshG7URkUcVP5finU4Vc70HLYkjwl8xMWI20Owzd5gmia00gmQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: zIPA0m5fCuzYmfP8IzeBEelJ2cLc5ld/hz7SS5F8rLqShLCDbnzQ2F2IWwTCgEQuwaRE8lP7CkMxxTyAm82nPz3UQG8tRRuFQK4VbsXtG36z9iX0rqF9Ey94/PVTOONihfNNHH8IMAZ5EQVtBZlwy5j1VZNNyEw2+MLG7VpxTv4nDIk9S0RpRvnEzNQWDbTFFF3bIbA/1IPLxviaUerV3erBnpJ0HA8vbuN5nY8scgMKjznu4yxBYPOMVtCUzXx1eAMJMYHmDtDIznf7HeHDfE5AUTO8A/7p44R0dyUqcEVx+4qWRwmhFN2zTKXZYp2je4Inu4dU7Zk85taBqDXt0cMaFs4tBNIdAnoSPAGISSwmxFsnhcEAM3/R5b5M2LTH3S2bGPLnFABPDlXacqZ7WdRoHOU9AvpQ4osjxrwlXC/fWFB2FbT1m2L3hjw/f3fEuW2ITHKkcj9iCg0XbP9P8tm8Xqh6wGFoe8pSUbkNwYmpO3vUc7xXUOMUondsHUEC4FGG7i7/lnb2YID4G/gWzuz7mIWwFphbQm9FtaYegCp0YOx2jrBKmYRNfW5y8hfmxcTkeeAgo/hp59IM4+uOTNCuIyT7VHib2dYHKaKHOr6DmRIEMu8Ey6p7EZ+acj6zClU9129RBff0tRUA5Q0nzaYcOxwK2G6HeV0o/sKeuh3Yb7Ga7FFav8AdyxKSYIJUc4jASuMhIzMa3l4C7m+L9kC6jRseh4eW3lFefbdo2POyyROaR8bJJe0n/IPR3xe3SBKsQ7IOjBS5EMmlUGosvOe9OOHYXY5DYt0HC5ovKR3W22StnUZwhE8u3QyuIIZlVcasHFZzk+oCqCH2gwkw8Bnx+DOSI5LxiMA0qvUQdD1z5jeWegO5PxISsHpZ+qNw0ySjBMxE9WAnOYMCWkY9LTvdgOue3cOz9B8gyTk1YkFG8y7RZUXBx+u4dNWNl48ry4mAlHhWx2wHFtUisJu1NZiUYyew5QISkV1TL1ADjPjLYoNNSFNCiohhErVhON0NruJXSVFP0oW/3GzInuI2s4i27zD8Vu7prwAw02YP74l9ijlDyZNuwjVDzQUeMPE/DNBavlqnIzEy3YhP1zcVS7nf2avfDHA/Sg9G4KDJunDWaJ8PcOZOKaOs+i7PAI1KTX6gd1AJQ3vNXJLuyYdPm9YvVm/Wj/mvXS/shlgSwU7kkecY/g0a52IHsJpcmapEOPXFhK9dQ0apzae6hC0m3GzG70yXwn77KA1HEkYmZuEarCwHr65rfPjSvHVFq5S22bWr+dR2FzRaS+NMcUFKk/aiz3mdsYxt32uLMha6F4JWvQ0WcWkDdMzDVornNxrpNI4o9b/rC40TvgBrq7on6lNmRmE9tjvEdv1y5bi0A3NZ84UDj5MnBnkEejU0pP9zZnS0CIVkqRKVBM9r5MQHUDV3edvGMZXb1cYLiPHUNsN6yKO7KvGOP2ONCDApaejk6+cAu3PvWRhVtRj96TjGP343f8eiQuKOrdHGXKYjJo5bDPAB79vNDehrBf7JlSC/Y7WBAuEiXh4e0jJ8pYQriHet0mq1vLi2TlK97DiCR/YecPEuZ8bdCRJP/Z08+Abh8THGSKvIlA7kg4u3I1zJew== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 47944833-973e-4f51-28ee-08dc84a282df X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:49.5790 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WkNSQ9yV+44w5LUDy0xFZ67ZpuVy98rEyXzd3+ywbH5xB6nmrw6eQ7N9TBBRqxdsCr7w4q5YYK+fPFnHJpLQUg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Enable CMD_FUSE and ZYNQMP_EFUSE in order to be able to write ZyqnMP eFuses from within the bootloader for Kria SoM. Signed-off-by: Lukas Funke --- (no changes since v1) configs/xilinx_zynqmp_virt_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig index ee87beb19c6..1edd4ac77b1 100644 --- a/configs/xilinx_zynqmp_virt_defconfig +++ b/configs/xilinx_zynqmp_virt_defconfig @@ -65,6 +65,7 @@ CONFIG_CMD_DFU=y CONFIG_CMD_FPGA_LOADBP=y CONFIG_CMD_FPGA_LOADP=y CONFIG_CMD_FPGA_LOAD_SECURE=y +CONFIG_CMD_FUSE=y CONFIG_CMD_GPIO=y CONFIG_CMD_PWM=y CONFIG_CMD_GPT=y @@ -147,6 +148,7 @@ CONFIG_I2C_MUX_PCA954x=y CONFIG_LED=y CONFIG_LED_GPIO=y CONFIG_MISC=y +CONFIG_ZYNQMP_EFUSE=y CONFIG_I2C_EEPROM=y CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_MMC_IO_VOLTAGE=y From patchwork Tue Jun 4 14:27:36 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943424 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=mqOxTySy; dkim-atps=neutral Authentication-Results: legolas.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=patchwork.ozlabs.org) 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 ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttHN6dZgz20Tb for ; Wed, 5 Jun 2024 00:28:16 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 1E481884D2; Tue, 4 Jun 2024 16:27:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="mqOxTySy"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 7339188400; Tue, 4 Jun 2024 16:27:54 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on20719.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::719]) (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 317DE884BF for ; Tue, 4 Jun 2024 16:27:51 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SQDNpCA4tmHJ8sT4AOVlW8YwpQC/qTJH0cPATOvdmdn34KXloaTVjD+h3iqAU6Vv5M8Ls9xVkN5sTi0vrL0oS2frnvrlR91MErcK+nYF14iJwAUo5aH9WK+B0Y/L7CDzKuv7PpIi6e+YyUClPg+BFNOW+HfEIxjOpuR4686qxGk4JR4vGxrCLuss1ViJY8VwgMm0MqfuLBsVC5QRsu9go3L5iXPcF05N0jf5RLjP5KFaP0XdBJnin4mlko1TtXASnIWIU+2kKYYQd0gnMjvfTKceLFWvJh+Bqqk0AT/x6pSfipBEJHT8EIRu0yY1FqF14aK4dNvAUiunKqqfjVgkMA== 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=zr8gZa1T72dC3sOmnVR9Zxf+Y5I+Sdou7gnhdgIh7Dk=; b=J5SJTReNLInS57AkB1vlkojMVE/7CMCb4X3wGiu7TKKQ43aGA9ZguKMucTPDiXk340BxhRmvzmbF4cvFKlHtbq6uPT/9qJloDqKhLtGr8jiqXD8lmzC0eeSk/tpHi59zJTKOftBMy0aaUXdHlK9wNALnGuBv4pmBqOmmQ7FTOx7o5QWKn5+vr8cXoWkxkhiIpotM5vhNPkl/9LhVxrvbwg0I+ef4vUJGjLELQsKANFxhJ4NkyJH72R6gC6RgUwOFvIs4m0SF2l3UNu48EzWFSh2XJR4QC25MHSVsHMaZSwG7sZsALF+vfWI+blZFW9wh5XE9p0c9fZW72pEJ2Cb4Zw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zr8gZa1T72dC3sOmnVR9Zxf+Y5I+Sdou7gnhdgIh7Dk=; b=mqOxTySyKi0RolPYKcH672fbLQu1gunVc/UH66eo6lHnCaJePqYxoZNzy1ZZb6mioClgBvojXYoIJcT5U++vU8wTPc3iJfzVJN6XtBKhNWcSECJNcCj1aKtMyFeg1lSC9JOp8WRwPgLQczEw7qZbMZIhJ2QpWtKEMOfgPk6gfYw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:50 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:50 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Marcel Ziswiler , Martyn Welch , Simon Glass , Tejas Bhumkar , Tom Rini , Venkatesh Yadav Abbarapu Subject: [PATCH v3 2/7] configs: zynqmp_virt: Enable CMD_FUSE and ZYNQMP_EFUSE Date: Tue, 4 Jun 2024 16:27:36 +0200 Message-Id: <20240604142741.425307-3-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: bea5c435-c71a-41c2-a2bd-08dc84a28347 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|7416005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: 0II0YuQd9vcnGDohes9e1muJdi+5R4M3/8DqPVlvyNv/YHisnF9FqJ5u96xb2aCjd5d15oDR6ijOM7qcB4x3KxGYFpuexxMmf4WRAwBmrkirlRWS8Vdnflx4eaCCAGW+vNJ5uTK9fQMAo2qnghtgmmvoeMWosK1IhUr8b7dNT0Do4F7tJIkiMZS5IHQcONrcyqFSvvTBKjC5sGyNAkTr2L3NEs1511AzbJWmzQEJHJBr5nGR0rvhWKn/VbYIjvp229TPAMHm2M03WhHtRCT9PKFf0yCvIpXipj3jhxqnxBw7RJWeQ3O8ngx1+qaKS+ngfxRHfFQ9zFjYpCykCv71MWhsKDRFNFLKBpODusGG0Va6ei+wTIvJJ73Y/Zsf+WNmvHe1kF7OUZd1B3H8aPKMcSs3vl58CDTwBsLRAULUXss9henkng1L6GnurLsKAkYUc6PQ6PveLvz67Ke+5iZs8AaCCBUb1kw8CRaon3Ej3hb8yddUoSxiuurX/OdZoeLJrhZ9Xa+ybRNuYAZNosyR1RWTQYKws6tv+T3zoWWNy2DmTA1IHFUMbyCBRydl0fPkJtdh2hSlShT7TeoQdD8zzUOZMCtT8MM+akwhMGA3MiemAO2nDmSJaogk4ieZeJfeoH9dzqhHaq7bboZCMHOHBFV+b0+GxnjKDf5gXbdhxLYA/NTgacQdeVpoRo25j5HBWIHkldx5mI8mEbXixadLB627Wk6nBkkV2YlV+L03YpcJThdT3GBm2n37zSIMZs3/zbGWB4otOG1QPwhK/QAViEKBmBPB522rUeuPIBM7VSfkz6xqdy09/KnBwJawuf15owUzRPTLet8hT55hZ3z1fpclBx0m68zIEQufZjiVe3Y4AId2lXerFlG83ldn9Oqhp+1spidGkHbmAIZmMr10U0cNwwfgv2RYnbOuQ0D97qSffb3V8+upJ4guu0b2MlhSeZtfuG12CJv2vnJPmxhXf2JveKJ80qsONI2TkrKmAtUTy3V9BccpVR5jiJyB6HgqsJe6VV3ngfhwTXKHFI8D0UTwfXnPi5olsuXRJ3DjW+n8zqED/ffln/XTK+BGhXHCVYag1F++A26zroKWN+rI7O/Y4L9egBD1IX7xdEZByr9bwDcNF4K5a1RBvBKBG4ItiDYZsMLibnM1/ZAU//Nx7YCPUCisYzdNHrC2QgZys7xcrvYQ68dcZP8rG/IU5aKD7f5ocxv2+aDtFHyRf67SRe2qia1cLQkzXEwh4Xi3uFVrlYqy+4egxcaXMWVmMhmGpeOwA1mi9q2dCpWirUi4B3O/A27X0hA5i57NA4eZ452PPQEL4cCufVUeiCsFKsebKWhpjRpsiaFJyghA1sd66tQQfvBNBEruiZWig8tIEbQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(7416005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 1Vb4vW8Sv5EGTFe2k0Zu7erCSMRlNA5k9LEQni1bEcvpvoRWjGhWuLoWLsViQ0SToQmcqPOqDYSn5VdmYQW2G7uCLRywfgLczGcXX35nptyyGyRQ3qjDkDK4gI1cAfKtMO6eaLqHmgK3CheqE4vqbG0nKvi51xgS+RwFLgGU1PUdXqlXJx+pWskoopliOpgF9C1ypSBPLrO4p4jq3zFq+6B/XpnUV/LX1IaJIZ0nqYanBJk2ZdNm2YYJV1LRzH6TBt3m05Kgodwk5cytTsrJ63wu1SzhEpzACJfuzLn6yfLigoK66TyUIFTss/VIukpjH9Y44PdamAUtupf4UTB72P9BDhRy8pDAI0/wSjQduNmosw8x8qwS10oTRkhQMLq1kBEX8XDxaz/MeHaDtSNDhe/dMUKiU5W84NzQgxP75U8RDFFV69mqqbdfyelViunHWkmjemuVe3/Aq0J4pIC+h31FuIZWufQy4D8KYcn9jbRKRl7YL9nYm8ib268lIrpAveOEZZh4+IRZjTXFJW5m/Q6LiVonNAj8gW44b0BYNjxOt6SXEx3Bg+v4vXZ7DSY8US42wz1fA8/6Edkz93EO5Z+o/saYZshwfGRt7RHjLFhaxzDs99eyZ32tnmk9E3Z9d3SDYvbDbd9JxjhIXecEBK3KUjvoXkytGwlO7aRRPiP76skXcyctH7IE5oV0aW6N0kMBD4z1Z3JzFNuPx38PhDGkYHqmflM4L3AGHkFRDEGIZS9NqJ15zteyZwmrXAZbtdxK4gEMebkdcZOFjh5kBIkmtfN+jV3JDXiVMlAlk2oKzzGTjsENKUnrJLRwzs9MxhgyPyUCPyx/xZ/E9IiKMwMi1B9i+537lzm9hU9Nq9OAN9jDBKtCpQFC/YhZ3wYcmdHgjhIiBX/087hufgo3Qpkv2qUEUWYuJqKGXliPHefhTQCgZxpSvAK6M8YiSCgA1cfwgVZzsfSK1wO6DOzWPoWAyuNgNrjFua7ffqrkHbDUTEToXD0Toq3JOQzn5y5NcGHqgxzXiSk8r8b7PvmS8aQw9KtJP3Pqyy7aLTCNhD7D+WfEMKwsxawBGma28y1DDBVyhXVfsxEK/5JmcLXfgKEtDQ56YTaBoFFu8+MJjnetUumzCy8DgPF0bzke/uqMu9be77scakaxvoPTw2qwmH6AeElwQDp//P5nFhkjiKtCE6afYgsx/35UQSvvNHQRjgAj9bTalR7aPVR03x2E4E92qGeH8frMVyfj04nDd/3rN3ZPkzluFcmtoQoFm1/T/9EL4HFOxgDUYpO+kk6kOXzQDqoZqU/O/SJ/1PngCduOJ8jIoy81q8te4r+JXcFQup/hPmga+PSrd3B/dXHuZbiuKmcmqjbNISI+JLDp5J80qb22Nu2GvKsULMtaVew0F0VayFcXocnqZCtjWOyiZThHLjwlN4/0KYju8zLR8uIago9u0/RibYiUXWG8CVjj8PpP/sGNvvdzD2pUxde9eCXQE1fdjDJWJR9U/CoB+qQ+tig3hYy834qqQle93ZLhzgEWZBjk9XMLhdKz3I2JG9oibpRtSFrw/CnLjE++cuMnVQmMseHlp/kRIXR3+W+LXx5dEoEaKecx/WD4qLNawA== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: bea5c435-c71a-41c2-a2bd-08dc84a28347 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:50.2664 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 4/Y8rgsLE720Pu0ZR1j7T3oW+LR35LfJKll4VNivas7wq9Lg9ildxEVVA7GgrNCpZYShrhXaSnEyJdgI+K9eeg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Enable CMD_FUSE and ZYNQMP_EFUSE in order to be able to write ZyqnMP eFuses from within the bootloader. Signed-off-by: Lukas Funke --- (no changes since v1) configs/xilinx_zynqmp_kria_defconfig | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configs/xilinx_zynqmp_kria_defconfig b/configs/xilinx_zynqmp_kria_defconfig index ba42f0c7848..ac91dccbe64 100644 --- a/configs/xilinx_zynqmp_kria_defconfig +++ b/configs/xilinx_zynqmp_kria_defconfig @@ -65,6 +65,7 @@ CONFIG_CMD_DFU=y CONFIG_CMD_FPGA_LOADBP=y CONFIG_CMD_FPGA_LOADP=y CONFIG_CMD_FPGA_LOAD_SECURE=y +CONFIG_CMD_FUSE=y CONFIG_CMD_GPIO=y CONFIG_CMD_PWM=y CONFIG_CMD_GPT=y @@ -147,6 +148,7 @@ CONFIG_I2C_MUX_PCA954x=y CONFIG_LED=y CONFIG_LED_GPIO=y CONFIG_MISC=y +CONFIG_ZYNQMP_EFUSE=y CONFIG_I2C_EEPROM=y CONFIG_SUPPORT_EMMC_BOOT=y CONFIG_MMC_IO_VOLTAGE=y From patchwork Tue Jun 4 14:27:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943426 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=W3L/798e; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttHp2227z20Wv for ; Wed, 5 Jun 2024 00:28:38 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id EB415884C6; Tue, 4 Jun 2024 16:27:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="W3L/798e"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 16F37884D7; Tue, 4 Jun 2024 16:27:56 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2071f.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::71f]) (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 1139C884D2 for ; Tue, 4 Jun 2024 16:27:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D4c+BU7+fB1X4rwx20Vbe/jhBkyhT3sNyt7XufYPTp9R0ZuCXD3u+RYG/JATExw/E4DIGonjM5kfkTaGLCQI/Qg/BzHztIPwnH/PC3ntiSJG/d1E9kdJozGDzb2CW9ib08pbHYXEEsCQji+fhL+5V77MghTbisHhGU8B5Z8i1036aeWvxAIXSiISP95XvozHJ8sMfbn97WP/ZxIsoZGsj2a3xCao7ga4KJT8jcV+uWi3SWg6hb2mrPxi6pvtlPqRd1x10yeMJ/H9UPhqwGDaYMQeTEkf7QvhqsVrzD/OtjId6Oa4El8Kc1KjxxOna/OzJlD5UR5Yxntg5X1TkASeXA== 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=wliZlrgI2jnURe3HwQsYPZ5mC1kZUiimR4ZIUWZrrOw=; b=X9X6IGOgPaT9u9Cyo48chmd9onI4E5flvP3SENBgCstku6ihxpG5vXnMR/4ZaDWMEBbCRVZkrYcBna+JDYVIRQy94VzR8pK7kBV8tDal6B5mPMT4EIWv5JAQzLVowLyk3sw/APkALKkMU6Ln2PRQ8npFGGJ8QhUU+miIEUTGsptZLywbOLp/0b/qNh9N1okoUGxDrdb8ZpcsARbFvMISkG+BAuqLZQIa8ieghMSEqerNHr0d0KaPxD/AaHhZUqjcSikkb8ar4GQ+7MHKV+UtepOKXzoudZvfbkLCo0KlbQTC2LwIgO6XeoYYdSJIrOuriejN0TaNejPd/2/yPrFmmw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wliZlrgI2jnURe3HwQsYPZ5mC1kZUiimR4ZIUWZrrOw=; b=W3L/798e7lHyPG65CmKHUYoS0kl1neXWXWTAfhG9SjAsIpTv80a+Kp3LGIrBZXhIm8G1bi9kC7JJHwGkqT3HzomG7i0VyLnKMmWrNL8JQLkTYuD/whuQNHQp+HAFj2xwtyV+X6CzcHF6U+nBs4ZOgNa0Vp/3AeNWZylO88WB9z4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:50 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:50 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Bryan Brattlof , Tom Rini Subject: [PATCH v3 3/7] soc: xilinx: versal: Use zynqmp_pm_get_chipid() to get chip revision Date: Tue, 4 Jun 2024 16:27:37 +0200 Message-Id: <20240604142741.425307-4-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: b194fcad-9270-4c6d-fcd3-08dc84a283a0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: qFKpPSlac7JfoC1YIVwIE/XAZ8gJJ0q9yhJDpbtJu/KXzANFfv9gtkyiQyoqKYTMi+1Er5x/SoiJiv0y+aBhfO5x2zz9J6eAwlhPr6WglBzk0O4wxAZD5lJ0nQAFVGTj/AV65/MIAOD5dHQyBKUqARARJcNwEUzQA4vqgdPyvhaXVR/a7aB6RbMRm55vTvZZIX0oGkW8DQdxeyIE+65YsQoXxuqVNytlH0IOz8PQkn+qIuLyASVw3MhbBcHfl4qtyNVa59KQ31qLMvD1HbFgp6/tYQzyk5LEyFaOElWAHzg9knizXi0b2iAAJVZEu7rQdsOTCKqCNUYv0rHKOF05Zalv47bxmVKkECvIrPeagi2xgvdq/G9mtIPREGxhZnk5NlRJXhx4Aan/bCycjvMZq3w99RjhqyFh/FLUV0Tvqit793tmemMxf5S0gW/bQiHMzXYljgDRl4qSVRfxwryiXklqkTlIlazY5Fq5fn14PXKBOTy60PwGsmKhG3o8EQUYdGpiVXZMN27cGkJEu/iY4e4uOxQ1JW7HP8GVGRu9Om/0gRG4E6+qNPkiH2MuG6c6EQxW42ZQ2XpiNHcDCoPXfj5EQLX6UF/uNgE3257T8UKVgbLSCmUiPVS603TvV0ty+JRL1iWBTiC+m348qn+2NFUCTgAJGMh5a4lWqnmw4oC5uHFj+9xsS2FmQL/QzAMyFrtF8UBJX/U+loKwQR/OASLUMTl9uakwpKojxo4QTflliCMY+z0IejFv90f0TVBX3fsv67QcAXx47BQHdClPMnnPgFMMuWVvV7YHQekZlsdqcH6VfuG5VwvR7T3STzYojXbt03rTDVVncKKWducM12LcRLLh9/qU7BVJooqMs/GqXdyb5AxYGMrODf/INZo3E/aHsfVulBbVqTg95ENz9zlPfeXZYLJJm9XRonDbX01GhrPnHjItbGwiR9dbFZF8ggA6ezl0jOPcL84AGR4R68x3QFRPwHO8a/3g1Ow213OHKJyHL4g92mGJ8nx4sOfRaMRC4OQEkO3g4bRrHIrt/E4RG9wGlhO4jhu1IQUR7bBcT5jOyCcIO14A19x+5DPWqCkzoDtugxUWs4OXQWuTDHkuLxBTFAgDlg3etZ6yOMuM+W/bk641lm4a4sPkiodmlrv0vIdBCXLoBaw8p+Q/DgLzN5HzlQzVKbE5CvQhcy5LDG+sqzQtTxrS9f7CB4zLwzpP5sS01v2n+1//sF99Qdy8MMYLL80/Jg7eHnnHdXqNkAoJnXrdRf2ruDTOc5sDTBQSJePteajf4k9V5GJNzI5YD4wU1HmG7lJAO3vkOZTJOhUipRCmduqJlhBoCU1AsFWZf1ACBEegYpPOE4BPK5TTswafMlCiFNDRoAdi+nw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: EYsAa4cmzURIM7O0P+s5fYXD3+jBy0qXn5ideRGkMVyjaoegDxPWbnfX4c1lgSeJLxwch7Oq5zWcO+dPYXKzBlARn3imYq4JObLZ7PfTKkdu8eOaaN9l8JH4upq1hEhwxL/8HtMqWkYaDa3fAo8AE1fa0+6RSjjcGSziJY1ra/3K/xHwUai0NStj2Y6szr3gjAtVQu/jMRIMr3NXcSh6wCBFl4mB1xcDkOJ8ywpSQJbAIb2gQkvbHiJBp1APNiuds9Snn7DJYUgJ6/3JjcKMJjkkD41euANd5J0ZtL1erk2gyLKbVkkXhOKFB+MKTH7KT+pG0N7cN2ewHRcDbz0kedFzMrwg9E6U88g1vMr6KGZQ0373DeISkIfH8EhYCti4g1Sl3UvbyEnfRRj3v42aoJJ/WPph/UGce3KUkN3ff7+IsU89gGCgVcYCjZiIuanq1DK0c2upcoYKzkHog17FWEWBvE50X7HNl7/9t9/01HwA9LBwUhdV1UPKvrANuyJsJOLwY9M8VGgnQYf+fVoFrQG9EFyUKLjRlcdNcxMLhw8Exn/+1ecORT8cQdPm4xM+F2rfqRsZAJcXYfgYsYEEWeu8lZ78n589eyuglHcUcsF9LvxIPyJgqCcu8EnhIaWj3uuXOnvzLdceYvNjjJQFLvd+5A3S5GMOZVvzummUffTaDYxS/5qLY7VyiBHSZtyovga3C7cn1rlUYz90Wm88+QT2TlYqjLKuyOnAFfRzVI9Vzsuw5ZOjLdLf/dfiYk34p20X3HdxVPI3/vip7pDSWLAgbaOg13muEoNmTJ+h9c3uvvVMlyRqanBmSmHgoF6uHj6QKlJsN5e15tdzujqBPwOwZJ2P8i3qLt1qUj8We4hZDohR1hX+gEbGwEZNZQG6/2ZdBVPJoOKRc6RDLD/+7oP2vrX+kpKOjDKaMsdBaRBkJuARpJaaIl373zkgTXT2+csC8+RKWGANS3Rj30tXgUwIg11CLfksHpI9RmLVSmy4Yw6RYe8fLzRqLY3pJWvbt1GuJhptUd5R4c2CWgqpE6x9OrC5tGPD1l6XpSTtDo753vlk4BbdWrmrNG2B/0NKdnG3uvEBb/xIMLVPWLdR1Mx8RgpbqfiMNPpsXwcKlotsvdEyVd8GYMu7RWSO+VxcYQ2czQLVoG2uDFhnXZiD6SegXxVkwYc1M7jPZkCrYVLY+UOaeXBWuWwL0yPGH6mru6Mg2KxmurzsePGFTzakQS339RXosie7MwER6ie49xJcYXyrlmG8GDNkJx4mkUEzugfMikB68NCese/IHq+/MhfvuektSOr5TeL4+eu/KpLlIkwtc3/NxUndaKIQslS2zac7kZWLrLx5w2N1TUCjh09DsTG+IabEuFC+9+Uw7RczpHuBRKrB5s4tPEUSG4b7wBzxRH13Zjo/GoMXysD4gkjmWwkr1BvYK5EBvZU4eV3dIOPhi2IxVnpLbd8X8ujW4S0uUYSg34KSFKbHw2zhCE3JnIhmP6C++tosB9Tky41fZJ0hSzjM3sRI7BbhtWHnLt6D+8bjf5PcAqbxBdAllMNp7+yEADxxkoQ8VpbLZmvaGwDEo7Qd/KtQCqBeNomNVT4y+Fe1Prd0vPcN8iHHzA== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: b194fcad-9270-4c6d-fcd3-08dc84a283a0 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:50.9109 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AdgJKj88z5b3l+AygsqN7mlQ++vH0XUviDLlrIWYwMDbmrub0jeYjrMkRGYYAmotT0oToakVVp1BF24NqVlJuw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Use common zynqmp_pm_get_chipid() function to get the chip revision Signed-off-by: Lukas Funke --- (no changes since v1) drivers/soc/soc_xilinx_versal.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/soc/soc_xilinx_versal.c b/drivers/soc/soc_xilinx_versal.c index 3d8c25c19bb..3d949c4e612 100644 --- a/drivers/soc/soc_xilinx_versal.c +++ b/drivers/soc/soc_xilinx_versal.c @@ -45,23 +45,22 @@ static const struct soc_ops soc_xilinx_versal_ops = { static int soc_xilinx_versal_probe(struct udevice *dev) { struct soc_xilinx_versal_priv *priv = dev_get_priv(dev); - u32 ret_payload[PAYLOAD_ARG_CNT]; + u32 idcode, version; int ret; priv->family = versal_family; - if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) { - ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + if (CONFIG_IS_ENABLED(ZYNQMP_FIRMWARE)) { + ret = zynqmp_pm_get_chipid(&idcode, &version); if (ret) return ret; } else { - ret_payload[2] = readl(VERSAL_PS_PMC_VERSION); - if (!ret_payload[2]) + version = readl(VERSAL_PS_PMC_VERSION); + if (!version) return -EINVAL; } - priv->revision = ret_payload[2] >> VERSAL_PS_VER_SHIFT; + priv->revision = version >> VERSAL_PS_VER_SHIFT; return 0; } From patchwork Tue Jun 4 14:27:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943425 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=hGIKfidn; dkim-atps=neutral Authentication-Results: legolas.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=patchwork.ozlabs.org) 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 ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttHb2DZSz20Tb for ; Wed, 5 Jun 2024 00:28:27 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 831F18851C; Tue, 4 Jun 2024 16:27:57 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="hGIKfidn"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 15E6D88519; Tue, 4 Jun 2024 16:27:56 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on2071f.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::71f]) (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 3A1F3884DD for ; Tue, 4 Jun 2024 16:27:52 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=m70C2XoYnfAhQLVENdTa8JsgyfQUNRA4p+DVnglxcIjZiKL67/7eOFC4i/oqYdbvpShnocLgH8RfjO9FP6ab8SNjlyTU6tkJaQ5GCduSl1zDrXHxtpsHtqk5cANpGv1Yboh0yFJcAxnNc9CRWs6mlpejjhSXnL1+JAs/FqwjODYRb7iwTYVbV0KAYZY6fkibJpTcEqsPfxwltinN3Z4cfbKRYOjUwPyTTh4SHcmC4/NaCUCszvF88Tc5g7lyZUH6vcF+PZNc7zYYFUF+k/TCoAGjk+ItFW9NOqnjOx/PKcsZoRJd/dRgEkHEnQNa7tD0p9xHz7UEvy4mz1SnUPL9zg== 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=9ZokbyFVwCsj8GRqr/bIqo1OClUc/t+/0dX1w0ReARs=; b=U9FJ6LXY2aDtsj5oxOC5Brr8iXzJgw4rIKDu5CCaO0MaUd8G2MeR82J2II5JK2EWsRf45Qmb4GdaLjW3tnT37uE6jO4IxWQ2D3pLLcy+wCOWXk4lclRkfkbL/vh9teHWo1I3Oa/9lq7f6PECP6bhxLCNQy7zIwvoHZta++W8NdsXZcEFAD1Mr9bs9Olyv88+6sfYqkfzrnmwTpAKu6LDRxOLN0qS0OIFZe5K8f4NIddGoXfc5xYCzrvU4y0MMSmcmo/MyPCsNUzSy6G3g1XuSn1DGxDVi3Y1WXf6b8r6YzrHp97bMWT8ftCeQYO75E44daYAxreioj+VXEP0X7cwzQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9ZokbyFVwCsj8GRqr/bIqo1OClUc/t+/0dX1w0ReARs=; b=hGIKfidnlHpe1laGXhilT+6oFQkrxFnh3MoOLsVoK7hHFz4J0QJ8f3bRVBIaaBrhSmz3n0f7DvEe9wImX54pvH1kdcTDxDK12O/otKhotJcaHf4vSw2sRPYAv3B0d3aackFPxg2kkTfkTuugxGLg909uKPY+0Y7va+HIeRX7b14= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:51 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:51 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Bryan Brattlof , Tom Rini Subject: [PATCH v3 4/7] soc: xilinx: versal-net: Use zynqmp_pm_get_chipid() to get chip revision Date: Tue, 4 Jun 2024 16:27:38 +0200 Message-Id: <20240604142741.425307-5-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: 285a75be-2ae7-4aad-2b63-08dc84a28404 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: dz16HgHnQdAOqtAthR34b1tSEtAS8LAfeRuoUrkNA2/pwWxCAgMULSD+Hmv7MVK2FL1lM9pb2p1fjRB/bKhEOri6Jdg4VTcgwy8C3i5kCQGI59cnhSlWiwxCQknomfoBWeeL3Ys1CjnBgUmo3PyE3+JDE4bfuUyTI9qr4ha11i2rjdjxVws5Khr/cQZY938tYtjQe9hTXu7k1rRXYbw3r3RRR+X2m6TXGWw6/39eniMq1zpRPSYF7vdJ/0Rr11ejOqHQVCvxhY4e9NDqN1CU5WrNnDun1/2oYnzTbOZGUNsGXO4+S4Rvd2YvAUbxOS8VueOmdjP/6qBjvS16bgKZMSQvI7JBS9jUs6otRP0MxJ7b6ZX+vK+poHbpI5DdbwKNHXNLghusKv9NIAbpCa6cDLzdL1D25FwLBTEcdfd1F08Dur9D6R/Q9vPxOrX3JWuMGJfOYFprGVikauWeNVsTRlZCC1ZSRbn80JYpC6TdbTXSj0Bgwr6PCa/szjnnIxeTgwTfuW+1269RD12IgNMw5xo2l/m7hRH7Fsl9PxEK+cv5porRw8uNkrTwkx11yXurxl/8hK0U84TuhKGTLRs0//NQZRsM846X/RqFKJ0jQQ+XfBYk5XlksgngLZhpcKqvFYx+PZr3YZun8zz0J60hIF+T41FCVMZqMHhptAu/OWr9zY0baprK/2qMerfsOSp5DLl1ydWfYS13pvLQ3Fn6MFxiu6JKsdww0iw0sPtwXs+ywvfbwnjsvSq2LYBc9xmmB1VsESttUcaOcqYbKHQD+Q8ZTPeDFxeB+q1Z6UH0LyHrca+nlyKPn70W/sktQy3z59EBqmDuSCEbGas6vW8MZcZwBqsTVZnqwttG/GbHyzISo/nuIF4tUrxDOvZepIPOBr8TngkxvLDswf3QBWdunTyl3x7YaMrJ5Id24B6UEb1/yXW9j8HiWzCdjsYoqA0mTN3v2/9i1oNsR2/Gl7ofascKc2bs56cIzdg3hQyUBOEV6VsHkdRcDnV+AN4UeygJYa1+lKiV4tekOA1200RUWDevcFSXFxdcrHoWESja43/kbgQJKh+n8IlIJwwDkOMDpCJz487Eyb6adopdcIMVDLOwLVYtPvbVRT8OB0gU3pXvCngnFv3sYJJujBCPdmXQa5CitEPTtLTw6wfYtS6NLJcY0Ggj2PGUDqoEKyLHxXuHZpxQdeiTuL0IYPvHSb1+eb0BER0H9ZdmZ3PgZpbZzJQK8PIr2RhACko9Xs+5NsUQt/58A5EnnKs/4pH2euX4SR4oH2fuD0tyb6Fdshc+MTi+bofUCXfieksOpWDMZTpEy2wHUq2Gb+eqV2MdyWSN4EPYUN4jrqYBJE2+M4lfKSDIZ437KwRV6Rzx6LF/IBs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /8HAvJvp/NW2McVyY70JwEl/N+m8cF+rTe69yOZEhM1SlWHUb9cluLkxBUfmB21it/3wqhx37agw+4hwriZz2HF1oYCVcooR3U3ps639Y7zJ9AE7vNudD3QCVzXVnnPOqGi2ND7aTA6NGMk1iwszj6QTNQc1HoGpVsY313cb+olfNiyQdgIuds7vGW/ze+RV45Gvz372hRju6Ig43K54DpCFpLfgVAumGQ4++ngY1NIF8K35SZ2FpHa6zryhZUSmQOxLYo9Df9GsQwUxyFZQNsg/OfbhYdZ9fesRcMiwaGkkUnp0VyKAl6LXC5F1v7MKWelHasJli2pWYKbWekhWC5Rq9aVHwAYddF0mOCACV6epbum4v1eiaUmYGPJmdTje2Z54eEw0S8gddXX1Cej3mW74vQTsDaqnUxDjwmkbDJj0HbdMLOQfOFgrzM8gR8i9k3J/Oqxp8tLmKIAEU/T0OxYYjjxSI4nte9g91Pqn86odehAcD0Nm/wzzRupg51y5AFf1SkzwrqejWhDQh1X9PcL74lFJmoRjxfSwJUpE26zf4T5neyWy+/K5bRjaUjk9iDfFZ7G7Z0LKkAYMF+SO7hRlZr8wsFJLcA2ChkhvBEWY+oDzp457tEL1tR+Pb+1UAmYV5r8StbjG+nNFzVOlRCkwZerak92h+6IXmjNSWm0Y9gB6fXTj+HZGq8P1Mo7U6RS+qYuMhy/d81f4IO+8l3RJ/f11DPYoHkgIKbStZL3ykcNtPNVlOEIi9hBZcsqdW/b+SGtZ7872tzDw5PTe00BRA7Ydmn0yhUqalfa8HoceV+Je3SlDWzqxlRtIttmyjW1YMjdvCbkWo2i5C+VaqzAjfTtBXRVuED+jRNOCFHRUNLp7JLp8aNxhUyJyQ3tg3XuJYJzIEVEWzoCcWne+QKy/DuT3Bo/SrjM1IVSIdz6rwJJ7fdYsXfkLe2ZsuMVft04ZohPjMJXR91t2MS1EpnHgnUXnpKaG/35H21QceYnTnFEeyMToPFRuesJ+Gg6sXXLM7or4i6Hwtqxrz28P5X7X3tfaEyWLkA545ZCBBDs5tVWgv714dYRr7S8pJkrVLhhCZSF2uVli69GBOkn7/Zth4mS+oi213QKGqK01vT2kSqICNhS+LwBqpVa3tT7VNwPfQfwrr0ORHpYhufT3aIjtx8Z8CcaQmI6A3ugTb0NTLzvKpryl+Q4fE3ZlJpTRtDp0tCBk7eGyrYtX+17E8g9dOAfOAOphfH0xc+nbeGt2S735YM5Vv3/ge5eqeZ7lMB24XEG/wJf8ThT6ra29gV8ZP4yjVtmVquzrsePD98q9cNdLDIaCDU+MJigQxgkcOs7rJLCEd6h9comK4jSigam5jXKYwmWBbdc0+a3cE8MKE8V953T0qo2P+8MovPeVXTnXQVzjjD6eI3gO1dnfddK91DIcVxECSRrIBKjG6qmpae/iELj50SlDIw4ALspCKt8Bop8NQkEIZPjcq7bunNnfh8DIhwsfVyXyspkHnV1uKRAa8otRu3h6fen8nP0490ExrftMNKXeR6yP3AR7qYeNCdbQUJz2fCUH6J9NHhTUcR0+9CraXCleGBCstR163O7sTzHItgNpd1MmFJBQ+A== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 285a75be-2ae7-4aad-2b63-08dc84a28404 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:51.5090 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YUeAn+gjTXlatedjf+iV1SVqx/8mGH0lpy2R/8ceYO+7RZTAhgV6iwqkIDqade8Gpn+6R92DJjMHWCVR9a+qfQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Use common zynqmp_pm_get_chipid() function to get the chip revision Signed-off-by: Lukas Funke Reviewed-by: Michal Simek --- (no changes since v1) drivers/soc/soc_xilinx_versal_net.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/soc/soc_xilinx_versal_net.c b/drivers/soc/soc_xilinx_versal_net.c index 146d068bb4a..76467a3bbb5 100644 --- a/drivers/soc/soc_xilinx_versal_net.c +++ b/drivers/soc/soc_xilinx_versal_net.c @@ -47,23 +47,22 @@ static const struct soc_ops soc_xilinx_versal_net_ops = { static int soc_xilinx_versal_net_probe(struct udevice *dev) { struct soc_xilinx_versal_net_priv *priv = dev_get_priv(dev); - u32 ret_payload[PAYLOAD_ARG_CNT]; + u32 idcode, version; int ret; priv->family = versal_family; - if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) { - ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + if (CONFIG_IS_ENABLED(ZYNQMP_FIRMWARE)) { + ret = zynqmp_pm_get_chipid(&idcode, &version); if (ret) return ret; } else { - ret_payload[2] = readl(PMC_TAP_VERSION); - if (!ret_payload[2]) + version = readl(PMC_TAP_VERSION); + if (!version) return -EINVAL; } - priv->revision = FIELD_GET(PS_VERSION_MASK, ret_payload[2]); + priv->revision = FIELD_GET(PS_VERSION_MASK, version); return 0; } From patchwork Tue Jun 4 14:27:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943427 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=XdVDwWN4; dkim-atps=neutral Authentication-Results: legolas.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=patchwork.ozlabs.org) 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 ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttJ118PYz20Tb for ; Wed, 5 Jun 2024 00:28:49 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 576318852E; Tue, 4 Jun 2024 16:27:58 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="XdVDwWN4"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id EA99388528; Tue, 4 Jun 2024 16:27:57 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on20717.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::717]) (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 A7F31884C6 for ; Tue, 4 Jun 2024 16:27:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=D4OZlU4EFeWoStJ8PXq80Po9PrhHM2ZIzM+BN1uu7/22Bewde78Dqf+PIEGLG2RWaXAA9ggI7gDNXL13yzDBJ42kUQ5h0wz04pL6d4XbTVsowD9kH6ur7nxr7x0wOHlPRRJTjGMt2apFyVqJ6/tkdeNPZHCXxFtyM8V+V/2jKJOXpK7s/dsi8DLzgiSCEDCQQxUXFAfeT59kW/hRxFk1AIPBUSfBVtyvc+5Mv/biloGqvygDQcGAXxmven9rjormthvj+ewhXuuj4sWu7dKnN2Kj8CZkN8ca7J8jLq0xYbcVNa+Z2svFMVb0/i4TheFAu8dCJ9warFb3ibYA7fw2Yg== 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=JroC1DJuHAet2N3R4z/PIqJwiWgrAPsiTjnvRiOO6GY=; b=Pao2w9g1DuouLqEJHKO3jmE5xFrN9dAkmuxdmPaHoTPB3LLx0OoUBFWmn5UCbFIFrjVPXxcqhcZko0rD/cIro/Em4Q/TALpIAzhHm2fbWG/yVA25keyAsUkNX1+jJZ2rbMKLbbQz6hxv9fL/Ebn9/6GVMZCWDpZTICv2tDcJ04bYtXNKu2HFbMESPqV5qtw4JPtm6Po/HPnVok3t7uJySVoQp7cYUZDLa/A5evztIUyaJFlyc9XDp3CkHQWrjXoofS0+V6oWwBag+DipnqwRo/eYV9bUFCkUdVtBUpyaf9/+KW9d+3pDymTXRgso/Z3IwTQAMMNdtVYGVytU6JaPAw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JroC1DJuHAet2N3R4z/PIqJwiWgrAPsiTjnvRiOO6GY=; b=XdVDwWN4aYF/toES67Vo3PkdU6l/elkqDpmKUcyEpkU7LyT/SbOQ8kNLNNia5nAfouL3b2BM4x+zZDvQ/BUI5eIL/mm6ROTT5VPrTNRZgsoJCEhQX8Eryj3C7wnCQOcuuAJR8yRWQhOG/YV2pGl+Dowsx90LIFS1DMNTtAp/XF0= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:52 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:52 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Bryan Brattlof , Tom Rini , Venkatesh Yadav Abbarapu Subject: [PATCH v3 5/7] soc: xilinx: zynqmp: Use zynqmp_pm_get_chipid() to get chip revision Date: Tue, 4 Jun 2024 16:27:39 +0200 Message-Id: <20240604142741.425307-6-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: 77c869b9-396b-4c60-d679-08dc84a28461 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: nXeFrAYlKMVEpsNGWefXRGgG/K+4e06oJ9oQAt/P6aQFfuxLjbKx/vGGvh6OSgEnOXGGjPt1Cnlu1VMQ+h51iuchTIDKsgZCnvhpsT005I3hdR5FrqQzxxLk1FJUWtsK21Mh38ReUNhH0/rbI6bvX0nt8uiWudApYcJGzrfW+NwF372qupm9FXScrI/F37FEthJ+lbZz33Ui+Riu2XTeFC3usgCLC3w1uM9g7A1eQ40nArZZDzo6j8dCOA0YhMRRs8RfXAQ5PdJFi27HV/KFgVXKWqizZd3PwibLwRSnXEkZbUOIUZz8II5xrVQz0EvOOf8ZbN0c9BTkH5SN5V/RH9k7sahI50m/H3wl/mfJaVXldEbitdm6oRem/2UNWXeZjqkrV89nXO8/osdxzZM9vvCwKug8ZXLHxGxQMOucJHlmOwEd5WXS9HbqUIixNjy1gSigHGxmPOk2hmdHzLNnrrXNleYPUOKzTNVIKJTXtrQDmJABISzIUfbJujt58Crg0D9p03dSfDnXnD6x3j9WIIEr0K/b7RPul/vA/1MW1/YiBducGH20CvXkKcebgeIUtMJZo+IDTHA2Aghwb+v1xp5d+40tzvzW3ksxQAkGjBxjkD8QEZIHkRJq1oTN1z2cacbhbcU0BFMIdWng68vlWedNKpRc72qnS16ZUv7iB8mHoGOBrcYZdttIxoCDhY808shZ/isyS+vdcQpZkU0rbIemfSYuMMUqUGqtNvSoE9eWg3K8RP/j2QcBaYQeIDChN/NLkoYSdORNvl6DByK6tX+pOueRJe2aOYXWx82HWt3hfQOW3IU+EtS6h+uPLD6pkKJ6upySLRFU7Ay/SsJsMkp6wJFw5ul5IR+lOiMomVJ6UFnzAXXWvX3/WhUPei208kPCzw4Ikc+7gJHsIh0BcQu8YkQjGWgd50FPHPD5OKE/293R1Hg+cMA/Y5sEhaEHo2X3B+3nLeX+tMJw3W3D8imWpt8dkksdhRYBMqnxJEeBwiRyziFmv07ZoYMeOatOIULN/HJ9JPvTxOkW+J5P4g/LZiN3eC2wrq2eMeCNgjvaiODgiW91ACB7XNh5ReUs+f2jzR5R3GVcGl91QesshLi4gztasuY78kZUldHX5oTwzxza11uh/GNPAsis2Ly2HXgbA2/N+d6myqnVzanqegb/bauPPg4Hf8EGql0I4O+X85EViG0QIB+toYemvofI1OQm/tdAM6PSogBd18JNdvocdoOW6nOQjzMDeKTwaE1UxlDcWkfbGXYw2LjjuL7BOSzIm9o6GlJ5D5i19Fw4Xo7JvozrYawzwX0HcvQL7YTmAqWF7yrSbgZqWJhC+YGfrAD2YzcJ4PfFocAqPqL/W/rxCKAHANnTboFHr2f5NeM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: AmMYLHZVaglSaoB5yXXNoOGiUnsJ1aBpKnONkF7cUy4RdoIjcdB5D1oKtpqwWiOXaHdg0y2I4bTz86sDRv97rPxZgG4RF8pSOW1dJjlN9H5bAf5wp6ekfMwro8Y69S9Noi9hEW4bScKS9aXwqGwKg5cckxIcTen7rxqcywrlxPj8EFgetuznPodwQIzXW2lN9C4m/yOIwsseO2vnNxLLpL9E9XEXAwJgMaRdjSzxGMExwmpurgVjhtYkbyAi8dxlyvWSAzufK6bP4agB4dHLQLNeTKnqql1bI4qF7DCi3GSdzOrgMHVsQSogFcX+66w5TTL45Cp/n2RpKV8Ue1c5WH5q6R84AZLaj6bya2D/ESLM9XO1Y98PIgCRWxRgmcxOgjenPkzbuSNIR//5nSBc7fo4Bibbz4LsJW2uoPdpSKQAybaamcWqEITPGhAoahh+K54CVipnVd/B+ncBtL3djrJnW7ZyusKbK+/9C3R+NKLg0vWaRv4ahQUoBl+oC5wOykkV+lY1eGXkFtLRlJdjxnxq9Az2OiIlezg49peqFQVmF7CReXrlpaJ7cKeptE/lAQiaFPy5J4bbHWl3Dl70ENoVPVd74QmAZyyChnJU89jJ65IP7V+MoZtRUBDGn5kpgsia4PNRCV7J0YVTgNqnxq1fvQo2jKta5IZw6e+E7KLEkfbiQzIzCPh7PI13kNv0zsEi6C1TlnWx4RIXVxUNuGX7dcrgWSCb0pEvpPoXvi2T//7DAjA7ccXDTgW094WLpJAQLOuUdRqkG3eW33BWhivjNEY4iji/MwVMQ7p342GQZlmZJ282XwwMUk5SSApmDPZkPAhJGwxqSbFlqaQIZ1R+R52RZrdwrPO7Kf9ssBHdoOa45E71MJKSjfsR+wLv0w7gDj59Hfj9WHoNXzMFHlFB9wXz9gPYfrwEmR8V0K1A1NuReoEp6VidDHxQ8T/m+OLXi5XPdU1qgRhdDlK5VR3gOsyZ47f/2fCyJne4S6jk396dTzYuXbMWh1Ck3a4SVy1ngnPaBfuVyzu9BUP/hNh3Bt620aaHqu1ZLa50v3wbZBxRjRDOH6pMaXEO1+sL1g5qZi1GjXnYVd/pO+B5y5fFZ9k5J+GUQ3OA7tHPc1wdRBisBSmQcRYQ+fY8qw0bv3s+cZfDNgRl0ZEroqAJIS+QKomp8F+sujcTgI9swvIC8Hu2+EyIgdkw/TJyi1/PkBzYdfLrPd9ioQe6ObhWaURTrHvbMx8lvW7AmboYkU2LI6gYeigJvsBJQsR09qNMgA/52LKFEA0kxMQ4nz91wFErAd2+TUx8ZW5rfyRZZtM/SEWC7b7GEAz65TQ0ISe3P0O4tQT1VcmCrdRIC1ljTg7UURD6tzDqUHZhizaHKATJPOjqu0Isq7R+V1uM3Cm399tN9Gomq4px8mhgKeXjySssHbfsFP+XLCpVaPb5ODty5vcxYDV8oADHigi5DiJboGL+oMTNOUJ9rUXX6vXNcNPVjVjNHlqV4OkOqeytUq/qhP8kzM8UN5zKngOq8S0d9ZiuQwYM8q0Ng1Vo7GHuNeGBqKvb6ORuoMT+TgbXasK+Itkt/uMNrgGBZ/Ta4AO9ZU9jHUwkeXh6JO2lp3GxFw== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 77c869b9-396b-4c60-d679-08dc84a28461 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:52.1066 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +g/r3Qz5bxXMJog7ncmzdD7NRDY8CuVR8sD73yUDFbuRpdc7h/E7MChgapo2TEl9kwylebnXooWg4hthBDHWyA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Use common zynqmp_pm_get_chipid() function to get the chip revision Signed-off-by: Lukas Funke Reviewed-by: Michal Simek --- (no changes since v1) drivers/soc/soc_xilinx_zynqmp.c | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/drivers/soc/soc_xilinx_zynqmp.c b/drivers/soc/soc_xilinx_zynqmp.c index d8b4f172a39..8a65810b7d7 100644 --- a/drivers/soc/soc_xilinx_zynqmp.c +++ b/drivers/soc/soc_xilinx_zynqmp.c @@ -346,22 +346,21 @@ static const struct soc_ops soc_xilinx_zynqmp_ops = { static int soc_xilinx_zynqmp_probe(struct udevice *dev) { struct soc_xilinx_zynqmp_priv *priv = dev_get_priv(dev); - u32 ret_payload[PAYLOAD_ARG_CNT]; + u32 idcode, version; int ret; priv->family = zynqmp_family; - if (!IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) - ret = zynqmp_mmio_read(ZYNQMP_PS_VERSION, &ret_payload[2]); + if (!CONFIG_IS_ENABLED(ZYNQMP_FIRMWARE)) + ret = zynqmp_mmio_read(ZYNQMP_PS_VERSION, &version); else - ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, - ret_payload); + ret = zynqmp_pm_get_chipid(&idcode, &version); if (ret < 0) return ret; - priv->revision = ret_payload[2] & ZYNQMP_PS_VER_MASK; + priv->revision = version & ZYNQMP_PS_VER_MASK; - if (IS_ENABLED(CONFIG_ZYNQMP_FIRMWARE)) { + if (CONFIG_IS_ENABLED(ZYNQMP_FIRMWARE)) { /* * Firmware returns: * payload[0][31:0] = status of the operation @@ -370,11 +369,9 @@ static int soc_xilinx_zynqmp_probe(struct udevice *dev) * payload[2][28:20] = EXTENDED_IDCODE * payload[2][29] = PL_INIT */ - u32 idcode = ret_payload[1]; - u32 idcode2 = ret_payload[2] >> - ZYNQMP_CSU_VERSION_EMPTY_SHIFT; - dev_dbg(dev, "IDCODE: 0x%0x, IDCODE2: 0x%0x\n", idcode, - idcode2); + u32 idcode2 = version >> ZYNQMP_CSU_VERSION_EMPTY_SHIFT; + + dev_dbg(dev, "IDCODE: 0x%0x, IDCODE2: 0x%0x\n", idcode, idcode2); ret = soc_xilinx_zynqmp_detect_machine(dev, idcode, idcode2); if (ret) From patchwork Tue Jun 4 14:27:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943428 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=QZt6pdWU; dkim-atps=neutral Authentication-Results: legolas.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=patchwork.ozlabs.org) 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 ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttJC4hYJz20Tb for ; Wed, 5 Jun 2024 00:28:59 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id B712488414; Tue, 4 Jun 2024 16:28:00 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="QZt6pdWU"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id E6C6388418; Tue, 4 Jun 2024 16:27:58 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on20717.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::717]) (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 D189F8850B for ; Tue, 4 Jun 2024 16:27:55 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J0Uld4eiTKmPyVHhsUHb/3KtArk93BrCYwR4vtEi485g7LirWDkb1BEPzFzy/9KLBfwUx7g9yIF/xB5BMNPoWEo+kghrShvrtId3tXRKCY7KSrJ+DENS8eR0B6DQnugvTAR0M2ZlLe/UZO3pTUIafXPE9cWCYTAsmS4rZKBo6jyGIDp22zy8xqTNcVuNT1kjPL1HtJNK1aQ0dIMfSrBnkTQRod3UvAUDzj7o7GoCvV0er7a8AT5FOUyOcb/UOCZvNb9tAKaGlLgBw35IxaGksHhV7Y7joZBHdObnb+6ntFWCbl2enMVqDIP2nmoIG4JysS8thQfx1JfLEvQzUoEPkQ== 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=WPQHx31A2FGPQAXcdH9FGT4ImsHmQ1XkaGVoUYlFiXw=; b=D3P81QUeuFdGwPsf24CFLK99bZqVwlBsBP7iNvCI3s32IqthlcSXDIYhfQNP62vopy+NwenrZGUm8jzm4XXIue41bsaPNsTtl+EO4JWCcv8lZW3qhwXgcPDNmxpWA0F6Rm/df2ruCoLBbdLUUNI2bez/Algo2aPWCLvD6S1pZu0CbuNRnSsc+hCPO72new58wkhTm55kBVm+GKXKCt8CAWi5AsRGSu8ikyuUn4hJiZwT9uNc1oBUpPPlCdaoA1FHWfBI5lnmuXcIvsubaDGHkO/w4jpIEeGzzPcqARdGcfftDm76E9l9OdcBbBShavTA2bLElwB+ySZVhV76dQfqng== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WPQHx31A2FGPQAXcdH9FGT4ImsHmQ1XkaGVoUYlFiXw=; b=QZt6pdWUPMcENN9zahLzugnBZmf2g1MpHEbE5E6eT3WUfWaZ+y8/MsQSgKBoNE54D6PkLlxI7w+ZBDC1EzV3eHN5mGYUKdIhrtt1YU6n708KekklXze2Fo+UzTeXmPei4imEiNZrUb37SR4x+/M2Bc9Cs+OX5BM5MZG/UOQjLYs= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:54 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:54 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Algapally Santosh Sagar , Ashok Reddy Soma , Ilias Apalodimas , Neil Armstrong , Stefan Herbrechtsmeier , Tanmay Shah , Tom Rini , Venkatesh Yadav Abbarapu Subject: [PATCH v3 6/7] firmware: zynqmp: Add support to access efuses Date: Tue, 4 Jun 2024 16:27:40 +0200 Message-Id: <20240604142741.425307-7-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: 36b93b01-7d33-4b6d-b891-08dc84a284d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|7416005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: ONXMlKFC/Pg+BBqpzevXE1Tao1FSvXmXDBqM1AabH/o8mt+i9967i0RP5UneG8vh9/vccCbR7bvkY68iDVbHGfV5MzuztcKY0Df4tQPjnrRhR2aOlUW3ZrBmDlKuTHjo1wtR3J2qsKm4XAtRTUGK3VwG8InFoNJRug0kvijTkHRRYRblPUAHRAr3DnLvVJQBMK857DFfDtlJ3CQ7uVlYjGOb8Ky8S/9qJ4SAjybUi5opo8KP9kpdjA6ESBqeNDyq5OfjiTuq613fN9mJsjPWdeSSLnqPtglZK978Ol8GSJi13UOQg7vzg7Prv6dCtFPKppoLEQwVIru2AYcU6qXio9sbOzWm6KiefuWcoaXh5mOqwtPJYYkN9ELLRDXUzast0InfAmH0bc1X52xYJD5DS7EXDB4v0Cy9nNlMlDBoYBoqPZ7XmvrNgBRa7zIQZ7Yq/qxmhUMXLHM8aOZ0eq921JgGLwOS65eBPwT3yNtOJVnb61bv3hmdDM5NfsFYhUwntmgeBMvvAWQAOaPhz+8ZNBj7W+IZs3xwd5xwJ65BUE/Bs8BOLdCX53vCQjpG3QbL+jIpaDSml9yV+N0cVwIscmjjRGVx5x7HXNbHOJWFHCOK4rVPUsTpWj3bTS4738C0Uh0bgeyiecpRkN9u4uraeqgYzUUzMBQD6WnMirNk58BJuFUZWwGDs/M/tJLsA965QOMVPlGhg0EnPFmQuE5ZO+MwcP7/TSHYvGyBw8g4XebmODOXZWjHRq7crdcnhTruMY85kwDm5DMSLREF8eKR10hBRG19xODN6b1IpCHc8CFka4ZFDXZE4+ZwQkWT0ObqWnTaYdt2dy2HgrFdBWOy8bnnDKd46HmDbwyWS7pQHR16mIzAIRCklvsV3OC7DsGschI0iedAKwkbqZuUIbr41d5Zl/Xq0FAHc8aVr3Amh5K4wCW4GW398V2R+rM/H4+IwoplIsjWV2IbIFonINFUuLIxch7MNvC1MMXHxglYFLoXmn8FUli1VkH2uSYzR+BBJuCZ7QjTurdWDRofVZpnx9eChLHuSE0RenZbT3KL3+u+7XQR35AAfRSqmG5Sy2MIFdmXQgd30ojQsWjy1S2wCtj4D/GQocFsANv/o5Y2plc9D6fEGEo/JkGgiPsb/5NoqGmzhKGFeeWWKVnKjyqaic3dPLAuTOBqU+sAtwniPQlS3H67hmTuZYsy/kjoSqWeZcyOHk1+PSRIGkmeRcwjghadS9rhLTrTbUSq3SwvmwUFr4eG9/huUH3XoNfhmYhC82rivbYmPB2rzttuNBB0RJ9JJiXSjcK1EpFQWCrNNcEItienOjbe9onzW0F5++70h9k/PKvx8A34EwQRmYddikWDc1KTXyXyEXbBwMOOJ5Y= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(7416005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nc0hnXuK85aGH5d8SlCL60M4WYjXZTvpl2JE9eOUr3Pdrhlj2Nr3SotEhM89jlny8FU/h3O/25kKK35ZDfWFgmj0ksB5vm63VKrxbFu9Ol+CmD1mpvpu+DMyBylFiyIRWFfI4IdFc9eV19M6ssRcUcrSLFkclO0GFtufBjPAoCk8Joj5NWLvsQIw9Dt8e3XTN1lg5TQvONEd/l5F3Joi8kHn4iJrcam7lAcdRn4mGrlCSet/6y/18c7YGvI4UJkGeUBEnJR7ya2QX1mQ4b3FDTluCkTmbnuSyes2rqprKz/UgsHVQAjHnbtpIJ9mmsXx98Wm4jSy4fXdSCNEuv4N1xVrknNSMP/n5RSUIyERhFEjubRHMRMsm3/Wi2UgO12Y2cdZjlI9FEKGBxVumpOSSj1PPqCOl90o/wLDLxlkMJBzZsBcPpviAgksPoTW8glRIq8dVgujCl2GlN+TCn4MN4kPmgvl92tdV+zJB5t6hGaw43wqR0ZpkXIOrAVgiKL/jHcgPbzHoOhc7t3288Q0phfBRkWYIIVBI641jnLT1bkft2UbZHj3mc2xbzIFRyiKMNFHUzdVH7bMzE572PmSK7OXmmxB6csgG3Bjt4xYQ/8t7z230EBbrqmM2GUxTe1BgPP4bQo8sy6rxD9xD2TozP2j0+5shTw7dHWNQpOwmFwopgat7Rdrncc+w0oGgNGlHY6mJqLrvQzJ2LVcjxnr0KL5KMVYO6B3iEJq83PYQx7Ch2CDUh2WzcI9/Bf+oSgIw/NIg1X7X4jRF4dvvYDXToZl57mIcuJBwhGkEVeSr19xeKvj1EscOGRGn4nXeJqTLFLRREdGswZZ0s2Mq8w5DinzODOgBUTVq7GduloL3qAVQednEvLwpmSLLOAVCYZl1540WWkWmfL6HYVI9+ACDCUyCVNqE8P3hSfu2AexbjXvOM+l0Gsl8K5LDbmuGmNh+hYOPhEQSwMWvFnkimP0Fx0rE3O/xXOfjdxu8d52fi7rzUJjnWRYKftYTUvV6RPQaaEX+pZnKKCG0wwEhAzYsIqzRm8T6Ca1eQNVGofr9pECBTsceAS6jmt2mKZXpp6UHzJH+gfgeOPfrjGvHsnfWiS1pgvrdHIONyzac2KRL08vP8Ok7WSHezd/Svasl2pCYFixiv10whsez01oThu7FuA05iumo1AFBwwP1l6YEsGgVgPDhb5ezpF5Z2+1dQJKu92eTcJYZcQ2JXKm/DR/t55eLcYxq/x7jI8sBM7kgokcj7sd5o2GA7WOA0qf/T/4ho2n+MMPMu0hSm0cmOvOMRJrfCEhwx/GsBEvdTVwXJ2Wf8dzbEjImTRJ1veDmsoHw3grQqP4f/WhGOGOOwJMhnnsbhhaFic/C9TlOScxOjy/DD1Po5XYFCDN1qQlZq/NNaCXo8XNlElkp23OmSZWUz/o4gUyVNiF/Vj8SMzD+A/jftyGwUZ11AslOtgevnfEHc+CjzPxb/D07RmYJKxHzJyRi1cuBVg4+McIgvUYO3jUuPb6YYY9ALjiDqQZUUp9mf3fp3Seax4BV7+WvkX+lOFFuF/orbHqo0eGHX+7/8G5EWFqUGWJw7AfYSyc7gJH65FquFCFy2BJS/t2U1JB/A== X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: 36b93b01-7d33-4b6d-b891-08dc84a284d2 X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:52.8760 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DkuBsRyepkoNBYSZFHCHRDI+jYC8hc7w9R157mpxqDDl53vG3aqDn3QcuiFQLvwraQOOoXxGd+WEPx1KhjZqWA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Add functions to access efuses through PMU firmware interface. Signed-off-by: Lukas Funke Reviewed-by: Michal Simek --- (no changes since v1) drivers/firmware/firmware-zynqmp.c | 31 ++++++++++++++++++++++++++++++ include/zynqmp_firmware.h | 2 ++ 2 files changed, 33 insertions(+) diff --git a/drivers/firmware/firmware-zynqmp.c b/drivers/firmware/firmware-zynqmp.c index dfad798a2e7..8e9687693dd 100644 --- a/drivers/firmware/firmware-zynqmp.c +++ b/drivers/firmware/firmware-zynqmp.c @@ -211,6 +211,37 @@ int zynqmp_pm_feature(const u32 api_id) return ret_payload[1] & FIRMWARE_VERSION_MASK; } +int zynqmp_pm_get_chipid(u32 *idcode, u32 *version) +{ + u32 ret_payload[PAYLOAD_ARG_CNT]; + int ret; + + if (!idcode || !version) + return -EINVAL; + + ret = xilinx_pm_request(PM_GET_CHIPID, 0, 0, 0, 0, ret_payload); + *idcode = ret_payload[1]; + *version = ret_payload[2]; + + return ret; +} + +int zynqmp_pm_efuse_access(const u64 address, u32 *out) +{ + u32 ret_payload[PAYLOAD_ARG_CNT]; + int ret; + + if (!out) + return -EINVAL; + + ret = xilinx_pm_request(PM_EFUSE_ACCESS, upper_32_bits(address), + lower_32_bits(address), 0, 0, ret_payload); + + *out = ret_payload[1]; + + return ret; +} + int zynqmp_pm_is_function_supported(const u32 api_id, const u32 id) { int ret; diff --git a/include/zynqmp_firmware.h b/include/zynqmp_firmware.h index 73198a6a6ea..7f18b4d59bf 100644 --- a/include/zynqmp_firmware.h +++ b/include/zynqmp_firmware.h @@ -453,6 +453,8 @@ int xilinx_pm_request(u32 api_id, u32 arg0, u32 arg1, u32 arg2, int zynqmp_pm_set_sd_config(u32 node, enum pm_sd_config_type config, u32 value); int zynqmp_pm_set_gem_config(u32 node, enum pm_gem_config_type config, u32 value); +int zynqmp_pm_get_chipid(u32 *idcode, u32 *version); +int zynqmp_pm_efuse_access(const u64 address, u32 *out); int zynqmp_pm_is_function_supported(const u32 api_id, const u32 id); int zynqmp_mmio_read(const u32 address, u32 *value); int zynqmp_mmio_write(const u32 address, const u32 mask, const u32 value); From patchwork Tue Jun 4 14:27:41 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lukas Funke X-Patchwork-Id: 1943429 X-Patchwork-Delegate: monstr@monstr.eu Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.a=rsa-sha256 header.s=selector1-weidmueller-onmicrosoft-com header.b=jVlWTW9F; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=lists.denx.de (client-ip=2a01:238:438b:c500:173d:9f52:ddab:ee01; helo=phobos.denx.de; envelope-from=u-boot-bounces@lists.denx.de; receiver=patchwork.ozlabs.org) Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VttJR1WqCz20Tb for ; Wed, 5 Jun 2024 00:29:11 +1000 (AEST) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 30E87884A7; Tue, 4 Jun 2024 16:28:01 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.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=weidmueller.onmicrosoft.com header.i=@weidmueller.onmicrosoft.com header.b="jVlWTW9F"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id BD124883F5; Tue, 4 Jun 2024 16:27:59 +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=-0.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,FORGED_SPF_HELO,SPF_HELO_PASS,T_SCC_BODY_TEXT_LINE, T_SPF_PERMERROR autolearn=no autolearn_force=no version=3.4.2 Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04on20717.outbound.protection.outlook.com [IPv6:2a01:111:f403:260f::717]) (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 139CD884DD for ; Tue, 4 Jun 2024 16:27:56 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=weidmueller.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=Lukas.Funke-oss@weidmueller.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SlFkmXBFBEjtlCWFfSsY0qMqdCoqgppdD4a3x7LXHLOTZaqT4p0kPk53tkDuu5twe7/Dvs6y77DIxuOzRMrLXPehaThEO1ER9uu0ca+4lnKACQBAsO48euqUZopC6rh8yC5v+1wobNMqfEkqolDXTunIOvc+7tmOfLoOOk1UgazFhV+bd6GS2N53hdYwYWcdQJtSmnSL/hY02wrDfS9kTrQptswcRGTWP6oJnCm4Nxkdp0BeDu/BXqwYNVrJz+o0604neLeb/eqy5f40PbBKE7yjJ3NmIbM6qK8bTIEbNuIHQUoMONorIjrE3Kx0saOg+Lj8VKtJ4VPKeWbI7H8bYQ== 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=asc2GV8/JO329NTTlqPD+VwENZNepsnEf03tfbJt/Pg=; b=iQ1sZhpom5pQ+aVgunNrViAECMZkZQq5lOXkgc9Pk6qQoKrcMdN5YwpPMCDPQ/lUjDhnTlS29bx20DDmrVIYT8OlUOmuA/MbZYvYNt1m3cbe90evqhD2EyKmDQaoamSgq12txYpd1SXrN9l5JK9EH+RTDuwhE9l6c8OieiacauE5/Mk/hxBobpP/7n7mZGA2OJpRwROVtOWKXzv/EaaqsnIgkt7PW7mZEjse4Sjl3Zwec3pGfX0Hr7O/pX7hJBFfcnJkQc/OisQSZg0sdXH5JUdryQrlUJ7/dKEQozxY/32jlVGlBsBjC6WGMuNh7KYTCSCmhlGmXJOg6oJIMXzFEQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=weidmueller.com; dmarc=pass action=none header.from=weidmueller.com; dkim=pass header.d=weidmueller.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=weidmueller.onmicrosoft.com; s=selector1-weidmueller-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=asc2GV8/JO329NTTlqPD+VwENZNepsnEf03tfbJt/Pg=; b=jVlWTW9FquGrc5lo3A/NRhgDX1OuGTXwHP9Gz5T7b73XSnbjtQPbhFzIUPrEeWKy64Zy8iKf9mNrbFEkgngG1YN02SGuI1IlT+Aku9mHV7MKZxaholHrvxA9qfystmatEdHpYCUP8eWNgl+PxxeU8x9DC4ezSm+WGh3dkUtPIOg= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=weidmueller.com; Received: from AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) by AM8PR08MB5827.eurprd08.prod.outlook.com (2603:10a6:20b:1da::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7633.24; Tue, 4 Jun 2024 14:27:54 +0000 Received: from AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6]) by AS2PR08MB8431.eurprd08.prod.outlook.com ([fe80::aeb:1738:d59a:cee6%7]) with mapi id 15.20.7633.021; Tue, 4 Jun 2024 14:27:54 +0000 From: lukas.funke-oss@weidmueller.com To: u-boot@lists.denx.de Cc: =?utf-8?q?Marek_Beh=C3=BAn?= , Stefan Roese , Michal Simek , Lukas Funke , Alexander Gendin , Bin Meng , Caleb Connolly , Heinrich Schuchardt , Jonas Karlman , Peng Fan , Simon Glass , Tom Rini , Wan Yee Lau Subject: [PATCH v3 7/7] drivers: misc: Add driver to access ZynqMP efuses Date: Tue, 4 Jun 2024 16:27:41 +0200 Message-Id: <20240604142741.425307-8-lukas.funke-oss@weidmueller.com> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> References: <20240604142741.425307-1-lukas.funke-oss@weidmueller.com> X-ClientProxiedBy: FR4P281CA0308.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::12) To AS2PR08MB8431.eurprd08.prod.outlook.com (2603:10a6:20b:55a::18) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS2PR08MB8431:EE_|AM8PR08MB5827:EE_ X-MS-Office365-Filtering-Correlation-Id: d602ac2e-b03b-4754-dc75-08dc84a2854d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230031|366007|376005|52116005|7416005|1800799015|38350700005; X-Microsoft-Antispam-Message-Info: =?utf-8?q?k4Atms9oH8BPD/YrCWhSqyXPGezJ86c?= =?utf-8?q?TlzlLJFY3rMfL97VthUwgp+qeD3ma4+NLlwlTh9gNN4edScTx+HlDeH77BG0WqWUk?= =?utf-8?q?mz+VD8O5SGf8VBH3kpaRViTtfKPvqGaMR+4sO71hWPXDheJwiCUT5FFSpr08w8Kp2?= =?utf-8?q?sIUVoeo798+AdosxssMEIjrbBKTbYc7Uy8EeONg5gV89JMVeRsPvXLcbxHfWWjMPv?= =?utf-8?q?VKoaM9BjpAqocsEhrwabvBC979mhe9nM7biIh6BWfqZisQBZIm7E6BkxbSGmRp7N3?= =?utf-8?q?gmbNcxnTJUfMtvcOEsCtZ9d98CS36yeS9JdITEq86Ip4+nET1pFS8N6BbwwXCV4qz?= =?utf-8?q?7WIqG6E1Q238XICGMZ7+JZjHzDLsDqBrIVnCYDos17Nn5cKpsnq5rVj9voM8Lz72G?= =?utf-8?q?Qcb3z516188rYQubDVOqXxYvkiks+dTSUzFWUgTrPRixVOM8gSioviRKB9bXdh1lR?= =?utf-8?q?zWWkf768XGy5e0NHX9g+Vgl0pZIzPsVwta2Linl7gP+S0CxKRGSz/O1SwYBowXrWT?= =?utf-8?q?iUi47ABeH2BfqT2gY2A+vTA5iy0UwhY28Yr+z03bsu9pltyfJVKB8o0Lq6VMgxz1F?= =?utf-8?q?nyafW3hk72aJo6FE5zaBfWkboZmJ/59rmHNa4Yd3q6RPW/q31F3ktx/y1G+10C/bf?= =?utf-8?q?nwmWEx4UCZKLOA/MqcPo9+yprtmAEETStW73y1ofyXKbg/4yenLcov6LiIwA5ZXP/?= =?utf-8?q?ymcUUUKDqsFXLrPw87px1QzXfOsylRMNV0GD30rgc+bXK/Pc4581hrqS4UEwwGw+x?= =?utf-8?q?gv1a/btBN5OiCFZtwcQcJYOzpe/iu2MskJpqx9MU6mGvKe96mfzRy7lV8cmuXFfcP?= =?utf-8?q?1CxwQkaoCeaXc3U4+XuC2ZokZpzl+VH0gsLnc8lGu6RHQxXuN5VVX+LS0A+In+DgS?= =?utf-8?q?w/HTokqfl+BUz3CkmQ35uI2NglUSLgUI0qVijpCqvOdoWfrblj4wm/aLzGhj0y5gb?= =?utf-8?q?O8ipkFCow52jpVKA36z//iCFu08Axd7ZltJ5spHOHSI0Cbh6B7SeiqjXQligwu90j?= =?utf-8?q?2+7D1sHrdxK5Yl7mT+hPfY9YS5VLMMV1br9YglMlN94Uo05YyvS1HpWQRMMckwFLz?= =?utf-8?q?F5dKHevN7jIRxBgVX4/WF9zu8N+dTprb45CVzb9yd8hBRDROCes0nhWjbF8xgVxWp?= =?utf-8?q?zkf4LKAuYOlRGxzJ9txfhlQVnmAiOC0sCXW3iW3CxDgOi5qTJrDQCTZ1Cg3z+YXdG?= =?utf-8?q?wBqJcZr6DreyHBBUBejKSR5hLENCaqZ2dlvThvvsQjU2JjB99Woreo8PvSefkVbtS?= =?utf-8?q?IyG9frPxKmKUnJm6ES766KGQE6cJbeENiPN0rpOPNcQrw4/w92I6FWVw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AS2PR08MB8431.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(52116005)(7416005)(1800799015)(38350700005); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?q?Zv1At4SrfN82Btpys7koQu3lrjam?= =?utf-8?q?4CY7cWIBhL3ZXCszjgWutytTKpe8a1eZcUo2wHzH9Hdi8PEnaUNnHS95KXfbzBC/p?= =?utf-8?q?zvyP9LuG32oeWdnm2IEqTa6vkxStLujoAXNFgt4BoBFhwymVWiMvL/FlOgzwUIx20?= =?utf-8?q?BjH0X9nxaQ0kaIhsE9+sYoRxItDi7/a2uwkq+29cTBRBn417lAxUwUC14IUaYZ8wJ?= =?utf-8?q?yBCSoMbkXqZx8MmuDZyKPo8O1O2bQinwWCek4gIn556iFEBg/IbyxcrmifVpEIdzF?= =?utf-8?q?e4lAaJ2qNVyE6gP2Qd4KIW+nTPdRMbXsxM0LjnNWlMiop/uNQyzlcA9PfYWQcSHfK?= =?utf-8?q?u/hxlaHBWGk/txpJs9GeLooVYGEByjbGk1k32mTXdfd6+VlEyvUMadWUmcDIcTzLy?= =?utf-8?q?PgUSswlwZbGVVcB4aSB6+lUrsdW4b1irhMateVggWSLD01xKbbmaIpYc/QCFkNqZu?= =?utf-8?q?AZ+W9wxEuU85Ehf9gJxnGHVCPd8fJhY1oXGMjrGw5alQaD7ngg6c3XLe4RmPFUjKr?= =?utf-8?q?oIpZ5RgwWx/1AnImMK2XHAbe2FP8+HVGy48ax5JyzHYblaELThU/Axd762rfSD+tu?= =?utf-8?q?ZSnKzpsJC0yBwWLZrCVqvupjVsqvWpaq1qrFdyhT7wPgB8Dl7tga2VMBsMnHrW94o?= =?utf-8?q?pJ4cxbljU8s3Oc7U4K8tliIAfGLrYO1GyD+phEDHTNOj4zPmiUF27vUrHz3e8ewln?= =?utf-8?q?uwehu7ma/mlwNrGT3I0u/JUaKnvOEoloQ1nRr50fMDbmlkSIvJBE9T36OMGqdizCX?= =?utf-8?q?w8o8hsG88StatASrVhFZAlIwgRcucJVHH/h5nUESEagYzgUQnBLywNDZEppfa9B1R?= =?utf-8?q?c5PY6louXpaYQvvLOPCuaGf2KgRi/n6/HD6tEIXvReKX/p97yhlPtcj/fYv4JCUAL?= =?utf-8?q?/KsL2iqJLvzfkx0j9zWyDnLUE7bv5bVEBeZ2LOVykFLMg7kyNwTkL64MJSqEaKoIH?= =?utf-8?q?qKA8lvXcQaza2XGMCg+J9uJJEfQ55vDoRr+Bv959d9VDrKzbXprVEWrtJHSlDi6cz?= =?utf-8?q?nV6NZFSirF4sgRu9jJ3XptLrYgYg/fHkUHFzwO4L3fKcw3C9cc9FmllUSC7vuhTxr?= =?utf-8?q?ed7NTwVcplP4VcssIab8h9P7LhqrH2MUU8FdsZPizGvVISsvEbQRXCs5rcwbucvmy?= =?utf-8?q?8wFNiKLt0JzqId0vd7EKocmycHftY6ychO1k06f/SBo6kx9wL/GjiiOq9jbq+wuhE?= =?utf-8?q?ZA/rGGodRoVABAOoPWC9IbjIzqwQ64tPQLIFv3aN0RdYHvCU0fUYQAsp0roReVn5W?= =?utf-8?q?rkdX9NaohoFxYCVH6oa4Cnk0Kzd7khFkKJA/4M25fDqAehu0K5JIAXkDSRfywlvnd?= =?utf-8?q?rjoqEIBLH+POpbtuXSGF1gTep86XehO5/xM6Zd0Gn4QjumMDH3mG7ix/1Vb7RY7KK?= =?utf-8?q?9x/P7KMt0im6abvcxPUCmlMDSGKgQofXeMKSSq+1Eio1/c1gEi+9WaS2uppbNYr5s?= =?utf-8?q?yV5fZvgnjXuFeG9VAZA5xrn1rzLZqRBYkYmSyl6mVSJ+uovGHM/Ht5K4lFO8ZioB1?= =?utf-8?q?0fjEZloFKfnZSlqvMG5ZjwGJqotN45gN6g=3D=3D?= X-OriginatorOrg: weidmueller.com X-MS-Exchange-CrossTenant-Network-Message-Id: d602ac2e-b03b-4754-dc75-08dc84a2854d X-MS-Exchange-CrossTenant-AuthSource: AS2PR08MB8431.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jun 2024 14:27:53.6878 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: e4289438-1c5f-4c95-a51a-ee553b8b18ec X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: crz1+lJ94bF2sfE8uVFV5RMEpKXkouHiH0f82R9sNuoNz3DyGJ50nVWXGKaaf6v/OJV3HXj8no3O5VZAD40UUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB5827 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 From: Lukas Funke Add driver to access ZynqMP efuses. This is a u-boot port of [1]. Note: Accessing eFuses requires eFuse access to be enabled in the underlying PMU firmware. [1] https://lore.kernel.org/all/20240224114516.86365-8-srinivas.kandagatla@linaro.org/ Signed-off-by: Lukas Funke --- Changes in v3: - Align ZynqMP eFuse driver with Linux kernel - Adapt versal, versal-net and zynqmp to use common chip-id function - Enable CMD_FUSE and ZYNQMP_EFUSE for zynqmp_virt and zynqmp_kria defconfig - Use 'dev_err' instead 'log_msg_ret' if possible Changes in v2: - Drop vendor specific fuse cmd, use existing fuse cmd - Minor code refactoring (reverse x-mas tree) drivers/misc/Kconfig | 8 + drivers/misc/Makefile | 1 + drivers/misc/zynqmp_efuse.c | 360 ++++++++++++++++++++++++++++++++++++ 3 files changed, 369 insertions(+) create mode 100644 drivers/misc/zynqmp_efuse.c diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig index 6009d55f400..c07f50c9a76 100644 --- a/drivers/misc/Kconfig +++ b/drivers/misc/Kconfig @@ -298,6 +298,14 @@ config FSL_SEC_MON Security Monitor can be transitioned on any security failures, like software violations or hardware security violations. +config ZYNQMP_EFUSE + bool "Enable ZynqMP eFUSE Driver" + depends on ZYNQMP_FIRMWARE + help + Enable access to Zynq UltraScale (ZynqMP) eFUSEs thought PMU firmware + interface. ZnyqMP has 256 eFUSEs where some of them are security related + and cannot be read back (i.e. AES key). + choice prompt "Security monitor interaction endianess" depends on FSL_SEC_MON diff --git a/drivers/misc/Makefile b/drivers/misc/Makefile index e53d52c47b3..68ba5648eab 100644 --- a/drivers/misc/Makefile +++ b/drivers/misc/Makefile @@ -92,3 +92,4 @@ obj-$(CONFIG_ESM_K3) += k3_esm.o obj-$(CONFIG_ESM_PMIC) += esm_pmic.o obj-$(CONFIG_SL28CPLD) += sl28cpld.o obj-$(CONFIG_SPL_SOCFPGA_DT_REG) += socfpga_dtreg.o +obj-$(CONFIG_ZYNQMP_EFUSE) += zynqmp_efuse.o diff --git a/drivers/misc/zynqmp_efuse.c b/drivers/misc/zynqmp_efuse.c new file mode 100644 index 00000000000..d12de7494d2 --- /dev/null +++ b/drivers/misc/zynqmp_efuse.c @@ -0,0 +1,360 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * (C) Copyright 2014 - 2015 Xilinx, Inc. + * Michal Simek + * + * (C) Copyright 2024 Weidmueller Interface GmbH + * Lukas Funke + */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#define SILICON_REVISION_MASK 0xF +#define P_USER_0_64_UPPER_MASK GENMASK(31, 16) +#define P_USER_127_LOWER_4_BIT_MASK GENMASK(3, 0) +#define WORD_INBYTES 4 +#define SOC_VER_SIZE 0x4 +#define EFUSE_MEMORY_SIZE 0x177 +#define UNUSED_SPACE 0x8 +#define ZYNQMP_NVMEM_SIZE (SOC_VER_SIZE + UNUSED_SPACE + \ + EFUSE_MEMORY_SIZE) +#define SOC_VERSION_OFFSET 0x0 +#define EFUSE_START_OFFSET 0xC +#define EFUSE_END_OFFSET 0xFC +#define EFUSE_PUF_START_OFFSET 0x100 +#define EFUSE_PUF_MID_OFFSET 0x140 +#define EFUSE_PUF_END_OFFSET 0x17F +#define EFUSE_NOT_ENABLED 29 + +/* + * efuse access type + */ +enum efuse_access { + EFUSE_READ = 0, + EFUSE_WRITE +}; + +/** + * struct xilinx_efuse - the basic structure + * @src: address of the buffer to store the data to be write/read + * @size: read/write word count + * @offset: read/write offset + * @flag: 0 - represents efuse read and 1- represents efuse write + * @pufuserfuse:0 - represents non-puf efuses, offset is used for read/write + * 1 - represents puf user fuse row number. + * + * this structure stores all the required details to + * read/write efuse memory. + */ +struct xilinx_efuse { + u64 src; + u32 size; + u32 offset; + enum efuse_access flag; + u32 pufuserfuse; +}; + +/** + * struct efuse_map_entry - offset and length of zynqmp fuses + * @offset: offset of efuse to be read/write + * @length: length of efuse + */ +struct efuse_map_entry { + u32 offset; + u32 length; +}; + +struct efuse_map_entry zynqmp_efuse_table[] = { + {0x000, 0x04}, /* soc revision */ + {0x00c, 0x0c}, /* SoC DNA */ + {0x020, 0x04}, /* efuse-usr0 */ + {0x024, 0x04}, /* efuse-usr1 */ + {0x028, 0x04}, /* efuse-usr2 */ + {0x02c, 0x04}, /* efuse-usr3 */ + {0x030, 0x04}, /* efuse-usr4 */ + {0x034, 0x04}, /* efuse-usr5 */ + {0x038, 0x04}, /* efuse-usr6 */ + {0x03c, 0x04}, /* efuse-usr7 */ + {0x040, 0x04}, /* efuse-miscusr */ + {0x050, 0x04}, /* efuse-chash */ + {0x054, 0x04}, /* efuse-pufmisc */ + {0x058, 0x04}, /* efuse-sec */ + {0x05c, 0x04}, /* efuse-spkid */ + {0x060, 0x30}, /* efuse-aeskey */ + {0x0a0, 0x30}, /* ppk0-hash */ + {0x0d0, 0x30}, /* ppk1-hash */ + {0x100, 0x7f}, /* pufuser */ +}; + +static int zynqmp_efuse_get_length(u32 offset, u32 *base_offset, u32 *len) +{ + struct efuse_map_entry *fuse; + int i; + + for (i = 0; i < ARRAY_SIZE(zynqmp_efuse_table); ++i) { + fuse = &zynqmp_efuse_table[i]; + if (offset >= fuse->offset && + offset < fuse->offset + fuse->length) { + *base_offset = fuse->offset; + *len = fuse->length; + return 0; + } + } + + return -ENOENT; +} + +static int zynqmp_efuse_access(void *context, unsigned int offset, + void *val, size_t bytes, enum efuse_access flag, + unsigned int pufflag) +{ + struct udevice *dev = context; + struct xilinx_efuse *efuse; + ulong dma_addr; + ulong dma_buf; + size_t words = bytes / WORD_INBYTES; + int ret; + int value; + char *data; + + if (bytes % WORD_INBYTES != 0) { + dev_err(dev, "Bytes requested should be word aligned\n"); + return -EOPNOTSUPP; + } + + if (pufflag == 0 && offset % WORD_INBYTES) { + dev_err(dev, "Offset requested should be word aligned\n"); + return -EOPNOTSUPP; + } + + if (pufflag == 1 && flag == EFUSE_WRITE) { + memcpy(&value, val, bytes); + if ((offset == EFUSE_PUF_START_OFFSET || + offset == EFUSE_PUF_MID_OFFSET) && + value & P_USER_0_64_UPPER_MASK) { + dev_err(dev, "Only lower 4 bytes are allowed to be programmed in P_USER_0 & P_USER_64\n"); + return -EOPNOTSUPP; + } + + if (offset == EFUSE_PUF_END_OFFSET && + (value & P_USER_127_LOWER_4_BIT_MASK)) { + dev_err(dev, "Only MSB 28 bits are allowed to be programmed for P_USER_127\n"); + return -EOPNOTSUPP; + } + } + + efuse = dma_alloc_coherent(sizeof(struct xilinx_efuse), &dma_addr); + if (!efuse) + return -ENOMEM; + + data = dma_alloc_coherent(bytes, &dma_buf); + if (!data) { + ret = -ENOMEM; + goto efuse_data_fail; + } + + if (flag == EFUSE_WRITE) { + memcpy(data, val, bytes); + efuse->flag = EFUSE_WRITE; + } else { + efuse->flag = EFUSE_READ; + } + + efuse->src = dma_buf; + efuse->size = words; + efuse->offset = offset; + efuse->pufuserfuse = pufflag; + + flush_dcache_range((ulong)efuse, (ulong)efuse + + roundup(sizeof(struct xilinx_efuse), ARCH_DMA_MINALIGN)); + flush_dcache_range((ulong)data, (ulong)data + + roundup(sizeof(struct xilinx_efuse), ARCH_DMA_MINALIGN)); + + zynqmp_pm_efuse_access(dma_addr, (u32 *)&ret); + if (ret != 0) { + if (ret == EFUSE_NOT_ENABLED) { + dev_err(dev, "efuse access is not enabled\n"); + ret = -EOPNOTSUPP; + } else { + dev_err(dev, "Error in efuse read %x\n", ret); + ret = -EPERM; + } + goto efuse_access_err; + } + + if (flag == EFUSE_READ) + memcpy(val, data, bytes); +efuse_access_err: + dma_free_coherent(data); +efuse_data_fail: + dma_free_coherent(efuse); + + return ret; +} + +static int zynqmp_nvmem_read(void *context, unsigned int offset, void *val, + size_t bytes) +{ + struct udevice *dev = context; + int ret; + int pufflag = 0; + int idcode; + int version; + + if (offset >= EFUSE_PUF_START_OFFSET && offset <= EFUSE_PUF_END_OFFSET) + pufflag = 1; + + switch (offset) { + /* Soc version offset is zero */ + case SOC_VERSION_OFFSET: + if (bytes != SOC_VER_SIZE) + return -EOPNOTSUPP; + + ret = zynqmp_pm_get_chipid((u32 *)&idcode, (u32 *)&version); + if (ret < 0) + return ret; + + dev_dbg(dev, "Read chipid val %x %x\n", idcode, version); + *(int *)val = version & SILICON_REVISION_MASK; + break; + /* Efuse offset starts from 0xc */ + case EFUSE_START_OFFSET ... EFUSE_END_OFFSET: + case EFUSE_PUF_START_OFFSET ... EFUSE_PUF_END_OFFSET: + ret = zynqmp_efuse_access(context, offset, val, + bytes, EFUSE_READ, pufflag); + break; + default: + *(u32 *)val = 0xDEADBEEF; + ret = 0; + break; + } + + return ret; +} + +static int zynqmp_nvmem_write(void *context, + unsigned int offset, void *val, size_t bytes) +{ + int pufflag = 0; + + if (offset < EFUSE_START_OFFSET || offset > EFUSE_PUF_END_OFFSET) + return -EOPNOTSUPP; + + if (offset >= EFUSE_PUF_START_OFFSET && offset <= EFUSE_PUF_END_OFFSET) + pufflag = 1; + + return zynqmp_efuse_access(context, offset, + val, bytes, EFUSE_WRITE, pufflag); +} + +int fuse_read(u32 bank, u32 word, u32 *val) +{ + u32 base_offset, offset, len; + struct udevice *dev; + u8 buf[128]; /* maximal size of efuse is 0x7f (pufuse) */ + int ret; + + ret = uclass_get_device_by_driver(UCLASS_MISC, + DM_DRIVER_GET(zynqmp_efuse), &dev); + if (ret) + return log_msg_ret("uclass_drv", ret); + + ret = zynqmp_efuse_get_length(word, &base_offset, &len); + if (ret) { + dev_err(dev, "Invalid eFuse word offset\n"); + return ret; + } + + if (len > sizeof(buf)) + return -EINVAL; + + memset(buf, 0, sizeof(buf)); + + ret = misc_read(dev, base_offset, (void *)buf, len); + if (ret) { + dev_err(dev, "Cannot read eFuse @%u: %d", word, ret); + return ret; + } + + offset = word - base_offset; + *val = ((u32 *)buf)[offset]; + + return 0; +} + +int fuse_prog(u32 bank, u32 word, u32 val) +{ + u32 base_offset, len; + struct udevice *dev; + int ret; + + ret = uclass_get_device_by_driver(UCLASS_MISC, + DM_DRIVER_GET(zynqmp_efuse), &dev); + if (ret) + return log_msg_ret("uclass_drv", ret); + + ret = zynqmp_efuse_get_length(word, &base_offset, &len); + if (ret) { + dev_err(dev, "Invalid eFuse word offset\n"); + return ret; + } + + if (word != base_offset || len != sizeof(val)) + return -EINVAL; + + ret = misc_write(dev, word, (void *)&val, sizeof(val)); + if (ret) { + dev_err(dev, "Cannot write eFuse @%u: %d", word, ret); + return ret; + } + + return 0; +} + +int fuse_sense(u32 bank, u32 word, u32 *val) +{ + /* sense is not supported */ + return -ENOSYS; +} + +int fuse_override(u32 bank, u32 word, u32 val) +{ + /* overriding is not supported */ + return -ENOSYS; +} + +static int zynqmp_nvmem_read_compat(struct udevice *dev, int offset, + void *val, int bytes) +{ + return zynqmp_nvmem_read((void *)dev, offset, val, bytes); +} + +static int zynqmp_nvmem_write_compat(struct udevice *dev, int offset, + const void *val, int bytes) +{ + return zynqmp_nvmem_write((void *)dev, offset, (void *)val, bytes); +} + +static const struct udevice_id zynqmp_efuse_match[] = { + { .compatible = "xlnx,zynqmp-nvmem-fw", }, + { /* sentinel */ }, +}; + +static const struct misc_ops zynqmp_efuse_ops = { + .read = zynqmp_nvmem_read_compat, + .write = zynqmp_nvmem_write_compat, +}; + +U_BOOT_DRIVER(zynqmp_efuse) = { + .name = "zynqmp_efuse", + .id = UCLASS_MISC, + .of_match = zynqmp_efuse_match, + .ops = &zynqmp_efuse_ops, +};