From patchwork Fri Jun 16 11:11:21 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 13282650 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 26B2FEB64D7 for ; Fri, 16 Jun 2023 11:11:56 +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:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=RPqh240sD6k77tSD8sWZO4ozDYJp1v/Howh/pBoRxRA=; b=O5rybUUKoB91hH qLViPl6WY1KPCGbCFIoIbisqjo8to20tdYVoVckMB2s6B3DaC19r0aqiJ8ghxFoxSWD9Y97YsxTRv ruF/3XMya18z6l77Z0OygFCHr0gnj+PhJgNhExBmxrGFnWBPX9P1sEezZ1nsauM7EuZQGAdrmTRUa B9oKCYd+Qgq+EWWVDIok0jpt5+coTdjj8LoE4is5UK+8OsUbWaiXty6fgQT+/JhtkaMt76uHpYFuz YSMDirFmm8a94H6jBkBqxDYH897aNqwjcGMaCqOEaZvT55D7dpgn1DuuN3tlpo41LmqslVK7V3pjz ffxNLNnjuWIg9Ng4aR1w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qA7Mf-000LWd-1K; Fri, 16 Jun 2023 11:11:37 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qA7MX-000LT8-2D for linux-arm-kernel@lists.infradead.org; Fri, 16 Jun 2023 11:11:30 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 3D86F61CC0; Fri, 16 Jun 2023 11:11:29 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9017DC433D9; Fri, 16 Jun 2023 11:11:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686913888; bh=Ftk0WF86ozAqY4du7Rc1mCnsDAhs3ihEXWlxhT5nDCk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JMPyp1aj9iCRUynI80EGNmIWv+gacTMO/eXGjFaYf2oxt/NNyFIDF9UiyC51ZaCNP hbUbdjNuXsjd8RgV12wIt7WobVpKwqOSWEcIlvX2rsil5p9VBEF+2gf24fXhlJxhN7 IsznWy4XE3yf+LpQmYSIxIXvP7fEVin2cpDA2PaFtPpyHszf+XwDAYGNTdbuHmRsNC aA3NF2oNpSoroqgd7zL1KnzVl1XkiJ7kcjSNj2WGrEpiLvOd5685qg2hZgONj4g3y3 ywpqZOsRhCLiUmae+4ldVRWbXWejzGFpdQkf7Q2w1OuOe8aaP3b/8cppjZt35iz5QW TobULJ3yGfhtw== From: Michael Walle Date: Fri, 16 Jun 2023 13:11:21 +0200 Subject: [PATCH 1/2] arm64: defconfig: enable SL28VPD NVMEM layout MIME-Version: 1.0 Message-Id: <20230616-feature-sl28-vpd-dt-v1-1-c5458016ba85@kernel.org> References: <20230616-feature-sl28-vpd-dt-v1-0-c5458016ba85@kernel.org> In-Reply-To: <20230616-feature-sl28-vpd-dt-v1-0-c5458016ba85@kernel.org> To: Catalin Marinas , Will Deacon , Shawn Guo , Li Yang , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Michael Walle X-Mailer: b4 0.12.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230616_041129_759986_425B6B57 X-CRM114-Status: UNSURE ( 9.57 ) X-CRM114-Notice: Please train this message. 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 The Kontron sl28 board is supported upstream and also tested in the KernelCI. Enable support for its VPD EEPROM where the base ethernet address is stored. Signed-off-by: Michael Walle --- arch/arm64/configs/defconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig index 57c6b7bb88d4..6339d081d863 100644 --- a/arch/arm64/configs/defconfig +++ b/arch/arm64/configs/defconfig @@ -1405,6 +1405,7 @@ CONFIG_QCOM_L3_PMU=y CONFIG_ARM_SPE_PMU=m CONFIG_ARM_DMC620_PMU=m CONFIG_HISI_PMU=y +CONFIG_NVMEM_LAYOUT_SL28_VPD=m CONFIG_NVMEM_IMX_OCOTP=y CONFIG_NVMEM_IMX_OCOTP_SCU=y CONFIG_NVMEM_LAYERSCAPE_SFP=m From patchwork Fri Jun 16 11:11:22 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Walle X-Patchwork-Id: 13282651 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 A92EBEB64D8 for ; Fri, 16 Jun 2023 11:12:01 +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:Cc:To:In-Reply-To:References:Message-Id :MIME-Version:Subject:Date:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=OFOIgFerbv7r/0XDPPLBCFS2WiruipJ4KEWqMuyri8Y=; b=q81hY267b998Tw mRH6eytEEf2Jrt+HcUZ7R2dHQZxmRoux1WqPsyYksrTufcQY26X8RTEhpVRE4O9UGpXxPO2HVpIb0 CsEXrairNFRuePRKILuyPhnKMadzaFOZs1JUl3ZdpitqbFMhaBYMBSS1qxE3zAgHYykLS/L8oWICq 7NLPFc6pewQgteL5Y3uakDHwpHbwf3v1KI3odgazkn2dl7N1d6n6Prz2UE0dABesK14jzoLw7Mzcv 6XO4yDeq6roiHqfktjvi18wUNPx+YEWH53eTZDSIYlJJZVX4V7y9ilQz96YxwHZtjCYilBr8dpeZx LRHhGfD4msp0I2nYr+MA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qA7Mf-000LX3-2y; Fri, 16 Jun 2023 11:11:37 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qA7Ma-000LUP-1Y for linux-arm-kernel@lists.infradead.org; Fri, 16 Jun 2023 11:11:34 +0000 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id BCDA562171; Fri, 16 Jun 2023 11:11:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0143DC433C0; Fri, 16 Jun 2023 11:11:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1686913891; bh=QrQ31h3vw6CokBWh+9T/1oX+PH5ZWIKL0xtxAZwjZCg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AwPNc65Y397La4809RSEjvhfOZhNBp2EymaBOAHVTzcxmPHCKHNidwdaS7JmCjNPL s86HGSYQB7WHSSlcxHrRZGoS0tSXiCU0TDBfKY+8z/pQpHm+FvdcQhDz3v949B8rWT kpVQqugCAeiB0o4dsjAJMJ/Q5ZazYjYG4qF6thHox/PUhNfA6VW8AzMpkwV/oebxRs ZQIUqF8cBpf17ur04sBhsskCBHczrQolUjt5ivW2JKlXD/PKsK362gwuW65/0hy6iW 1oYEXvbMNTKfeWktibvu4YuGJqBLz1+1x+5rsWJxWN4NRPEqYKnc5jjDYmQPhY4Q34 vAh+g0F9ggrUg== From: Michael Walle Date: Fri, 16 Jun 2023 13:11:22 +0200 Subject: [PATCH 2/2] arm64: dts: ls1028a: sl28: get MAC addresses from VPD MIME-Version: 1.0 Message-Id: <20230616-feature-sl28-vpd-dt-v1-2-c5458016ba85@kernel.org> References: <20230616-feature-sl28-vpd-dt-v1-0-c5458016ba85@kernel.org> In-Reply-To: <20230616-feature-sl28-vpd-dt-v1-0-c5458016ba85@kernel.org> To: Catalin Marinas , Will Deacon , Shawn Guo , Li Yang , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Michael Walle X-Mailer: b4 0.12.2 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230616_041132_605884_9DE34603 X-CRM114-Status: GOOD ( 12.37 ) 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 Now that it is finally possible to get the MAC addresses from the OTP memory, use it to set the addresses of the network devices. There are 8 reserved MAC addresses in total per board. Distribute them as follows: +----------+------+------+------+------+------+ | | var1 | var2 | var3 | var4 | kbox | +----------+------+------+------+------+------+ | enetc #0 | +0 | | | +0 | +0 | | enetc #1 | | | +0 | +1 | +1 | | enetc #2 | | +2 | | | +2 | | enetc #3 | | +3 | | | +3 | | felix p0 | | +0 | | | +4 | | felix p1 | | +1 | | | +5 | | felix p2 | | | | | +6 | | felix p3 | | | | | +7 | | felix p4 | | | | | | | felix p5 | | | | | | +----------+------+------+------+------+------+ An empty cell means, the port is not available and thus doesn't need an ethernet address. Signed-off-by: Michael Walle --- .../dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts | 12 ++++++++++++ .../dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts | 2 ++ .../dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts | 8 ++++++++ .../dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts | 2 ++ .../boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts | 17 +++++++++++++++++ 5 files changed, 41 insertions(+) diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts index 73eb6061c73e..af9194eca556 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-kbox-a-230-ls.dts @@ -56,10 +56,14 @@ qsgmii_phy3: ethernet-phy@10 { }; &enetc_port2 { + nvmem-cells = <&base_mac_address 2>; + nvmem-cell-names = "mac-address"; status = "okay"; }; &enetc_port3 { + nvmem-cells = <&base_mac_address 3>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -80,6 +84,8 @@ &mscc_felix_port0 { managed = "in-band-status"; phy-handle = <&qsgmii_phy0>; phy-mode = "qsgmii"; + nvmem-cells = <&base_mac_address 4>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -88,6 +94,8 @@ &mscc_felix_port1 { managed = "in-band-status"; phy-handle = <&qsgmii_phy1>; phy-mode = "qsgmii"; + nvmem-cells = <&base_mac_address 5>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -96,6 +104,8 @@ &mscc_felix_port2 { managed = "in-band-status"; phy-handle = <&qsgmii_phy2>; phy-mode = "qsgmii"; + nvmem-cells = <&base_mac_address 6>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -104,6 +114,8 @@ &mscc_felix_port3 { managed = "in-band-status"; phy-handle = <&qsgmii_phy3>; phy-mode = "qsgmii"; + nvmem-cells = <&base_mac_address 7>; + nvmem-cell-names = "mac-address"; status = "okay"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts index 7cd29ab970d9..1f34c7553459 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var1.dts @@ -55,5 +55,7 @@ &enetc_port0 { &enetc_port1 { phy-handle = <&phy0>; phy-mode = "rgmii-id"; + nvmem-cells = <&base_mac_address 0>; + nvmem-cell-names = "mac-address"; status = "okay"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts index 113b1df74bf8..aac41192caa1 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var2.dts @@ -36,10 +36,14 @@ &enetc_port0 { }; &enetc_port2 { + nvmem-cells = <&base_mac_address 2>; + nvmem-cell-names = "mac-address"; status = "okay"; }; &enetc_port3 { + nvmem-cells = <&base_mac_address 3>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -52,6 +56,8 @@ &mscc_felix_port0 { managed = "in-band-status"; phy-handle = <&phy0>; phy-mode = "sgmii"; + nvmem-cells = <&base_mac_address 0>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -60,6 +66,8 @@ &mscc_felix_port1 { managed = "in-band-status"; phy-handle = <&phy1>; phy-mode = "sgmii"; + nvmem-cells = <&base_mac_address 1>; + nvmem-cell-names = "mac-address"; status = "okay"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts index 9b5e92fb753e..a4421db3784e 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28-var4.dts @@ -43,5 +43,7 @@ vddh: vddh-regulator { &enetc_port1 { phy-handle = <&phy1>; phy-mode = "rgmii-id"; + nvmem-cells = <&base_mac_address 1>; + nvmem-cell-names = "mac-address"; status = "okay"; }; diff --git a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts index 4ab17b984b03..8b65af4a7147 100644 --- a/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts +++ b/arch/arm64/boot/dts/freescale/fsl-ls1028a-kontron-sl28.dts @@ -92,6 +92,8 @@ &enetc_port0 { phy-handle = <&phy0>; phy-mode = "sgmii"; managed = "in-band-status"; + nvmem-cells = <&base_mac_address 0>; + nvmem-cell-names = "mac-address"; status = "okay"; }; @@ -154,6 +156,21 @@ partition@3e0000 { label = "bootloader environment"; }; }; + + otp-1 { + compatible = "user-otp"; + + nvmem-layout { + compatible = "kontron,sl28-vpd"; + + serial_number: serial-number { + }; + + base_mac_address: base-mac-address { + #nvmem-cell-cells = <1>; + }; + }; + }; }; };