2022-11-28 08:21:37

by Nikolaus Voss

[permalink] [raw]
Subject: [PATCH 1/2] nvmem: imx-ocotp: reverse MAC on imx6qdl

Ethernet MAC on iMX6Q/DL is stored in OTP in little-endian byte order. I
suspect that this is true for all iMX flavors. If so, we could get rid
of the .reverse_mac_address attribute entirely.

Signed-off-by: Nikolaus Voss <[email protected]>
---
drivers/nvmem/imx-ocotp.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c
index 14284e866f26e..a39a0defb070a 100644
--- a/drivers/nvmem/imx-ocotp.c
+++ b/drivers/nvmem/imx-ocotp.c
@@ -496,6 +496,7 @@ static const struct ocotp_params imx6q_params = {
.bank_address_words = 0,
.set_timing = imx_ocotp_set_imx6_timing,
.ctrl = IMX_OCOTP_BM_CTRL_DEFAULT,
+ .reverse_mac_address = true,
};

static const struct ocotp_params imx6sl_params = {
--
2.34.1


2022-11-28 08:23:31

by Ahmad Fatoum

[permalink] [raw]
Subject: Re: [PATCH 1/2] nvmem: imx-ocotp: reverse MAC on imx6qdl

Hello Nikolaus,

On 24.11.22 17:50, Nikolaus Voss wrote:
> Ethernet MAC on iMX6Q/DL is stored in OTP in little-endian byte order. I
> suspect that this is true for all iMX flavors. If so, we could get rid
> of the .reverse_mac_address attribute entirely.

I also think all i.MX flavors are similar here. The barebox driver has had
a MAC address parsing function for a few years[1] and it's the same for
all i.MX variants. The only different SoC is VF610, but that has a standalone
driver in Linux.

[1]: https://elixir.bootlin.com/barebox/v2022.11.0/source/drivers/nvmem/ocotp.c#L551

> Signed-off-by: Nikolaus Voss <[email protected]>

Reviewed-by: Ahmad Fatoum <[email protected]>

Cheers,
Ahmad

> ---
> drivers/nvmem/imx-ocotp.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c
> index 14284e866f26e..a39a0defb070a 100644
> --- a/drivers/nvmem/imx-ocotp.c
> +++ b/drivers/nvmem/imx-ocotp.c
> @@ -496,6 +496,7 @@ static const struct ocotp_params imx6q_params = {
> .bank_address_words = 0,
> .set_timing = imx_ocotp_set_imx6_timing,
> .ctrl = IMX_OCOTP_BM_CTRL_DEFAULT,
> + .reverse_mac_address = true,
> };
>
> static const struct ocotp_params imx6sl_params = {

--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |