Received: by 2002:a05:6358:1087:b0:cb:c9d3:cd90 with SMTP id j7csp6238450rwi; Tue, 18 Oct 2022 09:45:06 -0700 (PDT) X-Google-Smtp-Source: AMsMyM6AsqmDbEfv+ympBtpKz4SjwuOvOQlirVgCLkGhShqgXlqy69a2d/NF6K79wiQkjZ10YUYo X-Received: by 2002:a17:902:ec83:b0:185:581a:1c with SMTP id x3-20020a170902ec8300b00185581a001cmr3917364plg.78.1666111506366; Tue, 18 Oct 2022 09:45:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1666111506; cv=none; d=google.com; s=arc-20160816; b=WTVSppamxoZ0qW6jJoOL1R9XkkhJ197elxAJOK4KU2uoJwjdrpn9zy+m/uuT4UYLM1 WTN5h/TptvMo4Ar0uBO4Z9ow0It5oEDxn1YX708igqjwJUtwiGg0RrlA5qorr+vyQQa0 FBYkzhT0Kj2gl27w2qgNZIXgnGXSl5lx+ncntW3jytZcTihUm6SDCr0QR7PW6SOmexea EKaDQCvmnPbUNHZWhH2r5dITUvbq/pUXMkThxsNznQ7b+cMX7pAp51IKR7DSUUAHH51B Gtmz4fdXkyUTzx/RJJeHW9nL/JBvvMvMh0RPruebK5DVxXyZxf3mJrawDdMbYTViqoce uVEg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=t6V4GGutCgqH9SAAugBYUbePwRzXguzjtNw602xA/gE=; b=UI6D5qcj21G1UTMG6II/M41+nOMmRWDxmAtC5oHpONfwQ7wS2+2w2OFYfKOdPHOD3d K+75Alfl2spCPCw7Q7vLNkw5K2xDL3532teg0u7gLK7qnPZ2KNG59jFE2KhUVISKA8uj ZhX52eoZ7g+swR6JojMrmhqwVYXD8q/vnBsl9xgSyqtAa8NFnnetDjTzVpgxvwc4jb9p 1+kGJWnTxYtxfH7Wt7d8Y+7M7l3pWF6QsPCY5QxqXiouXJIjzGqsnWvMQnr3KSPSYfCk o92+k2MXkMJ/8pdTqID4NbqmujzmM+6VPE2a03vsErXYDfkZA4FT4cO5e+DWWM0MIJSz hklA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=mHm+3pWb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id l8-20020a170903120800b001727a15dbf8si17443825plh.345.2022.10.18.09.44.53; Tue, 18 Oct 2022 09:45:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=mHm+3pWb; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230455AbiJRPmP (ORCPT + 99 others); Tue, 18 Oct 2022 11:42:15 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41162 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229890AbiJRPmN (ORCPT ); Tue, 18 Oct 2022 11:42:13 -0400 Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 93081B56C5; Tue, 18 Oct 2022 08:42:11 -0700 (PDT) Received: by mail-ej1-x632.google.com with SMTP id fy4so33196050ejc.5; 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=H6TnyLY9o/C18/ZQ65lv2nhRx5nE4cV6g1inkLJQEyBTy2qk80YTMSJnofunpsYPf4 1vmiVo6iJqa0+01n9ekBcTcoEbDlDgC/8iqk84ObItAcdKt6PwN0sb0J23PVltysLDDh EsKHyV/FV6DE6KuzWAMIwZztQRXUQwK/kniegZ2Wk85/yuNOELwRPCtikCCZ+4aIiQxX HNKfLaI9XxKZskbQk0uIno+7Wqm7JE5HSa3y6pAiFUv+b1vOh8Xsoi7mfMPNDyEIzkVh MnhRTxAvIvjST8SBF6cp5SoI51JwxMStuWFcSfV/TeSmA9c7XWKCURISG0CmqF60TjfH VhOg== X-Gm-Message-State: ACrzQf0uDkWoRYjxBF5ns5qm6C1a9NQUQwwiuacp6Zq8iQapdQkmi4zd nXc1Obau9I52HsBvS4tPyCU= 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?q?Rafa=C5=82=20Mi=C5=82ecki?= 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?q?Rafa=C5=82=20Mi=C5=82ecki?= 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 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-1.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.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 { + }; + }; + }; + }; -- 2.34.1