linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH V3] soc: imx: support i.MX93 soc device
       [not found] <20230515063730.2042715-1-peng.fan@oss.nxp.com>
@ 2023-05-24 13:30 ` Rasmus Villemoes
  2023-05-25  0:01   ` Peng Fan
  2023-05-27  8:20   ` Shawn Guo
  0 siblings, 2 replies; 6+ messages in thread
From: Rasmus Villemoes @ 2023-05-24 13:30 UTC (permalink / raw)
  To: Peng Fan (OSS), shawnguo, s.hauer
  Cc: kernel, festevam, linux-imx, linux-kernel, linux-arm-kernel,
	Peng Fan

On 15/05/2023 08.37, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> i.MX93 Device Unique ID(UID) is in eFuse that could be read through
> OCOTP Fuse Shadow Block. i.MX93 UID is 128 bits long, so introduce
> soc_uid_high to indicate the higher 64bits.

So apparently, the imx8mp also has 128 bits, at least according to the
reference manual, which mentions a "UNIQUE_ID[127:64]" at offset 0xe00 -
0xe10 (i.e. bank 40, words 0 and 1).

However, no further mention of these upper bits can be found anywhere in
the RM, or in linux or u-boot, mainline or downstream NXP. Furthermore,
quick experiments on both an imx8mp-evk and a custom imx8mp board
reveals that those words are not locked down (they do seem to have some
contents from the factory, but I can still set more bits in them).

Could someone from NXP please explain what exactly bank 40, words 0 and
1, on imx8mp are for? What do their initial value mean, why are they not
locked down, and why does the RM indicate that they should be part of a
unique_id?

Also, assuming that the RM is just wrong (wouldn't be the first time;
the description of the lower 64 bits is also wonky in its own special
way), an obvious follow-up question is: Are the currently exposed
(lower) 64 bits unique among all imx8mp SOCs, i.e. does those 64 bits by
themselves actually work as a uid?

Rasmus


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH V3] soc: imx: support i.MX93 soc device
  2023-05-24 13:30 ` [PATCH V3] soc: imx: support i.MX93 soc device Rasmus Villemoes
@ 2023-05-25  0:01   ` Peng Fan
  2023-05-25  7:04     ` Rasmus Villemoes
  2023-05-27  8:20   ` Shawn Guo
  1 sibling, 1 reply; 6+ messages in thread
From: Peng Fan @ 2023-05-25  0:01 UTC (permalink / raw)
  To: Rasmus Villemoes, Peng Fan (OSS), shawnguo@kernel.org,
	s.hauer@pengutronix.de
  Cc: kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

> Subject: Re: [PATCH V3] soc: imx: support i.MX93 soc device
> 
> On 15/05/2023 08.37, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> >
> > i.MX93 Device Unique ID(UID) is in eFuse that could be read through
> > OCOTP Fuse Shadow Block. i.MX93 UID is 128 bits long, so introduce
> > soc_uid_high to indicate the higher 64bits.
> 
> So apparently, the imx8mp also has 128 bits, at least according to the

It is 64bits. The RM maybe wrong.

> reference manual, which mentions a "UNIQUE_ID[127:64]" at offset 0xe00 -
> 0xe10 (i.e. bank 40, words 0 and 1).

Which chatper?
> 
> However, no further mention of these upper bits can be found anywhere in
> the RM, or in linux or u-boot, mainline or downstream NXP. Furthermore,
> quick experiments on both an imx8mp-evk and a custom imx8mp board
> reveals that those words are not locked down (they do seem to have some
> contents from the factory, but I can still set more bits in them).
> 
> Could someone from NXP please explain what exactly bank 40, words 0 and
> 1, on imx8mp are for? What do their initial value mean, why are they not
> locked down, and why does the RM indicate that they should be part of a
> unique_id?

RM should be wrong. UID is in Bank 0.

> 
> Also, assuming that the RM is just wrong (wouldn't be the first time; the
> description of the lower 64 bits is also wonky in its own special way), an
> obvious follow-up question is: Are the currently exposed
> (lower) 64 bits unique among all imx8mp SOCs, i.e. does those 64 bits by
> themselves actually work as a uid?

Just as what the driver indicates, UID is at register address 0x420 and 0x430.

For bank 0x40, I could not reveal information if RM or Secure RM not say
something.

You could raise tickets in community.nxp.com to ask people follow up
on RM issue or else.

Thanks,
Peng.

> 
> Rasmus

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] soc: imx: support i.MX93 soc device
  2023-05-25  0:01   ` Peng Fan
