From patchwork Tue Aug 28 11:19:39 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jonas Gorski X-Patchwork-Id: 962847 Return-Path: X-Original-To: incoming-dt@patchwork.ozlabs.org Delivered-To: patchwork-incoming-dt@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=devicetree-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="pC3Dsuy1"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 4205rg0jb7z9s1x for ; Tue, 28 Aug 2018 21:20:03 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728020AbeH1PLL (ORCPT ); Tue, 28 Aug 2018 11:11:11 -0400 Received: from mail-wm0-f65.google.com ([74.125.82.65]:33049 "EHLO mail-wm0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727860AbeH1PLL (ORCPT ); Tue, 28 Aug 2018 11:11:11 -0400 Received: by mail-wm0-f65.google.com with SMTP id i134-v6so1634013wmf.0 for ; Tue, 28 Aug 2018 04:20:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=ibyIim7SQHQpkj1sI1+cA9JP5FVYZfBpi7oQ+wwd9uk=; b=pC3Dsuy12Vfl4iy9hKzhpweaDRD2nAIZtL0IBZmKTUFd1qQJxRETdN94QZV3WkM9zQ AbjoBTK0osm1ljPXTD8GZaPBTxWKkGoSkDVda4/Red+vGeUVIOhH70BIz+tNV89IYHHI 3rTDlP5ozrLBRSpw9SNjuUzbScTqwrKqWB2cjFvmIC/YYGZ9VtRfsGaTMQ+wj08NPxaO JeytrRjNydZNIg3H52aVVigU+281E1IozVYCSfJ9gVrBszGvJbv7yUsVtZNZnJh+WoJs TjOQiYJhHMnH+suNtwK0zjUoi1RdfHdl0dVAuGM4/rZD712QvYvBukUVJWawnMskdw/O W6ng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ibyIim7SQHQpkj1sI1+cA9JP5FVYZfBpi7oQ+wwd9uk=; b=V15RP65zgompzhrabNrconbncQuQ87sKjjrUf5c+6W73S0VGWRhUUqYWQRF1wfK4n1 L7+LdQcEjFAFCSlPwMxjVCLPDB4iTXIfH3JOnD0wKruvsEf7mk24HQ4TytCRJN/cLcIl +pYu/Tzkqn2Sjv2pAxPUudCxonecC4YUeZdsaV1NlXYBg8aT3+OjcmdY3F5PH8HUht7L ZVKQUgjo64w4YHGAJMkqJe+xegazfKCIOVwRPEbt6GerybLVZ6mx6xtJ5FtJwJq5fAD9 b9vPLjamKXyIycB7y2nTlrQvUTwMVKA2dBQnICRhTiwYfRkdOYL3IOksWYbiOGj5uLHE IboA== X-Gm-Message-State: APzg51AQ6qJf4Ns/3EbAp+ihUxxoqAOFJsOH3OBr/UjYHkKR689tcB+K 2DBMAp6JZtmO3E16ovNC6Ax1KGhQ X-Google-Smtp-Source: ANB0Vda3ZY+2aEeZ/2f0MZHVldULQ/FR52lNU1nAVVmLZnGTqt4m1ZOhMgRZ5Y0l7eUTfeamV3D3Ng== X-Received: by 2002:a1c:48d:: with SMTP id 135-v6mr1129531wme.128.1535455199913; Tue, 28 Aug 2018 04:19:59 -0700 (PDT) Received: from localhost.localdomain ([2001:470:9e39::64]) by smtp.gmail.com with ESMTPSA id e141-v6sm1520282wmd.32.2018.08.28.04.19.58 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 28 Aug 2018 04:19:58 -0700 (PDT) From: Jonas Gorski To: linux-mtd@lists.infradead.org, devicetree@vger.kernel.org Cc: David Woodhouse , Brian Norris , Boris Brezillon , Marek Vasut , Richard Weinberger , Rob Herring , Mark Rutland , Florian Fainelli Subject: [PATCH 0/5] mtd: bcm63xxpart: add device tree support Date: Tue, 28 Aug 2018 13:19:39 +0200 Message-Id: <20180828111944.5956-1-jonas.gorski@gmail.com> X-Mailer: git-send-email 2.13.2 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org This patchset adds appropriate bindings for parsing various bcm963xx NOR flash layouts found in the wild. The image header is quite limited, and only has fixed fields for the offsets and sizes of the kernel and rootfs partitions. If any additional partitions exist, they need to be described externally, e.g. through fixed partition layouts. The first two patches add the bindings for the full flash parser for the "common" case: first erase block bootloader, last erase block nvram, reminder available for firmware. The third patch splits out the image header parsing into its own parser. Then patches four and five add bindings for the split out parser, to support non-trivial cases with additional partitions, or a non-standard offset of the firmware partition. These patches have been in used since a while in OpenWrt. Jonas Gorski (5): dt-bindings: mtd: describe the simple BCM963XX NOR flash layout mtd: bcm63xxpart: add of_match_table support mtd: bcm63xxpart: move imagetag parsing to its own parser dt-bindings: mtd: describe BCM963XX ImageTag format and usage mtd: parser_imagetag: add of_match_table support .../brcm,bcm963xx-cfe-nor-partitions.txt | 24 +++ .../mtd/partitions/brcm,bcm963xx-imagetag.txt | 78 ++++++++ drivers/mtd/Kconfig | 1 + drivers/mtd/bcm63xxpart.c | 163 ++------------- drivers/mtd/parsers/Kconfig | 11 + drivers/mtd/parsers/Makefile | 1 + drivers/mtd/parsers/parser_imagetag.c | 222 +++++++++++++++++++++ 7 files changed, 353 insertions(+), 147 deletions(-) create mode 100644 Documentation/devicetree/bindings/mtd/partitions/brcm,bcm963xx-cfe-nor-partitions.txt create mode 100644 Documentation/devicetree/bindings/mtd/partitions/brcm,bcm963xx-imagetag.txt create mode 100644 drivers/mtd/parsers/parser_imagetag.c