Message ID | 20240404124614.891416-1-s-vadapalli@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] arm64: dts: ti: k3-am62p: use eFuse MAC Address for CPSW3G Port 1 | expand |
On 04/04/2024 14:46, Siddharth Vadapalli wrote: > Add the "ethernet-mac-syscon" node within "wkup_conf" node corresponding to > the CTRLMMR_MAC_IDx registers within the CTRL_MMR space. Assign the > compatible "ti,am62p-cpsw-mac-efuse" to enable "syscon_regmap" operations > on these registers. The MAC Address programmed in the eFuse is accessible > through the CTRLMMR_MAC_IDx registers. The "ti,syscon-efuse" device-tree > property points to the CTRLMMR_MAC_IDx registers, allowing the CPSW driver > to fetch the MAC Address and assign it to the network interface associated > with CPSW3G MAC Port 1. > > Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> > --- > Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof
On 18:16-20240404, Siddharth Vadapalli wrote: > Add the "ethernet-mac-syscon" node within "wkup_conf" node corresponding to > the CTRLMMR_MAC_IDx registers within the CTRL_MMR space. Assign the > compatible "ti,am62p-cpsw-mac-efuse" to enable "syscon_regmap" operations > on these registers. The MAC Address programmed in the eFuse is accessible > through the CTRLMMR_MAC_IDx registers. The "ti,syscon-efuse" device-tree > property points to the CTRLMMR_MAC_IDx registers, allowing the CPSW driver > to fetch the MAC Address and assign it to the network interface associated > with CPSW3G MAC Port 1. > > Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> Please rebase this patch. This no longer applies to next-20240424 (possibly due to dependencies integrated) - will be good to rebase it once tomorrow's next is applied.
diff --git a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi index 7337a9e13535..21020b7d3034 100644 --- a/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62p-main.dtsi @@ -696,6 +696,7 @@ cpsw_port1: port@1 { label = "port1"; phys = <&phy_gmii_sel 1>; mac-address = [00 00 00 00 00 00]; + ti,syscon-efuse = <&cpsw_mac_syscon 0x0>; }; cpsw_port2: port@2 { diff --git a/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi b/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi index a84756c336d0..7469b3d3a8c9 100644 --- a/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi +++ b/arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi @@ -18,6 +18,11 @@ chipid: chipid@14 { reg = <0x14 0x4>; bootph-all; }; + + cpsw_mac_syscon: ethernet-mac-syscon@200 { + compatible = "ti,am62p-cpsw-mac-efuse", "syscon"; + reg = <0x200 0x8>; + }; }; wkup_uart0: serial@2b300000 {
Add the "ethernet-mac-syscon" node within "wkup_conf" node corresponding to the CTRLMMR_MAC_IDx registers within the CTRL_MMR space. Assign the compatible "ti,am62p-cpsw-mac-efuse" to enable "syscon_regmap" operations on these registers. The MAC Address programmed in the eFuse is accessible through the CTRLMMR_MAC_IDx registers. The "ti,syscon-efuse" device-tree property points to the CTRLMMR_MAC_IDx registers, allowing the CPSW driver to fetch the MAC Address and assign it to the network interface associated with CPSW3G MAC Port 1. Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com> --- This patch is based on linux-next tagged next-20240404. Patch depends on: https://patchwork.kernel.org/project/linux-arm-kernel/patch/20240402105708.4114146-1-s-vadapalli@ti.com/ for the newly added "ti,am62p-cpsw-mac-efuse" compatible. v2: https://patchwork.kernel.org/project/linux-arm-kernel/patch/20240404081845.622707-1-s-vadapalli@ti.com/ Changes since v2: - Renamed "cpsw-mac-efuse" node as "ethernet-mac-syscon" based on Krzysztof's suggestion. - Renamed "cpsw_mac_efuse" label as "cpsw_mac_syscon" to match node naming convention. - Updated node-name in commit message to "ethernet-mac-syscon". v1: https://patchwork.kernel.org/project/linux-arm-kernel/patch/20240402094200.4036076-1-s-vadapalli@ti.com/ Changes since v1: - Since "wkup_conf" is modelled as a "simple-bus" rather than being modelled as a System Controller node with the "syscon" compatible, directly passing the reference to the "wkup_conf" node using the "ti,syscon-efuse" device-tree property will not work. Therefore, I posted the patch at: https://patchwork.kernel.org/project/linux-arm-kernel/patch/20240402105708.4114146-1-s-vadapalli@ti.com/ in order to add a new compatible to be used for modelling the CTRLMMR_MAC_IDx registers as System Controller nodes, thereby allowing the existing "ti,syscon-efuse" property to be used. Now, "ti,syscon-efuse" points to the "cpsw_mac_efuse" node within "wkup_conf" node, with "cpsw_mac_efuse" being a "syscon" node. Logs verifying that the CPSW driver assigns the MAC Address from the eFuse based on the CTRLMMR_MAC_IDx registers at 0x43000200 and 0x43000204 to the interface eth0 corresponding to CPSW3G MAC Port 1: https://gist.github.com/Siddharth-Vadapalli-at-TI/63473d68e7a34860566c1339ce3da9f0 arch/arm64/boot/dts/ti/k3-am62p-main.dtsi | 1 + arch/arm64/boot/dts/ti/k3-am62p-wakeup.dtsi | 5 +++++ 2 files changed, 6 insertions(+)