@ 2023-05-25  7:04     ` Rasmus Villemoes
  2023-05-25  8:30       ` Peng Fan
  0 siblings, 1 reply; 6+ messages in thread
From: Rasmus Villemoes @ 2023-05-25  7:04 UTC (permalink / raw)
  To: Peng Fan, Peng Fan (OSS), shawnguo@kernel.org,
	s.hauer@pengutronix.de
  Cc: kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

On 25/05/2023 02.01, Peng Fan wrote:
>> Subject: Re: [PATCH V3] soc: imx: support i.MX93 soc device
>>
>> On 15/05/2023 08.37, Peng Fan (OSS) wrote:
>>> From: Peng Fan <peng.fan@nxp.com>
>>>
>>> i.MX93 Device Unique ID(UID) is in eFuse that could be read through
>>> OCOTP Fuse Shadow Block. i.MX93 UID is 128 bits long, so introduce
>>> soc_uid_high to indicate the higher 64bits.
>>
>> So apparently, the imx8mp also has 128 bits, at least according to the
> 
> It is 64bits. The RM maybe wrong.

OK. I assume you've raised a ticket internally with the documentation
team to get that fixed?

And while you're at it, could you draw their attention to the lower bits
as well:

0x420[10:0] UNIQUE_ID[42:0] 43
0x430[15:11] UNIQUE_ID[47:43] 5
0x430[23:16] UNIQUE_ID[55:48] 8
0x430[31:24] UNIQUE_ID[63:56] 8

I mean, it's a really amazing piece of hardware that manages to cram 43
bits of information into a 32 bit word.

>> reference manual, which mentions a "UNIQUE_ID[127:64]" at offset 0xe00 -
>> 0xe10 (i.e. bank 40, words 0 and 1).
> 
> Which chatper?
>>

In my copy, which identifies as "i.MX 8M Plus Applications Processor
Reference Manual, Rev. 1, 06/2021", it's in Table 6-35, page 823.


>> obvious follow-up question is: Are the currently exposed
>> (lower) 64 bits unique among all imx8mp SOCs, i.e. does those 64 bits by
>> themselves actually work as a uid?
>
> Just as what the driver indicates, UID is at register address 0x420
and 0x430.

So, for the record, for the iMX8MP, the SOC UID consists of precisely
those 64 bits found in those two words. And no two iMX8MPs ever produced
will have the same value. OK. Except:

> For bank 0x40, I could not reveal information if RM or Secure RM not say
> something.
>
> You could raise tickets in community.nxp.com to ask people follow up
> on RM issue or else.

Very interesting, though, that somebody else tried to do just that
(https://community.nxp.com/t5/i-MX-Processors/Question-about-UID-UNIQUE-ID-of-i-MX8MP/m-p/1582383#M200077)
and have unambiguously been told by "joanxie" from  NXP TechSupport

  refer to the reference manual, lower 64bits from
0x420[10:0]-0x430[11:31]and higher 64bits from 0xE00-0xE10

and later

  the higher 64 bits thus bank 40 word 0 and bank40 word1.

and again

  since this soc uses 128bits as UID, try to use 128bits

But you are clearly stating the opposite, that bank 40, words 0 and 1,
do not form part of the UID, a statement supported by the experimental
fact that those words are not locked down from the factory.

Apart from the still unanswered question about what those two words then
actually contain, represent and/or are used for, this leaves me with yet
another question:

- What's the value of asking questions at community.nxp.com if the
answers one can expect to get are not rooted in reality?

Rasmus


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH V3] soc: imx: support i.MX93 soc device
  2023-05-25  7:04     ` Rasmus Villemoes
@ 2023-05-25  8:30       ` Peng Fan
  0 siblings, 0 replies; 6+ messages in thread
From: Peng Fan @ 2023-05-25  8:30 UTC (permalink / raw)
  To: Rasmus Villemoes, Peng Fan (OSS), shawnguo@kernel.org,
	s.hauer@pengutronix.de
  Cc: kernel@pengutronix.de, festevam@gmail.com, dl-linux-imx,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

> Subject: Re: [PATCH V3] soc: imx: support i.MX93 soc device
> 
> On 25/05/2023 02.01, Peng Fan wrote:
> >> Subject: Re: [PATCH V3] soc: imx: support i.MX93 soc device
> >>
> >> On 15/05/2023 08.37, Peng Fan (OSS) wrote:
> >>> From: Peng Fan <peng.fan@nxp.com>
> >>>
> >>> i.MX93 Device Unique ID(UID) is in eFuse that could be read through
> >>> OCOTP Fuse Shadow Block. i.MX93 UID is 128 bits long, so introduce
> >>> soc_uid_high to indicate the higher 64bits.
> >>
> >> So apparently, the imx8mp also has 128 bits, at least according to
> >> the
> >
> > It is 64bits. The RM maybe wrong.
> 
> OK. I assume you've raised a ticket internally with the documentation team
> to get that fixed?
> 
> And while you're at it, could you draw their attention to the lower bits as
> well:
> 
> 0x420[10:0] UNIQUE_ID[42:0] 43
> 0x430[15:11] UNIQUE_ID[47:43] 5
> 0x430[23:16] UNIQUE_ID[55:48] 8
> 0x430[31:24] UNIQUE_ID[63:56] 8
> 
> I mean, it's a really amazing piece of hardware that manages to cram 43 bits
> of information into a 32 bit word.
> 
> >> reference manual, which mentions a "UNIQUE_ID[127:64]" at offset
> >> 0xe00 -
> >> 0xe10 (i.e. bank 40, words 0 and 1).
> >
> > Which chatper?
> >>
> 
> In my copy, which identifies as "i.MX 8M Plus Applications Processor
> Reference Manual, Rev. 1, 06/2021", it's in Table 6-35, page 823.
> 
> 
> >> obvious follow-up question is: Are the currently exposed
> >> (lower) 64 bits unique among all imx8mp SOCs, i.e. does those 64 bits
> >> by themselves actually work as a uid?
> >
> > Just as what the driver indicates, UID is at register address 0x420
> and 0x430.
> 
> So, for the record, for the iMX8MP, the SOC UID consists of precisely those
> 64 bits found in those two words. And no two iMX8MPs ever produced will
> have the same value. OK. Except:
> 
> > For bank 0x40, I could not reveal information if RM or Secure RM not
> > say something.
> >
> > You could raise tickets in community.nxp.com to ask people follow up
> > on RM issue or else.
> 
> Very interesting, though, that somebody else tried to do just that
> (https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcom
> munity.nxp.com%2Ft5%2Fi-MX-Processors%2FQuestion-about-UID-
> UNIQUE-ID-of-i-MX8MP%2Fm-
> p%2F1582383%23M200077&data=05%7C01%7Cpeng.fan%40nxp.com%7Ce
> e14840685854a192dc008db5cee5230%7C686ea1d3bc2b4c6fa92cd99c5c301
> 635%7C0%7C0%7C638205950874432380%7CUnknown%7CTWFpbGZsb3d8e
> yJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D
> %7C3000%7C%7C%7C&sdata=fEXtlp0UTJjo8GGpdqqRurJd3yfamxZmiHkI4Zs
> MKMo%3D&reserved=0)
> and have unambiguously been told by "joanxie" from  NXP TechSupport
> 
>   refer to the reference manual, lower 64bits from 0x420[10:0]-
> 0x430[11:31]and higher 64bits from 0xE00-0xE10
> 
> and later
> 
>   the higher 64 bits thus bank 40 word 0 and bank40 word1.
> 
> and again
> 
>   since this soc uses 128bits as UID, try to use 128bits
> 
> But you are clearly stating the opposite, that bank 40, words 0 and 1, do not
> form part of the UID, a statement supported by the experimental fact that
> those words are not locked down from the factory.
> 
> Apart from the still unanswered question about what those two words then
> actually contain, represent and/or are used for, this leaves me with yet
> another question:
> 
> - What's the value of asking questions at community.nxp.com if the answers
> one can expect to get are not rooted in reality?
[Peng Fan] 

Sorry, I am wrong, RM is correct, I overlooked the fuse at address 0xe00.

Regards,
Peng.

> 
> Rasmus


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH V3] soc: imx: support i.MX93 soc device
  2023-05-24 13:30 ` [PATCH V3] soc: imx: support i.MX93 soc device Rasmus Villemoes
  2023-05-25  0:01   ` Peng Fan
@ 2023-05-27  8:20   ` Shawn Guo
  2023-05-29  3:33     ` Peng Fan
  1 sibling, 1 reply; 6+ messages in thread
From: Shawn Guo @ 2023-05-27  8:20 UTC (permalink / raw)
  To: Rasmus Villemoes
  Cc: Peng Fan (OSS), s.hauer, kernel, festevam, linux-imx,
	linux-kernel, linux-arm-kernel, Peng Fan

