linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Dahl <ada@thorsis.com>
To: claudiu beznea <claudiu.beznea@tuxon.dev>
Cc: linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org
Subject: Re: get, prepare, enable a clock not in DT?
Date: Mon, 2 Sep 2024 10:24:27 +0200	[thread overview]
Message-ID: <20240902-machinist-straggler-cce44ffa4a7c@thorsis.com> (raw)
In-Reply-To: <6cd18742-7ba8-4b0c-aff9-7065bccd4095@tuxon.dev>

Hello Claudiu,

Am Sat, Aug 31, 2024 at 06:49:59PM +0300 schrieb claudiu beznea:
> Hi, Alexander,
> 
> On 28.08.2024 09:55, Alexander Dahl wrote:
> > Hello Claudiu,
> > 
> > Am Fri, Aug 23, 2024 at 05:29:44PM +0300 schrieb claudiu beznea:
> >>
> >>
> >> On 20.08.2024 15:17, Alexander Dahl wrote:
> >>> By chance: I don't have a sama7g5 based board at hand for testing.
> >>> The datasheet says the same as for sam9x60.
> >>> Does the nvmem_microchip_otpc driver actually work without timeout on
> >>> sama7g5?
> >>
> >> Yes! This should be because system bus is clocked from MCK0 (as mentioned
> >> in peripheral identifiers table) which is enabled by bootloader.
> > 
> > Not sure I can follow.  Citing the SAMA7G5 datasheet section 30.4
> > (OTPC Product Dependencies):
> > 
> >     "The OTPC is clocked through the Power Management Controller
> >     (PMC). The user must power on the main RC oscillator and enable
> >     the peripheral clock of the OTPC prior to reading or writing the
> >     OTP memory."
> 
> I don't see this in [1]. Only:
> 
> "The OTPC is clocked through the Power Management Controller (PMC), so the
> programmer must first to configure the PMC."
> 
> From this I got that it is about the MCK0 listed in table Table 8-11.
> Peripheral Identifiers.
> 
> [1]
> https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA7G5-Series-Data-Sheet-DS60001765A.pdf

Well, this seems to be an older version revision A from 03/2022.
I have DS60001765B (revision B) from 12/2023 and got this here (note
the missing 'A' in the filename):

https://ww1.microchip.com/downloads/aemDocuments/documents/MPU32/ProductDocuments/DataSheets/SAMA7G5-Series-Data-Sheet-DS60001765.pdf

Linked here:

https://www.microchip.com/en-us/product/sama7g54

The revision history is not very specific, it only says "Updated Power
Management".  Errata sheet has nothing interesting on that topic.

We both cited what we saw in the datasheets.  Revision A has the
section you cited, revision B has the section I cited.

> > Table from section 8.5 (Peripheral Clocks …) has no check mark at "PMC
> > clock control" but indeed lists MCK0 as main system bus clock.
> 
> This is what I was taking about.
> 
> >  If it
> > works on SAMA7G5 without explicitly enabling main RC oscillator, then
> > either that clock is on accidentally, or the datasheet is wrong in the
> > OTPC section.
> 
> Might be.

I don't have a SAMA7G5 at hand.  Someone who has could test if OTPC
works with/without MCK0, and with/without main RC osc, all possible
combinations would be most helpful: with none of those, with only one,
only the other, both.

Hope we get this clock stuff sorted out?!

Greets
Alex

> 
> Thank you,
> Claudiu Beznea
> 
> > 
> > Personally I find the "clocked through PMC" part in the OTPC
> > section suspicious, because in the peripheral identifiers table OTPC
> > has no "PMC Clock Control" mark.
> > 
> > Not sure what's the difference between SAM9X60 and SAMA7G5 internally,
> > though.  From a user's POV it's possible one of them requires the
> > main RC osc, and the other does not, but currently you can't tell from
> > the datasheets.
> > 
> >> Here is a snapshot of reading the NVMEM on a SAMA7G5 with bootconfig and
> >> thermal calibration packets:
> >> https://www.linux4sam.org/bin/view/Linux4SAM/ThermalFaq
> > 
> > Greets
> > Alex
> > 
> 


  reply	other threads:[~2024-09-02  8:28 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-08-16 14:34 get, prepare, enable a clock not in DT? Alexander Dahl
2024-08-19 14:33 ` Alexander Dahl
2024-08-20 11:54 ` claudiu beznea
2024-08-20 12:17   ` Alexander Dahl
2024-08-20 12:20     ` Alexander Dahl
2024-08-23 14:29     ` claudiu beznea
2024-08-28  6:55       ` Alexander Dahl
2024-08-31 15:49         ` claudiu beznea
2024-09-02  8:24           ` Alexander Dahl [this message]
2024-09-04  7:33             ` claudiu beznea
2024-09-04 13:26               ` Nicolas Ferre
2024-09-04 14:43                 ` Alexander Dahl
2024-09-04 17:56                   ` Nicolas Ferre

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=20240902-machinist-straggler-cce44ffa4a7c@thorsis.com \
    --to=ada@thorsis.com \
    --cc=claudiu.beznea@tuxon.dev \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-clk@vger.kernel.org \
    --cc=linux-kernel@vger.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).