From: Eric Nelson <eric.nelson@boundarydevices.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 3/5] Add fuse API and commands
Date: Tue, 27 Nov 2012 09:58:19 -0700 [thread overview]
Message-ID: <50B4F12B.7030703@boundarydevices.com> (raw)
In-Reply-To: <50B46989.6030708@de.bosch.com>
On 11/27/2012 12:19 AM, Dirk Behme wrote:
> On 26.11.2012 17:03, Beno?t Th?baudeau wrote:
>> Hi Eric, all,
>>
>> On Thursday, August 23, 2012 3:23:20 PM, Eric Nelson wrote:
>>> On 08/23/2012 03:31 AM, Stefano Babic wrote:
>>>> On 22/08/2012 12:43, Dirk Behme wrote:
>>>>> On 14.08.2012 14:52, Beno?t Th?baudeau wrote:
>>>>>> This can be useful for fuse-like hardware, OTP SoC options, etc.
>>>>> For i.MX6, I have a port of the OTP support from Freescale's
>>>>> U-Boot to
>>>>> our mainline U-Boot in the queue [1].
>>>>>
>>>>> As I don't have the overview over the various i.MXxx SoCs and
>>>>> don't
>>>>> understand much of this patch below: Should this implement the
>>>>> same
>>>>> functionality like my patch [1] for i.MX6?
>>>> I have not checked the details. but seeing the code it looks that
>>>> the
>>>> procedure to read / write are different. In this case, a further
>>>> driver
>>>> is ok.
>>>>
>>>> Anyway, you should take a look if your patches can be used on a mxs
>>>> (MX28) device, because they should be closer. And then I will not
>>>> like
>>>> to have a driver for each SOC.
>>>>
>>>> Generally, I think we should use the approach of the common command
>>>> and
>>>> a specific fuse implementation. Then this API should be used by
>>>> your
>>>> patches as well.
>>>>
>>> I agree.
>>>
>>> The use of the fuse API will likely result in more code than the
>>> imxotp implementation, and more importantly, it will make the usage
>>> more confusing by introducing terms bank and row.
>>>
>>> Reading and writing fuses is probably not an area that we want
>>> confusion.
>>
>> I am looking again into this question now that I have the i.MX6 reference
>> manual.
>>
>> I don't see any difference between IIM and OCOTP features:
>> - There are still banks: They exist as seen from the controller, even
>> if they
>> don't exist physically in the efusebox. See 46.2.1 and OCOTP memory
>> map
>> ("Value of OTP Bankx Wordy" shadow registers).
>> - Rows are named words.
>> - The read operations are read accesses to the shadow registers.
>> - The sense operations are direct fuse reads (shadow reload + read), as
>> explained by the steps in 46.2.1.2.
>> - The prog operations are the programming of the fuses, as explained
>> by the
>> steps in 46.2.1.3.
>> - The override operations are simple write accesses to the shadow
>> registers, as
>> explained in 46.2.1.3.
>>
>> As to the vocabulary used, the differences are:
>> - "row" -> "word".
>> - "sense" -> "direct read".
>>
>> Hence, the fuse API applies very well in this case too.
>
> Do you like to update/rebase your patches to the latest U-Boot and
> re-send? Maybe it makes sense to discuss your patches again, then?
>
> Eric: What do you think?
>
Hi Benoit and Dirk,
I don't have strong feelings one way or the other. If left to
me, I'd probably stick with the imxotp command, but Beno?t has
clearly walked through the details and we're not talking about
a lot of code either way.
Either way, this needs a general 'readme' for the fuse command
conventions and some per-arch documentation about how to translate
between the reference manual and the command.
It also seems appropriate to have documentation somewhere about
the conventions used for things like mac address storage. AFAIK,
the only place to find the mapping of OTP locations used for this
is in the various bits of code that implement it.
Regards,
Eric
next prev parent reply other threads:[~2012-11-27 16:58 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-14 12:51 [U-Boot] [PATCH 0/5] Make iim support common to mpc and imx Benoît Thébaudeau
2012-08-14 12:52 ` [U-Boot] [PATCH 1/5] imx iim: Homogenize and fix register definitions Benoît Thébaudeau
2012-11-27 13:30 ` [U-Boot] [PATCH v2 " Benoît Thébaudeau
2012-11-27 13:30 ` [U-Boot] [PATCH v2 2/5] imx iim: Add useful fuse definitions Benoît Thébaudeau
2012-11-27 13:31 ` [U-Boot] [PATCH v2 3/5] Add fuse API and commands Benoît Thébaudeau
2012-11-27 13:31 ` [U-Boot] [PATCH v2 4/5] Add fsl_iim driver Benoît Thébaudeau
2012-11-27 13:32 ` [U-Boot] [PATCH v2 5/5] mpc iim: Switch to common fsl_iim Benoît Thébaudeau
2013-03-18 12:07 ` [U-Boot] [PATCH v2 1/5] imx iim: Homogenize and fix register definitions Stefano Babic
2013-03-18 12:08 ` Benoît Thébaudeau
2013-03-18 12:13 ` Benoît Thébaudeau
2012-08-14 12:52 ` [U-Boot] [PATCH 2/5] imx iim: Add useful fuse definitions Benoît Thébaudeau
2012-08-14 12:52 ` [U-Boot] [PATCH 3/5] Add fuse API and commands Benoît Thébaudeau
2012-08-21 8:11 ` Stefano Babic
2012-08-21 10:14 ` Benoît Thébaudeau
2012-08-22 10:43 ` Dirk Behme
2012-08-22 11:11 ` Benoît Thébaudeau
2012-08-22 16:25 ` Dirk Behme
2012-08-22 16:53 ` Benoît Thébaudeau
2012-08-23 10:31 ` Stefano Babic
2012-08-23 13:23 ` Eric Nelson
2012-11-26 16:03 ` Benoît Thébaudeau
2012-11-27 7:19 ` Dirk Behme
2012-11-27 16:58 ` Eric Nelson [this message]
2012-11-27 18:27 ` Benoît Thébaudeau
2012-11-27 18:36 ` Eric Nelson
2012-11-27 19:23 ` Benoît Thébaudeau
2012-11-27 19:54 ` Eric Nelson
2012-12-03 9:03 ` Stefano Babic
2012-12-03 11:25 ` Benoît Thébaudeau
2012-12-03 11:41 ` Stefano Babic
2012-08-14 12:52 ` [U-Boot] [PATCH 4/5] Add fsl_iim driver Benoît Thébaudeau
2012-08-21 8:13 ` Stefano Babic
2012-08-21 12:56 ` Benoît Thébaudeau
2012-08-21 13:41 ` Stefano Babic
2012-08-14 12:53 ` [U-Boot] [PATCH 5/5] mpc iim: Switch to common fsl_iim Benoît Thébaudeau
2012-08-15 14:30 ` Benoît Thébaudeau
2012-08-21 8:15 ` Stefano Babic
2012-11-05 20:05 ` Benoît Thébaudeau
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=50B4F12B.7030703@boundarydevices.com \
--to=eric.nelson@boundarydevices.com \
--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