On Wed, May 24, 2023 at 03:30:01PM +0200, Rasmus Villemoes wrote:
> On 15/05/2023 08.37, Peng Fan (OSS) wrote:
> > From: Peng Fan <peng.fan@nxp.com>
> > 
> > i.MX93 Device Unique ID(UID) is in eFuse that could be read through
> > OCOTP Fuse Shadow Block. i.MX93 UID is 128 bits long, so introduce
> > soc_uid_high to indicate the higher 64bits.
> 
> So apparently, the imx8mp also has 128 bits, at least according to the
> reference manual, which mentions a "UNIQUE_ID[127:64]" at offset 0xe00 -
> 0xe10 (i.e. bank 40, words 0 and 1).
> 
> However, no further mention of these upper bits can be found anywhere in
> the RM, or in linux or u-boot, mainline or downstream NXP. Furthermore,
> quick experiments on both an imx8mp-evk and a custom imx8mp board
> reveals that those words are not locked down (they do seem to have some
> contents from the factory, but I can still set more bits in them).
> 
> Could someone from NXP please explain what exactly bank 40, words 0 and
> 1, on imx8mp are for? What do their initial value mean, why are they not
> locked down, and why does the RM indicate that they should be part of a
> unique_id?
> 
> Also, assuming that the RM is just wrong (wouldn't be the first time;
> the description of the lower 64 bits is also wonky in its own special
> way), an obvious follow-up question is: Are the currently exposed
> (lower) 64 bits unique among all imx8mp SOCs, i.e. does those 64 bits by
> themselves actually work as a uid?

Rasmus,

Are you fine with the patch itself?  Or do you expect more clarification
in the commit log?

Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

* RE: [PATCH V3] soc: imx: support i.MX93 soc device
  2023-05-27  8:20   ` Shawn Guo
@ 2023-05-29  3:33     ` Peng Fan
  0 siblings, 0 replies; 6+ messages in thread
From: Peng Fan @ 2023-05-29  3:33 UTC (permalink / raw)
  To: Shawn Guo, Rasmus Villemoes
  Cc: Peng Fan (OSS), s.hauer@pengutronix.de, kernel@pengutronix.de,
	festevam@gmail.com, dl-linux-imx, linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org

Hi Shawn,

> Subject: Re: [PATCH V3] soc: imx: support i.MX93 soc device
> 
> On Wed, May 24, 2023 at 03:30:01PM +0200, Rasmus Villemoes wrote:
> > On 15/05/2023 08.37, Peng Fan (OSS) wrote:
> > > From: Peng Fan <peng.fan@nxp.com>
> > >
> > > i.MX93 Device Unique ID(UID) is in eFuse that could be read through
> > > OCOTP Fuse Shadow Block. i.MX93 UID is 128 bits long, so introduce
> > > soc_uid_high to indicate the higher 64bits.
> >
> > So apparently, the imx8mp also has 128 bits, at least according to the
> > reference manual, which mentions a "UNIQUE_ID[127:64]" at offset 0xe00
> > -
> > 0xe10 (i.e. bank 40, words 0 and 1).
> >
> > However, no further mention of these upper bits can be found anywhere
> > in the RM, or in linux or u-boot, mainline or downstream NXP.
> > Furthermore, quick experiments on both an imx8mp-evk and a custom
> > imx8mp board reveals that those words are not locked down (they do
> > seem to have some contents from the factory, but I can still set more bits
> in them).
> >
> > Could someone from NXP please explain what exactly bank 40, words 0
> > and 1, on imx8mp are for? What do their initial value mean, why are
> > they not locked down, and why does the RM indicate that they should be
> > part of a unique_id?
> >
> > Also, assuming that the RM is just wrong (wouldn't be the first time;
> > the description of the lower 64 bits is also wonky in its own special
> > way), an obvious follow-up question is: Are the currently exposed
> > (lower) 64 bits unique among all imx8mp SOCs, i.e. does those 64 bits
> > by themselves actually work as a uid?
> 
> Rasmus,
> 
> Are you fine with the patch itself?  Or do you expect more clarification in the
> commit log?

Rasmus's comments is for i.MX8MP, this patch is for i.MX93.
But anyway I just sent out V4 patch to address i.MX8MP support and
then add i.MX93 support.

Thanks,
Peng.

> 
> Shawn

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-05-29  3:34 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20230515063730.2042715-1-peng.fan@oss.nxp.com>
2023-05-24 13:30 ` [PATCH V3] soc: imx: support i.MX93 soc device Rasmus Villemoes
2023-05-25  0:01   ` Peng Fan
2023-05-25  7:04     ` Rasmus Villemoes
2023-05-25  8:30       ` Peng Fan
2023-05-27  8:20   ` Shawn Guo
2023-05-29  3:33     ` Peng Fan

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).