From patchwork Fri Dec 2 17:11:26 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sean Anderson X-Patchwork-Id: 1711520 X-Patchwork-Delegate: trini@ti.com Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org 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=) Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.a=rsa-sha256 header.s=selector1 header.b=rbRXDq2S; dkim-atps=neutral Received: from phobos.denx.de (phobos.denx.de [IPv6:2a01:238:438b:c500:173d:9f52:ddab:ee01]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4NNzy31l4Gz23nC for ; Sat, 3 Dec 2022 04:11:54 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 985D28492B; Fri, 2 Dec 2022 18:11:46 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (2048-bit key; unprotected) header.d=seco.com header.i=@seco.com header.b="rbRXDq2S"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4440085213; Fri, 2 Dec 2022 18:11:45 +0100 (CET) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on phobos.denx.de X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0631.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::631]) (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 4DE938500C for ; Fri, 2 Dec 2022 18:11:40 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=reject dis=none) header.from=seco.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sean.anderson@seco.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eqzzuFN/pd8XgjDtuarJZ0i39Yk2BE+6TwQ1suSiAEkuXqSI5ZcLnWRkR1g/mEd2pDnsUpe7t1CF6ye1iX7BNRTmt/3hkp805rqXMS6La0m0ieD1Scm7aIDsXivpLIW/YlUSTnZEWy/XzAFH34eP45uuooeliIlowu6zieo+RvtgGLy3jYadT4Om+Wpfo8HK6xEiareC7xreZommHbTSOViN6i6tSA0PXRtSuUNH8e9hk9N+s3jjlSs8bSub6zl8Raq15LS/MECUDIFv9XwXYsV5aJvkmBzwOjGH+maDCxJ+skX6vFAhNdyIu/+ogsaYPM2yWIEtSaLbzz9Wp5+SsA== 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=AJLHHD7jAo+4NMFoOyhaNvzZG6NYaR+YfVCXDHmpZx8=; b=RwIoVHfd42F91kZcrouIgTVX2+jIMsRRsQ3yhz4NYPo+TWkIbC9a4pbMwjqbyDaF7Zsttk01iwuhrVmEIstqYOgfnm5nAX6c9L6fQWLWf/jqu/78YrK51qNm6nD9Ja8/RkkwZFWqZt4rR9pEyFpNTyoFTT5g3RqzTX9K7L8ubYe/uM2ctXnVYSoRvFgJ2wqKJRHf5ld4nm1DSDqdueogzMr2DRRquaKoyc4H2s5+chxDb0BwkwfhKqXFMKJwPziL9CxT11UjhQ4uy+SDJeh8wUyv5SIUvz79IqdHK+ahqM8XamHgKBGy2PknqDbUscb3PHVE1Vw4SunU+vEYJagROg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=seco.com; dmarc=pass action=none header.from=seco.com; dkim=pass header.d=seco.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=seco.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AJLHHD7jAo+4NMFoOyhaNvzZG6NYaR+YfVCXDHmpZx8=; b=rbRXDq2S8NuKynwNopo+J3hXFIsnXCvAreR8lKMYiJf6rMGzuCyocPy1X8bfbl+el3FgW76wjqRGDa4JoH4HbK2hEwv2uTMuy/Z/IJmuVqTsMg9x+rwi2KG/hIkP6udQhtvy4/0bYrBjYMrk5nEptfzvaI+bq2AulBx/d0A82LSfMOOhPLBbz622O90CLSo91lTMCa5PqAY0MOj04sefzU9K9txynHXl8JDbBGf1OY86dOGyIBUdkgS51oB5mkQqdmpPjiVUBPSU7CElIvaopcdAKmqs6rf2PZBOduY/dzhX1dToMOOjGs2y0OfMLHDyTWKrr270lW2BNnO1428M9g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=seco.com; Received: from DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) by PAXPR03MB7732.eurprd03.prod.outlook.com (2603:10a6:102:208::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.10; Fri, 2 Dec 2022 17:11:38 +0000 Received: from DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb]) by DB9PR03MB8847.eurprd03.prod.outlook.com ([fe80::2b95:1fe4:5d8f:22fb%8]) with mapi id 15.20.5857.023; Fri, 2 Dec 2022 17:11:38 +0000 From: Sean Anderson To: Marek Vasut , u-boot@lists.denx.de Cc: Heiko Schocher , Patrick Delaunay , Lukasz Majewski , Sean Anderson Subject: [PATCH] fastboot: Add OEM run command Date: Fri, 2 Dec 2022 12:11:26 -0500 Message-Id: <20221202171126.1007559-1-sean.anderson@seco.com> X-Mailer: git-send-email 2.35.1.1320.gc452695387.dirty X-ClientProxiedBy: MN2PR10CA0023.namprd10.prod.outlook.com (2603:10b6:208:120::36) To DB9PR03MB8847.eurprd03.prod.outlook.com (2603:10a6:10:3dd::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DB9PR03MB8847:EE_|PAXPR03MB7732:EE_ X-MS-Office365-Filtering-Correlation-Id: 7ad7a35d-c495-4f75-0c3f-08dad4884548 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Pl27d4zbUQmDT1g9fBkkxJI7EMmrxR0Nq+aCnmCE909vHZTixWL7hyrqeMjyegL5T9a3aMiPHousbEAybgVF9j6kzWXFeZNAJSodpKIScTUmPSwJSk5rvcgNJEu+FlvQaqAfhjXbsH0Shc8GQ8o5h/4WLBWq3euHLZ/oA22jKyj+IPJL5IAfF++1oxdeICqHgKu96qlCLMNQOd5XSRDEWJl59wvtqNuCzbE/b92EnWh9Sw0gXrAiiLjqRie0+QEAxf/qHZh4WgGQ+Wmcid7M/8Eh2sQts/iszosyuEPrgW8cBw6xagRLtFUNKzM7Z9gGC96Eiu5ZIGf0wIVcIDHlykdCRezFZ+Ih8V26/e9S7mzQEa1GHFHRl578MwXQ9fTNsN3loVTIb/VJDgNjWqbbkMxlKRSArtFSXO9aC2o7awjO4VtCxR0ThMLrRRQuZDs5JAWUL/NiqKnKuE+Emaiqflt8yoFTOMivlERvPrWbk1pazwTU86WncaDKItowaCWUFjptfcUlg5mPh+5iDcLwszA2QS/BXVHgsrhAeTgwmOLMw/McYe38Mld4UQbTn6Mvu7/8U2TTIIaFkaQHr++f8f2P+4y2nOcuR1aPKnjP/KX9mDP0r3ZZnDhVaOiJ7m56Z8LoPd/M/sKEIE2uPrFmcQ291qwLnzy0O3KS3USZdJDDIeztyEBtbDXYb/7dx2DO X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR03MB8847.eurprd03.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(366004)(396003)(376002)(346002)(39850400004)(136003)(451199015)(1076003)(36756003)(2906002)(41300700001)(2616005)(83380400001)(8936002)(5660300002)(86362001)(38100700002)(38350700002)(44832011)(4326008)(316002)(186003)(478600001)(26005)(6512007)(54906003)(6666004)(6506007)(52116002)(107886003)(6486002)(8676002)(66556008)(66946007)(66476007); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: R8lyuePpJucwjV2HyqGKIcQcscC8K0G3eD91j22mQWkCRwFfeTrnE794FVtXmAqJMxJCSMq+K06b3mNmdfe9ajpxRwSLwHpQ8+0cP+/17Hi851gR5h0X/gTbIu/DsthMa2s8SJJKUaguniQfPaHny8GIW6bmHyNbzPf7lUX6VyLUHb8M2ywfj4kHOo4mRoJFVxsAFt63NDt3zoNv4iZLBwAOghplV65StlnIaI5e/LNH2+s9/nybtJFvnjo06iwG7Xfsy57hltb2VNdSVQYm2EV4PuqLXg7URhr3h+WNYGLqMiDh9ox28ATr94PXYTgLlzdeZKltQG7fKXWlzof9XyIJPRWN1LFBqAQ+az0tHowKpEFZAXAPELlYC1fDv5HNfH+DfX5nt0YOOrp2YOvW+92KASpKluUDQE0R/uOwCRBilEa9JVPiksuaAdaQ75bimg9HQt5LU/Oqz78NDQMpC/BadP6iBpQifriWoTmMzfWaCXqf2KMYjCRTb9nrLNW7KhzBrqDfT0XmC2Z+LvHpdtfTRl70xycu8xsaJK3skDX/b6bqXsM/84y4hvVgxCMW17XbtF6GK5lEPAgMDuL+FWmmnNNiJvJZQBvW9fk9UDbgpTqacLonIjCrBb/ZFdISW5hj3irxUbl5ySmSIWjnYtFEGFIRgguqXvV6ldxyRzRIyeFmNlnshX34U1Mm9wgS3ihc9rsyoDOGQJWnCac0a/An7UofoSZz++nrU9DbX/78rSisjkRzfucD1ntdNojlJrgh3KO0yh40WFW7W2VkNyPM7gI8HPuxNLt7i3ZRd4OPrnILUxyMVR8emk7+x2rG6vx6I2nKKW0LQ7iFp7kTHWyxM0OVxKqVSS43B99rHKdP9KrYfSK4veeU+oiI41m6mEnJQYCXzTXbYWtcXSNTB5BdKCI8SR8bvEPkVANI8TQaI0QjZSnQWZxQbBxjiZWsEyuQ2gtE48UG/mvlThm9nwr0Hd9p8pgoTIHQQ+fWgLQGw7xQCSSZfz9Iwi3hm3wDL45JYRqFUnrnsMu5kJe+32HL9dk6Fv+QzB3QVtZvQkEc9uoyrihwoIoSuThYKboTklNC37GgDqHukUX+VuIngz860w0GWAbl7Zabg5sxo1Lm0NCJ5/4FQy+2VVKZcSJKOQqit5JeO8lBIm1aQ9HDaFbSy3jsXAIHRam4UEi6LHSagX4vNpq9nOLWI8mxh4WZ6lRzglsD1d+A0f4I+mEDwOXNcgsdiZ3lCKhjN3U9xDDS94q1OoqqP0Ml3tsFGcvJAxKSWvIlw8jqF8t2PY6N+dx7+8pdGwUqgCuyj2rOM8Osyrcw+YWz1yWDtgSLXUbvI/HncrFqlf8JyTOC9G3o4Nx7BGv0QMFKHXcrC38z+y+8jH57LAnWPTc/Q54pH/NpvwGzPHY5/wvhqL/05Y6oGQcrfXs3z4L7SmdMdSAFHU4OeHwy1EO5cyl+dg1rVK3JHQ2SkcwQ2XhnBN/n0CH30FTUBHBnr/Of8cV1sCM2TH4Uka5SOKWLpXDsAVJGfvr9EXkjmrbVR/ZBQUKS4IrQsPxS/+cACRHyaMsodMNlD5dpLs4q2gbWBmMn7OF0NrpVbBQ4m1UvUG3ssK2COBtjoA== X-OriginatorOrg: seco.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7ad7a35d-c495-4f75-0c3f-08dad4884548 X-MS-Exchange-CrossTenant-AuthSource: DB9PR03MB8847.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 02 Dec 2022 17:11:38.3865 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bebe97c3-6438-442e-ade3-ff17aa50e733 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: VzRUaLjOmQ7J8GDeLLlQ0+g984siKG3/m9RxIy1MlosovV3xcLM6RKBkBSMNSFMglQvklfLEeRWQIyKKZIa5UQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR03MB7732 X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.6 at phobos.denx.de X-Virus-Status: Clean This adds the UUU UCmd functionality as an OEM command. While the fastboot tool allows sending arbitrary commands as long as they are prefixed with "oem". This allows running generic U-Boot commands over fastboot without UUU, which is especially useful when not using USB. This is really the route we should have gone in the first place when adding these commands. While we're here, clean up the Kconfig a bit. Signed-off-by: Sean Anderson --- doc/android/fastboot.rst | 1 + drivers/fastboot/Kconfig | 10 +++++----- drivers/fastboot/fb_command.c | 4 ++++ include/fastboot.h | 1 + 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/doc/android/fastboot.rst b/doc/android/fastboot.rst index 7611f07038..b2d2e68cf5 100644 --- a/doc/android/fastboot.rst +++ b/doc/android/fastboot.rst @@ -28,6 +28,7 @@ The following OEM commands are supported (if enabled): - ``oem partconf`` - this executes ``mmc partconf %x 0`` to configure eMMC with = boot_ack boot_partition - ``oem bootbus`` - this executes ``mmc bootbus %x %s`` to configure eMMC +- ``oem run`` - this executes an arbitrary U-Boot command Support for both eMMC and NAND devices is included. diff --git a/drivers/fastboot/Kconfig b/drivers/fastboot/Kconfig index b97c67bf60..8f2d52cb8a 100644 --- a/drivers/fastboot/Kconfig +++ b/drivers/fastboot/Kconfig @@ -80,12 +80,12 @@ config FASTBOOT_FLASH this to enable the "fastboot flash" command. config FASTBOOT_UUU_SUPPORT - bool "Enable FASTBOOT i.MX UUU special command" + bool "Enable running arbitrary commands from FASTBOOT" help - The fastboot protocol includes "UCmd" and "ACmd" command. - Be aware that you provide full access to any U-Boot command, - including working with memory and may open a huge backdoor, - when enabling this option. + This extends the fastboot protocol with the "UCmd" and "ACmd" + commands, as well as the "oem run" command. These commands provide + full access to any U-Boot command, including working with memory. + This may open a huge backdoor if you are using verified boot. choice prompt "Flash provider for FASTBOOT" diff --git a/drivers/fastboot/fb_command.c b/drivers/fastboot/fb_command.c index 98eccc3455..1732406c18 100644 --- a/drivers/fastboot/fb_command.c +++ b/drivers/fastboot/fb_command.c @@ -123,6 +123,10 @@ static const struct { }, #endif #if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT) + [FASTBOOT_COMMAND_OEM_RUN] = { + .command = "oem run", + .dispatch = run_ucmd, + }, [FASTBOOT_COMMAND_UCMD] = { .command = "UCmd", .dispatch = run_ucmd, diff --git a/include/fastboot.h b/include/fastboot.h index 57daaf1298..8b6b4b934a 100644 --- a/include/fastboot.h +++ b/include/fastboot.h @@ -45,6 +45,7 @@ enum { FASTBOOT_COMMAND_OEM_BOOTBUS, #endif #if CONFIG_IS_ENABLED(FASTBOOT_UUU_SUPPORT) + FASTBOOT_COMMAND_OEM_RUN, FASTBOOT_COMMAND_ACMD, FASTBOOT_COMMAND_UCMD, #endif