From: David Jander <david@protonic.nl>
To: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: barebox@lists.infradead.org
Subject: Re: [PATCH v2 12/13] of: add barebox-serial driver
Date: Tue, 11 Aug 2020 11:52:53 +0200 [thread overview]
Message-ID: <20200811115253.3f9e79ec@erd988> (raw)
In-Reply-To: <20200811085847.ut5mfcjbt2bncsro@pengutronix.de>
On Tue, 11 Aug 2020 10:58:47 +0200
Oleksij Rempel <o.rempel@pengutronix.de> wrote:
> On Tue, Aug 11, 2020 at 10:34:01AM +0200, Sascha Hauer wrote:
> > On Wed, Aug 05, 2020 at 12:16:27PM +0200, Oleksij Rempel wrote:
> > > Provide a driver which should act as nvmem consumer
> > > for board serial number information.
> > >
> > > To make use of this driver, DTS should contain a serial
> > > node with compatibe "barebox,serial" and nvmem-cell-names
> > > "serial-number":
> > >
> > > ...
> > > chosen {
> > > serial {
> > > compatible = "barebox,serial";
> > > nvmem-cell-names = "serial-number";
> > > nvmem-cells = &some_provider;
> > > };
> > > };
> >
> > This driver only works when the EEPROM or whatever provides the NVMEM
> > contains the serial number in exactly the same format as shall be added
> > to the /serial-number property. This seems to be a special case only and
> > doesn't seem to justify a generic driver.
>
> As with usual devicetree based solution we can add additional
> compatibles to better describe a variant or quirk which should be used
> to convert raw data to the serial number in usable for environment and
> device tree way. I hope, by having generic drivers other users will alight
> with it by making new products or extend existing driver by mainlining
> existing products.
Just for information, this is the layout used for I2C EEPROM contents in the
RFID chip (from I2C address 0x6000, device id 0x51):
struct rfid_contents {
u8 mac[6];
char serial[10];
u8 cs;
} __attribute__ ((packed));
The cs field is just the bit-inverted LSB of the sum of all bytes composing
the struct up to cs.
Note, that even boards without ethernet interface use the same struct, but the
MAC address field is ignored and can be anything. The design of this struct is
quite specific, inflexible and not at all future-proof. So maybe it shouldn't
go into a full-blown driver and instead stay hidden in the board code.
Best regards,
--
David Jander
Protonic Holland.
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
next prev parent reply other threads:[~2020-08-11 9:53 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-08-05 10:16 [PATCH v2 00/13] prepare Protonic board code for mainline Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 01/13] ARM: dts: imx6q-prti6q: fix PHY register Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 02/13] ARM: dts: imx6: vicut1: fix network support Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 03/13] of: base: register DT root as device Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 04/13] ARM: embest-riotboard: port board file to the driver model Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 05/13] net: port nvmem_get_mac_address() from linux kernel Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 06/13] of: of_net: sync of_get_mac_address() with latest kernel version Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 07/13] net: fec_imx: use of_get_mac_address() to get mac address out of DT Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 08/13] of: of_device_get_match_compatible() helper Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 09/13] gpiolib: add gpio_array_to_id helper to get ID out of GPIO array Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 10/13] common: console_common: add of_console_get_by_alias() helper Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 11/13] ARM: protonic-imx6: port Protonic specific board code Oleksij Rempel
2020-08-05 10:16 ` [PATCH v2 12/13] of: add barebox-serial driver Oleksij Rempel
2020-08-11 8:34 ` Sascha Hauer
2020-08-11 8:58 ` Oleksij Rempel
2020-08-11 9:52 ` David Jander [this message]
2020-08-05 10:16 ` [PATCH v2 13/13] ARM: dts: imx6q-prti6q: add barebox, serial-number node Oleksij Rempel
2020-08-11 11:12 ` [PATCH v2 00/13] prepare Protonic board code for mainline Sascha Hauer
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=20200811115253.3f9e79ec@erd988 \
--to=david@protonic.nl \
--cc=barebox@lists.infradead.org \
--cc=o.rempel@pengutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox