All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Niedermaier <cniedermaier@dh-electronics.com>
To: Marek Vasut <marex@denx.de>,
	"u-boot@lists.denx.de" <u-boot@lists.denx.de>
Cc: NXP i.MX U-Boot Team <uboot-imx@nxp.com>,
	Fabio Estevam <festevam@gmail.com>,
	Stefano Babic <sbabic@denx.de>, Tom Rini <trini@konsulko.com>,
	u-boot <u-boot@dh-electronics.com>
Subject: RE: [PATCH 1/2] arm64: imx8mp: Read MAC address from M24C32-D write-lockable page on DH i.MX8MP DHCOM if available
Date: Wed, 16 Oct 2024 11:57:36 +0000	[thread overview]
Message-ID: <62b02b850c194dc080684db8d00cf413@dh-electronics.com> (raw)
In-Reply-To: <9b2f1914-ed29-429b-8c0a-e2a25a1172a9@denx.de>

From: Marek Vasut <marex@denx.de>
Sent: Saturday, October 12, 2024 10:43 PM
> On 10/10/24 3:23 PM, Christoph Niedermaier wrote:
>> The i.MX8M Plus DHCOM currently supports parsing ethernet MAC address
>> from multiple sources in the following priority order:
>>
>> 1) U-Boot environment 'ethaddr'/'eth1addr' environment variable
>> 2) SoC OTP fuses
>> 3) On-SoM EEPROM
>>
>> The new i.MX8M Plus DHCOM rev.200 is populated with M24C32-D EEPROM
>> which contains additional write-lockable page, which can also be
>> populated with a structure containing ethernet MAC address.
>>
>> Add support for parsing the content of this new write-lockable page
>> and place it between 2) and 3) on the priority list. The new entry is
>> 2.5) On-SoM EEPROM write-lockable page
>>
>> Because the write-lockable page is not present on rev.100 i.MX8MP DHCOM
>> SoM, test whether EEPROM ID page exists in DT and whether it is enabled
>> first. If so, read the entire ID page out, validate it, and determine
>> whether EEPROM MAC address is populated in it in DH specific format. If
>> so, use the MAC address. There may be multiple EEPROMs with an ID page
>> on this platform, always use the first one.
>>
>> Signed-off-by: Christoph Niedermaier <cniedermaier@dh-electronics.com>
>> ---
>> Cc: "NXP i.MX U-Boot Team" <uboot-imx@nxp.com>
>> Cc: Marek Vasut <marex@denx.de>
>> Cc: Fabio Estevam <festevam@gmail.com>
>> Cc: Stefano Babic <sbabic@denx.de>
>> Cc: Tom Rini <trini@konsulko.com>
>> Cc: u-boot@dh-electronics.com
>> ---
>>   board/dhelectronics/common/dh_common.c        | 113 ++++++++++++++++++
>>   board/dhelectronics/common/dh_common.h        |  23 ++++
>>   .../dh_imx8mp/imx8mp_dhcom_pdk2.c             |   6 +
>>   3 files changed, 142 insertions(+)
>>
>> diff --git a/board/dhelectronics/common/dh_common.c b/board/dhelectronics/common/dh_common.c
>> index 32c50b4f0f..8ea70fc984 100644
>> --- a/board/dhelectronics/common/dh_common.c
>> +++ b/board/dhelectronics/common/dh_common.c
>> @@ -7,9 +7,22 @@
>>   #include <dm.h>
>>   #include <i2c_eeprom.h>
>>   #include <net.h>
>> +#include <u-boot/crc.h>
>>
>>   #include "dh_common.h"
>>
>> +struct eeprom_id_page {
>> +     u8      id[3];          /* Identifier 'D', 'H', 'E' - 'D' is at index 0 */
>> +     u8      version;        /* 0x10 -- Version 1.0 */
>> +     u8      data_crc16[2];  /* [1] is MSbyte */
>> +     u8      header_crc8;
>> +     u8      mac0[6];
>> +     u8      mac1[6];
>> +     u8      item_prefix;    /* H/F is coded in MSbits, Vendor coding starts at LSbits */
>> +     u8      item_num[3];    /* [2] is MSbyte */
>> +     u8      serial[9];      /* [8] is MSbyte */
>> +} __packed;
> 
> Is __packed needed ?

I want to avoid padding in any case.

Regards
Christoph

  reply	other threads:[~2024-10-16 11:57 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-10 13:23 [PATCH 1/2] arm64: imx8mp: Read MAC address from M24C32-D write-lockable page on DH i.MX8MP DHCOM if available Christoph Niedermaier
2024-10-10 13:23 ` [PATCH 2/2] arm64: imx8mp: Read item and serial number from EEPROM ID page on DH i.MX8MP DHCOM Christoph Niedermaier
2024-10-12 20:55   ` Marek Vasut
2024-10-16 12:31     ` Christoph Niedermaier
2024-10-17  0:22       ` Marek Vasut
2024-10-17 11:55         ` Christoph Niedermaier
2024-10-17 18:35           ` Marek Vasut
2024-10-21 15:38             ` Christoph Niedermaier
2024-10-21 23:00               ` Marek Vasut
2024-10-22  9:31                 ` Christoph Niedermaier
2024-10-22 11:57                   ` Marek Vasut
2024-10-23 12:18                     ` Christoph Niedermaier
2024-10-23 12:41                       ` Marek Vasut
2024-10-23 13:20                         ` Christoph Niedermaier
2024-10-23 14:04                           ` Marek Vasut
2024-10-25 15:36                             ` Christoph Niedermaier
2024-10-12 20:42 ` [PATCH 1/2] arm64: imx8mp: Read MAC address from M24C32-D write-lockable page on DH i.MX8MP DHCOM if available Marek Vasut
2024-10-16 11:57   ` Christoph Niedermaier [this message]
2024-10-16 12:15     ` Marek Vasut
2024-10-17 11:09       ` Christoph Niedermaier
2024-10-17 14:01         ` Marek Vasut
2024-10-21 15:08           ` Christoph Niedermaier

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=62b02b850c194dc080684db8d00cf413@dh-electronics.com \
    --to=cniedermaier@dh-electronics.com \
    --cc=festevam@gmail.com \
    --cc=marex@denx.de \
    --cc=sbabic@denx.de \
    --cc=trini@konsulko.com \
    --cc=u-boot@dh-electronics.com \
    --cc=u-boot@lists.denx.de \
    --cc=uboot-imx@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.