From patchwork Tue Oct 18 15:42:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 13010778 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 35875C433FE for ; Tue, 18 Oct 2022 15:44:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=GLnFJvexiPSA5tTbh3RuhW3DrhO+xyerYCMZdJSFqz4=; b=M3AXLhPrJ7xoUt Mzg6dNaXNQQ9O/5gFItYzX6GcdhJmYi5xx0Y+0mPo4uFGS1Et6jKSEO0n0IsyqYrH3EHgOCFQJPM/ CeyKppdR2qXkYFkcb316e7jHegaqu0NQjihdDjzFl5TwVT3RyiiVBI1HQqpPIfGEca1H376nPH9ZO qvt4O91aFqavxoaI+PLkFBBQxsR+thdQBKVS9e1gSt5CGOP5x9u787hEQAtJDNVRhJWjXPJRzNxtq 0f+pTcB+qsKeWF+OlwkJ0wiJMsJOivlk3yLdFEGuUbpxMG0j0Mqso7elNEXQpXUXJml2jo+1HzsbT 3TzIOY/TD2HzrsS8LgcA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1okok8-007rUO-8k; Tue, 18 Oct 2022 15:43:01 +0000 Received: from mail-ej1-x62c.google.com ([2a00:1450:4864:20::62c]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1okojJ-007qbp-6h; Tue, 18 Oct 2022 15:42:10 +0000 Received: by mail-ej1-x62c.google.com with SMTP id d26so33190174eje.10; Tue, 18 Oct 2022 08:42:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=b56rtWITDRxSLrlOSl1k6NFsHhuMjl+yg3dnUWpYOLI=; b=Hsg3mAtjQpvoO0pLzprhW7xgoGOGI9zwrr5XD4snsU4F2F19updt3nOKcLraXbNufg 6bi+WVZzw1OfNhBMm7czC2GVw6NQtKcSmH4HY4zHXL0ZxhAueBJOUTBxD50dEyLL3cp3 4vgWY9G0/R2YvmWhUjhEUohttuigcFXKnhaa014/PoXwR2Kv+oqqYEF8t1s9rvQ++zk0 6uEdLi8wSZnJXHHhkqm68CAEhVaphljOS6vR8l4GOGttnFCyREdcHlUVPDBPpIpFHevw A/SMRbUmPd674Kgf7FSdbZNDrSvOTBHItZwssZwhHj0e2L4byCwUgXx0kCLc+uXBYIgt SU0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=b56rtWITDRxSLrlOSl1k6NFsHhuMjl+yg3dnUWpYOLI=; b=Yci4qNQ2F43eg3olKB2ll1maw/g3c05CefkvHi5JlN+c1WphthDU+4AHnSbVp/8v9C MnejmYN6IysxsmwGHwTWDa5Ww2U4/XzAhjaYvHMUjrkeOCA34t2HmoTT7iRniMt6nHxf i5a4/Eiup6gDImPzww60OoK5v4kon9mO7agRQ6v2jeyGZkASYIFf6S+jPjdks3t0L2O9 mkFHhYG0lezL3A0hP/r+EyLI0kA54OaupvxEvMvy4IahBcJrbDENKwY7tWK1lGkfHcFH LMlNXGOIstwO8A5wsXP8+LyKHE4Dd4ccccyVWFUDA7NKC3J4y4DHlj7UdsxaK9AgbJVC K+Ug== X-Gm-Message-State: ACrzQf3vCMozuKDGB9nM4Wti41Yj/F1mrUEqe/3Fg+jhBsiGVQwwGnTY 66cwmXKVJ9c5Ikr5kHNHk4A= X-Google-Smtp-Source: AMsMyM57XmcuD6x6f8mMwGeCzHow4jOYB0F/F3dru7OTMGAvTwEL8rc+fx9SaF+nUXUGB7wEaLBR9Q== X-Received: by 2002:a17:907:72d2:b0:78d:4c16:a68d with SMTP id du18-20020a17090772d200b0078d4c16a68dmr2949288ejc.401.1666107726858; Tue, 18 Oct 2022 08:42:06 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id c18-20020a170906925200b0078dd2f9357fsm7751636ejx.89.2022.10.18.08.42.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Oct 2022 08:42:06 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Rob Herring , Krzysztof Kozlowski Cc: Srinivas Kandagatla , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Tom Rini , Florian Fainelli , Joel Peshkin , William Zhang , Conor Dooley , devicetree@vger.kernel.org, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, u-boot@lists.denx.de, bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH V3 1/2] dt-bindings: mtd: partitions: u-boot: allow dynamic subpartitions Date: Tue, 18 Oct 2022 17:42:01 +0200 Message-Id: <20221018154202.4634-1-zajec5@gmail.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221018_084209_315732_938DDFF2 X-CRM114-Status: GOOD ( 10.55 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Rafał Miłecki U-Boot partition may contain subpartitions. For example Broadcom includes environment data block in the middle of its U-Boot partition. This allows describing Broadcom's U-Boot env data and will allow referencing its NVMEM cell in the future. Reg: 118f3fbe517f4 ("dt-bindings: mtd: partitions: support label/name only partition") Ref: dd638202dfb65 ("dt-bindings: mtd: partitions: add additional example for qcom,smem-part") Signed-off-by: Rafał Miłecki --- V3: Add this patch as pre-requirement for u-boot,env.yaml & brcm,env --- .../devicetree/bindings/mtd/partitions/u-boot.yaml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Documentation/devicetree/bindings/mtd/partitions/u-boot.yaml b/Documentation/devicetree/bindings/mtd/partitions/u-boot.yaml index 8a88e7d16524..3c56efe48efd 100644 --- a/Documentation/devicetree/bindings/mtd/partitions/u-boot.yaml +++ b/Documentation/devicetree/bindings/mtd/partitions/u-boot.yaml @@ -27,6 +27,10 @@ properties: Broadcom stores environment variables inside a U-Boot partition. They can be identified by a custom header with magic value. +patternProperties: + "^partition-.*$": + $ref: partition.yaml# + unevaluatedProperties: false examples: @@ -40,6 +44,9 @@ examples: compatible = "brcm,u-boot"; reg = <0x0 0x100000>; label = "u-boot"; + + partition-u-boot-env { + }; }; partition@100000 { From patchwork Tue Oct 18 15:42:02 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= X-Patchwork-Id: 13010779 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 88448C433FE for ; Tue, 18 Oct 2022 15:46:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=DJ+AkjY3nD+l1PqJzcFKq62jcOlbyNvuZIDtW5liazk=; b=UjajQjzB+mi9EJ t3BRUyL1jHmoea14/zCFxcZsoH/fmAot7q9xY4qCEzuiro69JFxJvGJh19OdXPf0X9TQAI9ZOvmOY mF+rHxYqp5Mq7m2FVwlzbQbGvhL5gwN8RUFxnT3spVutwbMlaNXin5PWhY/YwOcHY6N6VxfX/Kfhi G4g8o6B6+oeyE9PO/Z9Ob+7Q5Z0uAHXoCOEZ6nlR8oO3D00h3oS/6gWdJ8zej9W5l8C11yNI6PU7j m7unaCYsAHZofA69U43gFfHZjMWsTwVhY0VkZGFzfW4wOWoADz5DlAbBmKUKA0KIzBeQrv5/OS/by U17Dp9v7szCZGB4sBjWw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1okold-007spx-BB; Tue, 18 Oct 2022 15:44:33 +0000 Received: from mail-ej1-x62b.google.com ([2a00:1450:4864:20::62b]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1okojO-007qfj-13; Tue, 18 Oct 2022 15:42:15 +0000 Received: by mail-ej1-x62b.google.com with SMTP id d26so33190617eje.10; Tue, 18 Oct 2022 08:42:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=t6V4GGutCgqH9SAAugBYUbePwRzXguzjtNw602xA/gE=; b=mHm+3pWbcBXYNzpH81/lPhpNc0B5kdPfe11TzAwKplI3MeDt+vueDt94EyEvU1Sp/9 FG7s+qK49MByuxF/6qySYFNkRnj6YmVQQEE8HHmga3zOcvsVUPoRbh5/mWw2A8h+CosA 443JPbvEAxAPNq/5WHvZnMihOiVz1OULEPw6NGmo6iRZMTZVReFpSbtdIE/2luLroH3l 7acYUGPBANPm+bneNLEmYehFT74EjsE/BD5l0SplQu2yBTl0Otb6yxygQGBfyJww9O47 siGdsYoNyCv6f7moBSe45FPQAvagtdUYy1gQ6hueJSaHwvMavITll5AvKH7uzXQC3EX0 U8aA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=t6V4GGutCgqH9SAAugBYUbePwRzXguzjtNw602xA/gE=; b=a2dyZEvtpAoblOUJniGoUq8oeGVVQSk/usOY40+0kpTEvngI8fKAbPJ6VBNEKtE3pn ViT5oIrOyLypcV1wS4K6EABS3H4NbQJ6lWY71br4e97DhLIgYpPWeJSPapIBB5HeaOmM Bj5Fx287V9wSSKWaLHlLo9OcdL7pFLHGy/YErYrfHDS3ZRjhseqYoh6gIvIBIQ7SI7q3 3FPuS3Nh3Us+zz8nwqcbekAeb4prQoVefsPPtLXCXynEX7dRyRbstOinKNn3IgybBUFV H5dI2pP2aO+2w/JSbc7yV9YeljLTjmH8sUAGZKkSTnr6EiUnmlHtqplqeLSvmA2UvUjj UR0w== X-Gm-Message-State: ACrzQf1yP+iMdDNQXOG1ImQze0jGmdoOZDV7/WclIjm/EFHxI0TmrCuf wPT+0fAoaHgwlOrRssDPkW8= X-Google-Smtp-Source: AMsMyM4aQBhuScJ+Q7RqBmH9Vm86c4qsX+AsD4/jD1J/4RjZSwYFXEPfljnNUP0uP4wvnYZSMzZ1OQ== X-Received: by 2002:a17:906:9c82:b0:781:5752:4f2b with SMTP id fj2-20020a1709069c8200b0078157524f2bmr2842003ejc.561.1666107730031; Tue, 18 Oct 2022 08:42:10 -0700 (PDT) Received: from localhost.lan (ip-194-187-74-233.konfederacka.maverick.com.pl. [194.187.74.233]) by smtp.gmail.com with ESMTPSA id c18-20020a170906925200b0078dd2f9357fsm7751636ejx.89.2022.10.18.08.42.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 18 Oct 2022 08:42:09 -0700 (PDT) From: =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= To: Rob Herring , Krzysztof Kozlowski Cc: Srinivas Kandagatla , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Tom Rini , Florian Fainelli , Joel Peshkin , William Zhang , Conor Dooley , devicetree@vger.kernel.org, linux-mtd@lists.infradead.org, linux-arm-kernel@lists.infradead.org, u-boot@lists.denx.de, bcm-kernel-feedback-list@broadcom.com, linux-kernel@vger.kernel.org, =?utf-8?b?UmFmYcWCIE1pxYJlY2tp?= Subject: [PATCH V3 2/2] dt-bindings: nvmem: u-boot,env: add Broadcom's variant binding Date: Tue, 18 Oct 2022 17:42:02 +0200 Message-Id: <20221018154202.4634-2-zajec5@gmail.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20221018154202.4634-1-zajec5@gmail.com> References: <20221018154202.4634-1-zajec5@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221018_084214_138027_C4DDE143 X-CRM114-Status: GOOD ( 12.26 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Rafał Miłecki Broadcom uses U-Boot for a lot of their bcmbca familiy chipsets. U-Boot stores its configuration in an environment data block. Such blocks are usually stored on flash as a separated partition at hardcoded address. Broadcom however decided to: 1. Store env data block inside U-Boot partition 2. Avoid sticking to hardcoded offsets 3. Use custom header with "uEnv" magic and env data length Example (length 0x4000): $ hexdump -n 32 -C -s 0x40000 /dev/mtdblock0 00040000 76 6e 45 75 00 40 00 00 34 89 7a 82 49 4d 41 47 |vnEu.@..4.z.IMAG| 00040010 45 3d 4e 41 4e 44 3a 31 4d 2c 31 30 32 34 4d 00 |E=NAND:1M,1024M.| (0x40000 offset is unit specific and can change) Starting with the commit 118f3fbe517f4 ("dt-bindings: mtd: partitions: support label/name only partition") DT can describe partitions matching them by a name (without specifying actual address). With that feature and this binding change it's possible to: 1. Specify DT node for Broadcom's U-Boot env data subpartition 2. Add nodes for specific environment data variables 3. Reference them as NVMEM cells This binding is unlikely to help Broadcom's U-Boot. U-Boot SPL needs to find environment data early (before it accesses DTB) and it does that by looking for an "uEnv" magic. Dirty way. This binding can however be used by operating systems. It allows describing cleanly U-Boot, its env data and variables. It tells operating system about Broadcom-specific env data so it can parse it. Signed-off-by: Rafał Miłecki --- V2: Work on better commit body & add example V3: Avoid duplicated "mac" label --- .../devicetree/bindings/nvmem/u-boot,env.yaml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml b/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml index e96bca99f2d9..cbc5c69fd405 100644 --- a/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml +++ b/Documentation/devicetree/bindings/nvmem/u-boot,env.yaml @@ -38,6 +38,8 @@ properties: const: u-boot,env-redundant-bool - description: Two redundant blocks with active having higher counter const: u-boot,env-redundant-count + - description: Broadcom's variant with custom header + const: brcm,env reg: maxItems: 1 @@ -73,3 +75,22 @@ examples: }; }; }; + - | + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + reg = <0x0 0x100000>; + compatible = "brcm,u-boot"; + label = "u-boot"; + + partition-u-boot-env { + compatible = "brcm,env"; + + ethaddr { + }; + }; + }; + };