public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Stefano Babic <sbabic@denx.de>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 1/2] doc: README.fuse: Add an example on how to use the fuse API on mx6q
Date: Thu, 19 Dec 2013 10:49:19 +0100	[thread overview]
Message-ID: <52B2C11F.3060901@denx.de> (raw)
In-Reply-To: <261565228.157501.1387315088236.JavaMail.zimbra@advansee.com>

Hi Beno?t, hi Fabio,

On 17/12/2013 22:18, Beno?t Th?baudeau wrote:
> Hi Fabio,
> 
> On Tuesday, December 17, 2013 9:03:40 PM, Fabio Estevam wrote:
>> From: Fabio Estevam <fabio.estevam@freescale.com>
>>
>> When using the fuse API in U-boot user must calculate the 'bank' and 'word'
>> values.
>>
>> Provide a real example on how to calculate such values for the mx6q.
>>
>> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
>> ---
>>  doc/README.fuse | 57
>>  +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
>>  1 file changed, 57 insertions(+)
>>
>> diff --git a/doc/README.fuse b/doc/README.fuse
>> index 1bc91c4..aca1e5e 100644
>> --- a/doc/README.fuse
>> +++ b/doc/README.fuse
>> @@ -65,3 +65,60 @@ Configuration:
>>  
>>     CONFIG_CMD_FUSE
>>        Define this to enable the fuse commands.
>> +
>> +Example:
>> +
>> +For reading the MAC address fuses on a MX6Q:
>> +
>> +- The MAC address are stored in two fuse addresses (the fuse addresses are
>> +described in the Fusemap Descriptions table from the mx6q Reference Manual):
>> +
>> +0x620[31:0] - MAC_ADDR[31:0]
>> +0x630[15:0] - MAC_ADDR[47:32]
>> +
>> +In order to use the fuse API, we need to pass the bank and word values,
>> which
>> +are calculated as below:
>> +
>> +Fuse address for the lower MAC address: 0x620
>> +Base address for the fuses: 0x400
>> +
>> +(0x620 - 0x400)/0x10 = 0x22 = 34 decimal
>> +
>> +As the fuses are arranged in banks of 8 words:
>> +
>> +34 / 8 = 4 and the remainder is 2, so in this case:
>> +
>> +bank = 4
>> +word = 2
>> +
>> +And the U-boot command would be:
>> +
>> +=> fuse read 4 2
>> +Reading bank 4:
>> +
>> +Word 0x00000002: 9f027772
>> +
>> +Doing the same for the upper MAC address:
>> +
>> +Fuse address for the upper MAC address: 0x630
>> +Base address for the fuses: 0x400
>> +
>> +(0x630 - 0x400)/0x10 = 0x23 = 35 decimal
>> +
>> +As the fuses are arranged in banks of 8 words:
>> +
>> +35 / 8 = 4 and the remainder is 3, so in this case:
>> +
>> +bank = 4
>> +word = 3
>> +
>> +And the U-boot command would be:
>> +
>> +=> fuse read 4 3
>> +Reading bank 4:
>> +
>> +Word 0x00000003: 00000004
>> +
>> +,which matches the ethaddr value:
>> +=> echo ${ethaddr}
>> +00:04:9f:02:77:72
>> --
>> 1.8.1.2
> 
> Note that the documentation in this file is also completed for i.MX6 by
> doc/README.mxc_ocotp and doc/README.imx6, as explained in each README. The
> information that you add here regarding the location of the MAC fuses for i.MX6Q
> is already present in doc/README.imx6.

This is true, but the current documentation is poor. I like that Fabio
adds a real example, providing a better understanding.

IMHO we should avoid to add a new file, if (as it is), this patch is
only for i.MX6. Putting it in README.imx6 seems the best solution.

> 
> Regarding the 'calculation' part, it is actually not needed since the values
> obtained with these calculations are already given by the reference manual in
> '46.5 OCOTP Memory Map/Register Definition'.

A reference is not bad, but of course documentation is changing. I was
working with manual 04/2013, and there is not an example - only "empty
example".
Anyway, most people is searching exactly how to store in SOC the MAC
address - not how to write another fuse. I think it is a good idea to
add the MAC's example, because it is what most people are looking for.

> 
> Examples could still be interesting though. What do you think?
>  - Should the calculation part be removed and replaced with a reference to the
>    RM ?46.5 be added?

I will add only a refererence, but I will let the example.

>  - Should this example be moved to doc/README.imx6,

+1, as the example is only for i.MX6.

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

  reply	other threads:[~2013-12-19  9:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-17 20:03 [U-Boot] [PATCH 1/2] doc: README.fuse: Add an example on how to use the fuse API on mx6q Fabio Estevam
2013-12-17 20:03 ` [U-Boot] [PATCH 2/2] mx6sabre_common.h: Add CONFIG_CMD_FUSE support Fabio Estevam
2013-12-17 21:31   ` Benoît Thébaudeau
2013-12-17 21:18 ` [U-Boot] [PATCH 1/2] doc: README.fuse: Add an example on how to use the fuse API on mx6q Benoît Thébaudeau
2013-12-19  9:49   ` Stefano Babic [this message]
2013-12-20 20:48     ` Fabio Estevam

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=52B2C11F.3060901@denx.de \
    --to=sbabic@denx.de \
    --cc=u-boot@lists.denx.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