From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 74EFB49CF4C for ; Wed, 2 Sep 2026 13:08:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.51 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788354504; cv=none; b=RjwKRGYbiwcGYs7RgSEbWKexCJrKQK5fG285shaQWN18y7kJW6zsT8Tugl7YJDjhHGpjXSOKrw+jbBXgP9oWKbWVJUy2CG3ZFNHd56s4ZzdS+K2YuzUcdGTuf/Vt2ToYqTQwhjDa+8CT+7XvvJ9aQvkPuVHhj5R5h00zrCt/twI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788354504; c=relaxed/simple; bh=92HKX+rJXSdlXE5EQ1Vyyu1clzsl9p8JunUiEHK0e+k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HW+iplShxq8Dky4EUGxgtzRUra1B/0gKR+1OLZOaPcrEqisy5reboMX3Ftk8Jm3yBbusM98/bSVz3bJwKyDFJjrJ65pVRBI0mHoGQTFPvT8mspRk4SoNAZhilbpU3NPK+eamTk4iGtnwGvbcCtYz5b5R/2eS/C0RkYHhfqVw9/E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=flipper.net; spf=pass smtp.mailfrom=flipper.net; dkim=pass (2048-bit key) header.d=flipper.net header.i=@flipper.net header.b=n6g7xOvl; arc=none smtp.client-ip=209.85.221.51 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=flipper.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=flipper.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=flipper.net header.i=@flipper.net header.b="n6g7xOvl" Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-4843e397f74so1203264f8f.1 for ; Wed, 02 Sep 2026 06:08:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=flipper.net; s=google; t=1788354500; x=1788959300; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=+GqdLb9S+dkzyo/uMEE+zALrMBgJbCVE5U0lvdKhWKM=; b=n6g7xOvl9ih0ghdVOYT1XhmnG0QylbUU0JLRsVw1nbXqAt0f0ahh5xgW/WlGqf2cie oQekWrhOjl/qT3S53K1UsVwVAgKOp3e8u2hVDh3C9EICI0dnqtW3yvn0YoTZv+uHNvn0 IjDs+7XYGBN6+0Ae7exZ13j8gTBm7yu1EQEaj2vkFrpIygRbeaG9pmYz+bFCRWi4V45I xyT5SIOKDfEOYI0BMbtzy43NmDstTLnkm4StjFOnvuLbkSMeaeVP0EmHBv4DOumdaHFs qJWkD1bbtLzGJ6WsQMIKGPkqGHj2aULs5iDnzz0ST5fIoyv1538Njzol8Wjz4fT3QHoY KZ0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788354500; x=1788959300; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=+GqdLb9S+dkzyo/uMEE+zALrMBgJbCVE5U0lvdKhWKM=; b=qwOdAb9Dk+f3O6M1tKTpV7xVW+y4BgO7oQks4GX1dJGc31iPBrxiR1jAiNh3WJQ7y2 UnFk7KhqhZtR3i3+59qW24jk6rV4acxpa10t17BV7KwxRbxYBlWM25uLW7dmlh/2+Ge7 XsSxFji+Wtj4gZ0uEoTcpOcVEvZzVKfCqE3EtHdlPw3cw13WBWuNiTBTLD0gDGBdZgEj cF0wRvqt6t1NJ32UNiK6DT/LrxQFcTQWa4ybX1ENGWiZQfE2g5rsym3VZY7yNWSbfTfn TuPOeQamJn5jRoPvW9K5yn+U3+acIuCexfsLkXXLVfmMNQlGP6A8PXjsgCtg+Vam7Y9j PBIw== X-Gm-Message-State: AFuF++mRL2K0jeZVEfXJYecvEs/Av6iXeP7ttdEa+zFA7I2i/etDFC1K GXKCxNtwF0HzH3TyNWI/1eUsIHgmbk43eTcKXyTdYRDpEPkU+nAOD4nqPUSOvoGjnYwJsz6L9ne lQswbjeY= X-Gm-Gg: AYBFou06XbP/03ZTLB3RiPV5ECy62Kcm5XE4v2SDxA1CJhmC6ph7arSwtRw8+5WKsD7 rMFR4nEkA1jxbPyotA1ZbExAkF7tKFa3SaT31ZdFNsJcwqCm2hKGctSg7uXXWZ3ygzWn0Ud4DUA AjOxJM5uMtf0SpVB7sIq+E2qwpAmbzUwnhZwFi2ivll830AokjeNKRNwxgHr0BDtEJSUNgTGuma OUCmgGE1wJvgcGBKepKNpRcgZsqUbrlMQbH/2X0y6alzjcB7C6eu2uw3NcChRdjCstG3RXQ47dz 9mLeIuNLAGSWvylPnnSROp8+nS/UZqCUES8pQhf6rC5ki6z+Z8+exnWnBNIx6nRDEc4nqjnW0pT yPbDcOL8w2Y4OJKBSw24XFg9wLFsdwH1LlsmU4u+hXbjpXWKJnNLZtv/8q3WB6AsroH6zBbSrOZ pLI/oh1CJ4Sj+jc/HCLniSUWEhMnlXc84setFh6PcfXamr8eW6gxvemh/ItfewFvrd0FTy5K6WI WdB+QY++6o8uqfTKbetOUIK1KZEI8dXXW1V7LNaHA== X-Received: by 2002:a05:6000:387:b0:482:ea3e:882a with SMTP id ffacd0b85a97d-485781de9c7mr5755351f8f.6.1788354500289; Wed, 02 Sep 2026 06:08:20 -0700 (PDT) Received: from alchark-surface.localdomain (bba-2-51-220-108.alshamil.net.ae. [2.51.220.108]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48448e72b5bsm6385800f8f.4.2026.09.02.06.08.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 06:08:19 -0700 (PDT) From: Alexey Charkov Date: Wed, 02 Sep 2026 17:07:55 +0400 Subject: [PATCH v2 4/4] arm64: dts: rockchip: Derive GMAC MAC addresses from OTP on RK3576 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260902-rk3576-otp-cpuid-mac-v2-4-e4b7fe2ab13f@flipper.net> References: <20260902-rk3576-otp-cpuid-mac-v2-0-e4b7fe2ab13f@flipper.net> In-Reply-To: <20260902-rk3576-otp-cpuid-mac-v2-0-e4b7fe2ab13f@flipper.net> To: Srinivas Kandagatla , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Heiko Stuebner , Michael Walle , Miquel Raynal , Finley Xiao , Greg Kroah-Hartman Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org, Alexey Charkov X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2071; i=alchark@flipper.net; h=from:subject:message-id; bh=92HKX+rJXSdlXE5EQ1Vyyu1clzsl9p8JunUiEHK0e+k=; b=owGbwMvMwCW2adGNfoHIK0sZT6slMWTNkN+stdDlfUizrGpdwOQDO7Wsb6x5/WrOvdW/mBVvR Uo9dBd26pjIwiDGxWAppsgy99sS26lGfLN2eXh8hZnDygQyRFqkgQEIWBj4chPzSo10jPRMtQ31 DI10jHWMGLg4BWCqP59mZHjJZMe74LTovK18N9U/6Wg8Dag9/iaBV+x//f7tD2Qtl7Iy/M9OYIj 4m7OmNjlfYPKW1exzZr8VEjH38ol2EzqvYtedxA4A X-Developer-Key: i=alchark@flipper.net; a=openpgp; fpr=9DF6A43D95320E9ABA4848F5B2A2D88F1059D4A5 Rockchip SoCs derive stable MAC addresses from the CPU ID in OTP memory, which a bootloader would normally process and patch the live device tree based on it. This depends on the particular bootloader implementation though, and the derivation itself is not described in the device tree. Add explicit nvmem layout for the CPU ID derived MAC addresses on RK3576, so that any OS can implement the same derivation without depending on the bootloader used. Boards which store a MAC address of their own can override the reference with a cell of their choosing. Signed-off-by: Alexey Charkov --- arch/arm64/boot/dts/rockchip/rk3576.dtsi | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/arch/arm64/boot/dts/rockchip/rk3576.dtsi b/arch/arm64/boot/dts/rockchip/rk3576.dtsi index d418bfc04097..aa6d867b5a30 100644 --- a/arch/arm64/boot/dts/rockchip/rk3576.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3576.dtsi @@ -1845,6 +1845,8 @@ gmac0: ethernet@2a220000 { interrupts = , ; interrupt-names = "macirq", "eth_wake_irq"; + nvmem-cells = <&otp_mac_address 0>; + nvmem-cell-names = "mac-address"; power-domains = <&power RK3576_PD_SDGMAC>; resets = <&cru SRST_A_GMAC0>; reset-names = "stmmaceth"; @@ -1893,6 +1895,8 @@ gmac1: ethernet@2a230000 { interrupts = , ; interrupt-names = "macirq", "eth_wake_irq"; + nvmem-cells = <&otp_mac_address 1>; + nvmem-cell-names = "mac-address"; power-domains = <&power RK3576_PD_SDGMAC>; resets = <&cru SRST_A_GMAC1>; reset-names = "stmmaceth"; @@ -2131,6 +2135,14 @@ soc_tsadc_trim: soc-tsadc-trim@64 { reg = <0x64 0x2>; bits = <0 10>; }; + + nvmem-layout { + compatible = "rockchip,rk3576-otp-cpuid"; + + otp_mac_address: mac-address { + #nvmem-cell-cells = <1>; + }; + }; }; sai0: sai@2a600000 { -- 2.54.0