linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chen-Yu Tsai <wens@kernel.org>
To: Johan Jonker <jbx6244@gmail.com>
Cc: Tianling Shen <cnsztl@gmail.com>,
	Rob Herring <robh+dt@kernel.org>,
	Heiko Stuebner <heiko@sntech.de>,
	Marty Jones <mj8263788@gmail.com>, Pavel Machek <pavel@ucw.cz>,
	devicetree <devicetree@vger.kernel.org>,
	linux-arm-kernel <linux-arm-kernel@lists.infradead.org>,
	"open list:ARM/Rockchip SoC..."
	<linux-rockchip@lists.infradead.org>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] arm64: dts: rockchip: add EEPROM node for NanoPi R4S
Date: Tue, 8 Jun 2021 01:08:35 +0800	[thread overview]
Message-ID: <CAGb2v65gFB7oMCzV6e+4OfY0w2K5=AVnnW2sqMGLrCzfGqsrOQ@mail.gmail.com> (raw)
In-Reply-To: <b5cc8e2b-10b6-de5d-38dd-5e5cfd84e984@gmail.com>

On Tue, Jun 8, 2021 at 1:04 AM Johan Jonker <jbx6244@gmail.com> wrote:
>
>
>
> On 6/7/21 6:01 PM, Tianling Shen wrote:
> > Hi Johan,
> >
> > On Mon, Jun 7, 2021 at 6:26 PM Johan Jonker <jbx6244@gmail.com> wrote:
> >>
> >> Hi Chen-Yu,
> >>
> >> On 6/7/21 11:40 AM, Chen-Yu Tsai wrote:
> >>> On Mon, Jun 7, 2021 at 5:31 PM Johan Jonker <jbx6244@gmail.com> wrote:
> >>>>
> >>>> Hi Tianling,
> >>>>
> >>>> On 6/7/21 10:17 AM, Tianling Shen wrote:
> >>>>> NanoPi R4S has a EEPROM attached to the 2nd I2C bus (U92), which
> >>>>> stores the MAC address.
> >>>>>
> >>>>> Signed-off-by: Tianling Shen <cnsztl@gmail.com>
> >>>>> ---
> >>>>>  arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts | 9 +++++++++
> >>>>>  1 file changed, 9 insertions(+)
> >>>>>
> >>>>> diff --git a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> >>>>> index cef4d18b599d..4a82f50a07c5 100644
> >>>>> --- a/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> >>>>> +++ b/arch/arm64/boot/dts/rockchip/rk3399-nanopi-r4s.dts
> >>>>> @@ -68,6 +68,15 @@
> >>>>>       status = "disabled";
> >>>>>  };
> >>>>>
> >>>>> +&i2c2 {
> >>>>> +     eeprom@51 {
> >>>>> +             compatible = "microchip,24c02", "atmel,24c02";
> >>>>> +             reg = <0x51>;
> >>>>> +             pagesize = <16>;
> >>>>
> >>>>> +             read-only; /* This holds our MAC */
> >>>>
> >>>> The mainline dts files should be generic I think.
> >>>> Any comment about "use", partitions or write ability should be avoided.
> >>>> It's up the user.
> >>>
> >>
> >>> Per the datasheet for this specific EEPROM, the latter half (128 bytes)
> >>> is read-only in hardware by design though.
> >>
> >> The 24AA02XEXX is programmed at the factory with a
> >> globally unique node address stored in the upper half
> >> of the array and permanently write-protected. The
> >> remaining 1,024 bits are available for application use.
> >>
> >
>
> > In my opinion, as this contains data programmed by the factory, would
> > it be okay to keep it read-only?
>
> This chip is not completely read-only.
> There might be users that like to try some other mac_address or store
> something else in that lower part. Is this then still possible?
> Generic DT describes hardware independent from what Linux drivers or
> other OS are capable off.
> This factory mac_addres is permanently write-protected, so no need to
> keep the rest read-only.
>
>      nvmem-cells = <&new_mac_address_in_lower_part>;
>      nvmem-cells-names = "mac-address";
>
> >
> >> Just a question...
> >>
> >>     nvmem-cells = <&mac_address>;
> >>     nvmem-cells-names = "mac-address";
> >>
> >> Which part does this point to?
> >>
> >> Can we use the lower part to store/rewrite this too?
> >>
> >> ===
> >>
> >> From at24.yaml:
> >>
> >>             items:
> >>               - pattern:
> >> "^(atmel|catalyst|microchip|nxp|ramtron|renesas|rohm|st),(24(c|cs|lc|mac)[0-9]+|spd)$"
> >>               - pattern: "^atmel,(24(c|cs|mac)[0-9]+|spd)$"
> >>
> >> How does Microchip 24AA025E48 fit the regex?
> >> What compatible would you advise?
> >
> > It seems that 24AA025E48 is a variant of 24MAC402 [1], and
> > `atmel,24c02` will be okay in this case.
> > 1. https://lkml.org/lkml/2018/1/24/494
>
> Ask Heiko. ;)
>
> As long as it does not generate more notifications then we already have.

I think having a part specific compatible would be better. That way if
someone wanted to implement read-only "feedback" to users for the second
half they could.

ChenYu

> >
> > Thanks,
> > Tianling.
> >
> >>
> >> ===
> >>
> >> Johan
> >>
> >>>
> >>> ChenYu
> >>>

      reply	other threads:[~2021-06-07 17:08 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-06-07  8:17 [PATCH] arm64: dts: rockchip: add EEPROM node for NanoPi R4S Tianling Shen
2021-06-07  8:35 ` Chen-Yu Tsai
2021-06-07 12:48   ` Tianling Shen
2021-06-07  9:14 ` Johan Jonker
2021-06-07  9:40   ` Chen-Yu Tsai
2021-06-07 10:26     ` Johan Jonker
2021-06-07 11:20       ` Chen-Yu Tsai
2021-06-07 16:01       ` Tianling Shen
2021-06-07 17:04         ` Johan Jonker
2021-06-07 17:08           ` Chen-Yu Tsai [this message]

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='CAGb2v65gFB7oMCzV6e+4OfY0w2K5=AVnnW2sqMGLrCzfGqsrOQ@mail.gmail.com' \
    --to=wens@kernel.org \
    --cc=cnsztl@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=heiko@sntech.de \
    --cc=jbx6244@gmail.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mj8263788@gmail.com \
    --cc=pavel@ucw.cz \
    --cc=robh+dt@kernel.org \
    /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;
as well as URLs for NNTP newsgroup(s).