From patchwork Mon Nov 9 11:51:58 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jaehoon Chung X-Patchwork-Id: 1396699 X-Patchwork-Delegate: lukma@denx.de Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: 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=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=samsung.com header.i=@samsung.com header.a=rsa-sha256 header.s=mail20170921 header.b=UoQ2r66s; dkim-atps=neutral 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 RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4CV8Vp1wwtz9sS8 for ; Mon, 9 Nov 2020 22:52:06 +1100 (AEDT) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 6FA36822D2; Mon, 9 Nov 2020 12:51:58 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.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=samsung.com header.i=@samsung.com header.b="UoQ2r66s"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id B9E8C821A4; Mon, 9 Nov 2020 12:51:55 +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.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.2 Received: from mailout4.samsung.com (mailout4.samsung.com [203.254.224.34]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 7BA45821A4 for ; Mon, 9 Nov 2020 12:51:49 +0100 (CET) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=samsung.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=jh80.chung@samsung.com Received: from epcas1p3.samsung.com (unknown [182.195.41.47]) by mailout4.samsung.com (KnoxPortal) with ESMTP id 20201109115145epoutp042176cf2f7232b787454ed39f65be084b~F1LKFSCCv1356013560epoutp04t for ; Mon, 9 Nov 2020 11:51:45 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout4.samsung.com 20201109115145epoutp042176cf2f7232b787454ed39f65be084b~F1LKFSCCv1356013560epoutp04t DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1604922705; bh=Fv0rjimTXX5b+2irg0pw3CToW0ngtX/ZRvEuTS4F0mY=; h=From:To:Cc:Subject:Date:References:From; b=UoQ2r66s1fGtShuBQtrY+v8SWbvoVfMouIpLhZkurZtIDcYGBpFgJwtxOl7GpwmUn sLPiFBuesF8XLEu6QOQgAfDSOhQBPjRYtmP5Z+auU4RQ5sEjldMPx5Der7UE+wd0x+ 0zq+kTpwqN/chHYa6umK0d5sSEVg/UFPhTHkeqEM= Received: from epsnrtp3.localdomain (unknown [182.195.42.164]) by epcas1p3.samsung.com (KnoxPortal) with ESMTP id 20201109115144epcas1p3e58fd4fc30c2cdf28cd23af5816e5a42~F1LJdZB2H0755607556epcas1p3d; Mon, 9 Nov 2020 11:51:44 +0000 (GMT) Received: from epsmges1p3.samsung.com (unknown [182.195.40.154]) by epsnrtp3.localdomain (Postfix) with ESMTP id 4CV8V64fWpzMqYkY; Mon, 9 Nov 2020 11:51:42 +0000 (GMT) Received: from epcas1p3.samsung.com ( [182.195.41.47]) by epsmges1p3.samsung.com (Symantec Messaging Gateway) with SMTP id 92.6C.09582.E4D29AF5; Mon, 9 Nov 2020 20:51:42 +0900 (KST) Received: from epsmtrp2.samsung.com (unknown [182.195.40.14]) by epcas1p1.samsung.com (KnoxPortal) with ESMTPA id 20201109115141epcas1p1590713187d7bea43b16f290db46c5a3c~F1LGg8gcd0804608046epcas1p1H; Mon, 9 Nov 2020 11:51:41 +0000 (GMT) Received: from epsmgms1p1new.samsung.com (unknown [182.195.42.41]) by epsmtrp2.samsung.com (KnoxPortal) with ESMTP id 20201109115141epsmtrp2d219d330ff84b350b056caa396b5a323~F1LGgUEWP2521425214epsmtrp2Y; Mon, 9 Nov 2020 11:51:41 +0000 (GMT) X-AuditID: b6c32a37-899ff7000000256e-16-5fa92d4ef71b Received: from epsmtip2.samsung.com ( [182.195.34.31]) by epsmgms1p1new.samsung.com (Symantec Messaging Gateway) with SMTP id 16.F4.13470.D4D29AF5; Mon, 9 Nov 2020 20:51:41 +0900 (KST) Received: from jaehoon-DeskTop.10.32.193.11 (unknown [10.113.113.235]) by epsmtip2.samsung.com (KnoxPortal) with ESMTPA id 20201109115141epsmtip2168040fe634cb8b231bd60aaa4fc2a54~F1LGVHSmP3145831458epsmtip22; Mon, 9 Nov 2020 11:51:41 +0000 (GMT) From: Jaehoon Chung To: u-boot@lists.denx.de Cc: lukma@denx.de, mk7.kang@samsung.com, Jaehoon Chung Subject: [PATCH V2] dfu: add DFU_SKIP layout concept Date: Mon, 9 Nov 2020 20:51:58 +0900 Message-Id: <20201109115158.24418-1-jh80.chung@samsung.com> X-Mailer: git-send-email 2.29.0 MIME-Version: 1.0 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrGKsWRmVeSWpSXmKPExsWy7bCmvq6f7sp4gzdnVSxu/GpjtXj+7jKT RceRFkaLt3s72R1YPObNOsHicfbODkaPvi2rGAOYo7JtMlITU1KLFFLzkvNTMvPSbZW8g+Od 403NDAx1DS0tzJUU8hJzU22VXHwCdN0yc4DWKSmUJeaUAoUCEouLlfTtbIryS0tSFTLyi0ts lVILUnIKLAv0ihNzi0vz0vWS83OtDA0MjEyBChOyM1p3b2Qu2KVQcfL/CvYGxnmSXYycHBIC JhJ33n9h6mLk4hAS2MEo8e3HdlYI5xOjxPPDq6Ay3xgl1m9dxwTT0nT4IRtEYi+jxJnTzxhB EkICvxkltnyqBbHZBHQktn87DtYgIiAh8av/KlgNs0CgRPOTa0ArODiEgQatnMUFYrIIqEqs 3FgDUsErYC2x8MJ6VohV8hJ/7vcwQ8QFJU7OfMICMUVeonnrbGaQEyQEVrFL7Li2EKrBReLO 998sELawxKvjW9ghbCmJz+/2skHY1RK7ms9ANXcwStza1gT1mLHE/qWTmUAOYhbQlFi/Sx8i rCix8/dcqPP5JN597QE7X0KAV6KjTQiiREXi0uuXTDCr7j75D3WOh8Sy2euZIaETK7H6wH2m CYzys5C8MwvJO7MQFi9gZF7FKJZaUJybnlpsWGCMHKebGMEJTst8B+O0tx/0DjEycTAeYpTg YFYS4XX6tyJeiDclsbIqtSg/vqg0J7X4EKMpMHwnMkuJJucDU2xeSbyhqZGxsbGFiaGZqaGh kjjvH+2OeCGB9MSS1OzU1ILUIpg+Jg5OqQamXSuZFp8tTnOcbK38QZIr9LrlzMBw1oulW+Wc 9olVNsjLHbnM9rb9xIKT1/beao512usrnfdP7oZwzIckC+llW8zY7uu7eUW/Of1azKBmkVbP tpi9S+IjpbpFa6fejrMLNt4pvfZeyJ0ZN3U54nU1mvLk4xMWS+pqrn74/9NppxuSt5cvj1hX FSP9p+H//HrPrxdO8pcEXVJVOOassL+47OarP8Fda3MMtLodcixv+efn87Jc7Es98uTdmlJB delXB9wbSqUzxUx2PPNrfcD3QTNj+fJk3bcJ9a6+lRrGb3g3Mn823S60Yc/KzJf5x58WfT9t fKqqusx80uSpnzp51zycL1vjd2NCUyiTk4YSS3FGoqEWc1FxIgDdj5ho+QMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprCLMWRmVeSWpSXmKPExsWy7bCSvK6v7sp4g3uP5Sxu/GpjtXj+7jKT RceRFkaLt3s72R1YPObNOsHicfbODkaPvi2rGAOYo7hsUlJzMstSi/TtErgyWndvZC7YpVBx 8v8K9gbGeZJdjJwcEgImEk2HH7J1MXJxCAnsZpTY/P43C0RCSuLz06lACQ4gW1ji8OFiiJqf jBKrdi8Fq2ET0JHY/u04E4gtIiAh8av/KiOIzSwQLHHq6lewXmGgBStncYGYLAKqEis31oBU 8ApYSyy8sJ4VYpO8xJ/7PcwQcUGJkzOfsEBMkZdo3jqbeQIj3ywkqVlIUgsYmVYxSqYWFOem 5xYbFhjmpZbrFSfmFpfmpesl5+duYgQHnJbmDsbtqz7oHWJk4mA8xCjBwawkwuv0b0W8EG9K YmVValF+fFFpTmrxIUZpDhYlcd4bhQvjhATSE0tSs1NTC1KLYLJMHJxSDUyBnOsj7s05LHrO z6S8J6fz3SqzntWVMgftNgZOCVA5zfX8wlv2LRu+mPVd/bJmSX55YXT8we9LPJ5P67ycXyb2 XnWasOCKvZ3uN/4cvrb0NHcOn/m63ZulzT6eMi/LTjyqt6eMT8nWgGnVj8fJv0/ejbrksHm7 5ZbWT0dK3Lcyrdk472xJy5pjso8ks754GIfqGeybrCbZnptooXQsfF6+qj5XnedVHS6ZrSFx j8/URS08oyL/okaL7YKG2Olrh2WTbOqXKx7euneJDNdHprsdnMsnTNI99Hs/z2dFk5UbTabO T5Z/8OL9xll2IfaStTfnv1N4zjL5tMK19CmnTa//87168PuuSA23D8+f6X3Zq8RSnJFoqMVc VJwIALPHFgynAgAA X-CMS-MailID: 20201109115141epcas1p1590713187d7bea43b16f290db46c5a3c X-Msg-Generator: CA X-Sendblock-Type: SVC_REQ_APPROVE CMS-TYPE: 101P DLP-Filter: Pass X-CFilter-Loop: Reflected X-CMS-RootMailID: 20201109115141epcas1p1590713187d7bea43b16f290db46c5a3c References: X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 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.102.3 at phobos.denx.de X-Virus-Status: Clean Add DFU_SKIP layout ccocept. If layout is "skip", it will be skipped after nothing to do. It's useful to support multiple board with one tar file. Signed-off-by: Jaehoon Chung Reviewed-by: Minkyu Kang --- V2: Fix typo and Minkyu's reviewed-tag --- doc/README.dfu | 10 +++++++++- drivers/dfu/dfu.c | 2 +- drivers/dfu/dfu_mmc.c | 9 +++++++++ include/dfu.h | 1 + 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/doc/README.dfu b/doc/README.dfu index 4b9f88354072..827d300e251f 100644 --- a/doc/README.dfu +++ b/doc/README.dfu @@ -17,7 +17,7 @@ Overview: - The access to mediums is done in DFU backends (driver/dfu) Today the supported DFU backends are: - - MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system) + - MMC (RAW or FAT / EXT2 / EXT3 / EXT4 file system / SKIP) - NAND - RAM - SF (serial flash) @@ -91,6 +91,7 @@ Commands: part [mmcpart ] raw access to partition fat [mmcpart ] file in FAT partition ext4 [mmcpart ] file in EXT4 partition + skip 0 0 Skip after Nothing to do with being the GPT or DOS partition index, with being the eMMC hardware partition number. @@ -103,6 +104,13 @@ Commands: "u-boot raw 0x80 0x800;uImage ext4 0 2" + If don't want to flash image file to storage, use "skip" layout. + - It can be protected to flash wrong image with specific board name. + - Especailly, this layout will be useful when thor protocol is used. + For example, if make a tar file to support two board with u-boot-.bin + and u-boot-.bin, it can make to flash a proper u-boot without fail. + "u-boot-.bin raw 0x80 0x800; u-boot-.bin skip 0 0" + "nand" (raw slc nand device) cmd: dfu 0 nand each element in "dfu_alt_info" = diff --git a/drivers/dfu/dfu.c b/drivers/dfu/dfu.c index a298c2c43999..f679f1fa5fe5 100644 --- a/drivers/dfu/dfu.c +++ b/drivers/dfu/dfu.c @@ -614,7 +614,7 @@ const char *dfu_get_dev_type(enum dfu_device_type t) const char *dfu_get_layout(enum dfu_layout l) { const char *const dfu_layout[] = {NULL, "RAW_ADDR", "FAT", "EXT2", - "EXT3", "EXT4", "RAM_ADDR" }; + "EXT3", "EXT4", "RAM_ADDR", "SKIP" }; return dfu_layout[l]; } diff --git a/drivers/dfu/dfu_mmc.c b/drivers/dfu/dfu_mmc.c index 691d01c7ebdf..c7c324b0a986 100644 --- a/drivers/dfu/dfu_mmc.c +++ b/drivers/dfu/dfu_mmc.c @@ -108,6 +108,8 @@ static int mmc_file_op(enum dfu_op op, struct dfu_entity *dfu, case DFU_FS_EXT4: fstype = FS_TYPE_EXT; break; + case DFU_SKIP: + return 0; default: printf("%s: Layout (%s) not (yet) supported!\n", __func__, dfu_get_layout(dfu->layout)); @@ -204,6 +206,9 @@ int dfu_write_medium_mmc(struct dfu_entity *dfu, case DFU_FS_EXT4: ret = mmc_file_buf_write(dfu, offset, buf, len); break; + case DFU_SKIP: + ret = 0; + break; default: printf("%s: Layout (%s) not (yet) supported!\n", __func__, dfu_get_layout(dfu->layout)); @@ -238,6 +243,8 @@ int dfu_get_medium_size_mmc(struct dfu_entity *dfu, u64 *size) if (ret < 0) return ret; return 0; + case DFU_SKIP: + return 0; default: printf("%s: Layout (%s) not (yet) supported!\n", __func__, dfu_get_layout(dfu->layout)); @@ -399,6 +406,8 @@ int dfu_fill_entity_mmc(struct dfu_entity *dfu, char *devstr, char *s) dfu->layout = DFU_FS_FAT; } else if (!strcmp(entity_type, "ext4")) { dfu->layout = DFU_FS_EXT4; + } else if (!strcmp(entity_type, "skip")) { + dfu->layout = DFU_SKIP; } else { pr_err("Memory layout (%s) not supported!\n", entity_type); return -ENODEV; diff --git a/include/dfu.h b/include/dfu.h index 84abdc79acd1..2e8276c69c9f 100644 --- a/include/dfu.h +++ b/include/dfu.h @@ -33,6 +33,7 @@ enum dfu_layout { DFU_FS_EXT3, DFU_FS_EXT4, DFU_RAM_ADDR, + DFU_SKIP, }; enum dfu_op {