2022-11-28 09:23:52

by Nikolaus Voss

[permalink] [raw]
Subject: [PATCH 2/2] imx6qdl.dtsi: use MAC-address from nvmem

IMX6QDL has fuse locations specified for storing the MAC for the
built-in ethernet (Table 5-8 in Reference Manual).
Define the fuse location in ocotp and refer to them in fec-ethernet.

If the cells are not flashed, the driver behavior is unchanged, i.e.
other MAC sources will be probed and a random MAC will be used as a
last resort.

Signed-off-by: Nikolaus Voss <[email protected]>
---
arch/arm/boot/dts/imx6qdl.dtsi | 6 ++++++
1 file changed, 6 insertions(+)

diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
index 4f7fefc14d0ac..7449d554ef1aa 100644
--- a/arch/arm/boot/dts/imx6qdl.dtsi
+++ b/arch/arm/boot/dts/imx6qdl.dtsi
@@ -1053,6 +1053,8 @@ fec: ethernet@2188000 {
<&clks IMX6QDL_CLK_ENET_REF>;
clock-names = "ipg", "ahb", "ptp", "enet_out";
fsl,stop-mode = <&gpr 0x34 27>;
+ nvmem-cells = <&fec_mac_addr>;
+ nvmem-cell-names = "mac-address";
status = "disabled";
};

@@ -1186,6 +1188,10 @@ tempmon_calib: calib@38 {
tempmon_temp_grade: temp-grade@20 {
reg = <0x20 4>;
};
+
+ fec_mac_addr: mac-addr@88 {
+ reg = <0x88 6>;
+ };
};

tzasc@21d0000 { /* TZASC1 */
--
2.34.1


2022-12-31 07:18:48

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 2/2] imx6qdl.dtsi: use MAC-address from nvmem

On Wed, Nov 02, 2022 at 03:27:19PM +0100, Nikolaus Voss wrote:
> IMX6QDL has fuse locations specified for storing the MAC for the
> built-in ethernet (Table 5-8 in Reference Manual).
> Define the fuse location in ocotp and refer to them in fec-ethernet.
>
> If the cells are not flashed, the driver behavior is unchanged, i.e.
> other MAC sources will be probed and a random MAC will be used as a
> last resort.
>
> Signed-off-by: Nikolaus Voss <[email protected]>
> ---
> arch/arm/boot/dts/imx6qdl.dtsi | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/arch/arm/boot/dts/imx6qdl.dtsi b/arch/arm/boot/dts/imx6qdl.dtsi
> index 4f7fefc14d0ac..7449d554ef1aa 100644
> --- a/arch/arm/boot/dts/imx6qdl.dtsi
> +++ b/arch/arm/boot/dts/imx6qdl.dtsi
> @@ -1053,6 +1053,8 @@ fec: ethernet@2188000 {
> <&clks IMX6QDL_CLK_ENET_REF>;
> clock-names = "ipg", "ahb", "ptp", "enet_out";
> fsl,stop-mode = <&gpr 0x34 27>;
> + nvmem-cells = <&fec_mac_addr>;
> + nvmem-cell-names = "mac-address";

May I ask where is the support of FEC driver for this?

Shawn

> status = "disabled";
> };
>
> @@ -1186,6 +1188,10 @@ tempmon_calib: calib@38 {
> tempmon_temp_grade: temp-grade@20 {
> reg = <0x20 4>;
> };
> +
> + fec_mac_addr: mac-addr@88 {
> + reg = <0x88 6>;
> + };
> };
>
> tzasc@21d0000 { /* TZASC1 */
> --
> 2.34.1
>

2022-12-31 17:42:59

by Andrew Lunn

[permalink] [raw]
Subject: Re: [PATCH 2/2] imx6qdl.dtsi: use MAC-address from nvmem

> > @@ -1053,6 +1053,8 @@ fec: ethernet@2188000 {
> > <&clks IMX6QDL_CLK_ENET_REF>;
> > clock-names = "ipg", "ahb", "ptp", "enet_out";
> > fsl,stop-mode = <&gpr 0x34 27>;
> > + nvmem-cells = <&fec_mac_addr>;
> > + nvmem-cell-names = "mac-address";
>
> May I ask where is the support of FEC driver for this?

The fec uses of_get_mac_address() which calls
of_get_mac_address_nvmem() as its last place to look for the MAC
address.

Andrew

2023-01-01 02:45:22

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 2/2] imx6qdl.dtsi: use MAC-address from nvmem

On Sat, Dec 31, 2022 at 06:08:41PM +0100, Andrew Lunn wrote:
> > > @@ -1053,6 +1053,8 @@ fec: ethernet@2188000 {
> > > <&clks IMX6QDL_CLK_ENET_REF>;
> > > clock-names = "ipg", "ahb", "ptp", "enet_out";
> > > fsl,stop-mode = <&gpr 0x34 27>;
> > > + nvmem-cells = <&fec_mac_addr>;
> > > + nvmem-cell-names = "mac-address";
> >
> > May I ask where is the support of FEC driver for this?
>
> The fec uses of_get_mac_address() which calls
> of_get_mac_address_nvmem() as its last place to look for the MAC
> address.

Ah, of_get_mac_address() gets extended to call of_get_mac_address_nvmem()
nowadays. Thanks, Andrew!

Shawn

2023-01-01 03:16:35

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 2/2] imx6qdl.dtsi: use MAC-address from nvmem

On Wed, Nov 02, 2022 at 03:27:19PM +0100, Nikolaus Voss wrote:
> IMX6QDL has fuse locations specified for storing the MAC for the
> built-in ethernet (Table 5-8 in Reference Manual).
> Define the fuse location in ocotp and refer to them in fec-ethernet.
>
> If the cells are not flashed, the driver behavior is unchanged, i.e.
> other MAC sources will be probed and a random MAC will be used as a
> last resort.
>
> Signed-off-by: Nikolaus Voss <[email protected]>

I fixed the patch subject prefix like:

ARM: dts: imx6qdl: use MAC-address from nvmem

Applied, thanks!

Shawn