All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Walle <michael@walle.cc>
To: "Pali Rohár" <pali@kernel.org>
Cc: baruch@tkos.co.il, dgilmore@redhat.com, jon@solid-run.com,
	judge.packham@gmail.com, marek.behun@nic.cz, mario.six@gdsys.cc,
	sr@denx.de, u-boot@lists.denx.de
Subject: Re: [PATCH 5/5] arm: kirkwood: Do not overwrite CONFIG_SYS_TCLK
Date: Tue, 16 Aug 2022 22:06:22 +0200	[thread overview]
Message-ID: <f382439a1a35537a6fd6f2d438bf6bb4@walle.cc> (raw)
In-Reply-To: <20220816193851.t5gxdrpavkef62c5@pali>

Am 2022-08-16 21:38, schrieb Pali Rohár:
> On Tuesday 16 August 2022 20:17:08 Pali Rohár wrote:
>> Hello!
>> 
>> On Tuesday 16 August 2022 11:37:48 Michael Walle wrote:
>> > Hi!
>> >
>> > > On Sunday 01 August 2021 20:07:16 Chris Packham wrote:
>> > > > On Sun, Aug 1, 2021 at 12:23 AM Pali Rohár <pali@kernel.org> wrote:
>> > > > >
>> > > > > Config option CONFIG_SYS_TCLK is set by kw88f6281.h and kw88f6192.h files
>> > > > > to correct SOC/platform value. So do not overwrite it in board config
>> > > > > include files.
>> > > > >
>> > > > > Kirkwood 88F6180 and 88F6192 uses 166 MHz TCLK and Kirkwood 88F6281 uses
>> > > > > 200 MHz TCLK.
>> > > > >
>> > > >
>> > > > It's been a while since I worked with kirkwood but I thought that
>> > > > there was hardware strapping for the TCLK.
>> > >
>> > > Interesting... Because I took above information from Kirkwood hardware specifications...
>> > >
>> > > 88F6180: https://web.archive.org/web/20130730091654/http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6180_OpenSource.pdf
>> > > 88F6192: https://web.archive.org/web/20121021182835/http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F619x_OpenSource.pdf
>> > > 88F6281: https://web.archive.org/web/20120620073511/http://www.marvell.com/embedded-processors/kirkwood/assets/HW_88F6281_OpenSource.pdf
>> > >
>> > > And there are specified fixed TCLK values.
>> >
>> > Nope, this breaks my lsxl (specifically the LSCHLv2) board. The TCLK is
>> > 166MHz there.
>> 
>> Ou, sorry for that.
>> 
>> > > > If I understand correctly
>> > > > the defines in kw88f6281.h/kw88f6192.h were sensible defaults but
>> > > > boards were able to override it to reflect the hardware configuration.
>> > >
>> > > Anyway, I think that this patch should not cause issue as it is changing
>> > > only two board config files and removing redefinition of CONFIG_SYS_TCLK
>> > > macro which is set to the same value as in kw88f61**.h files.
>> >
>> > At least for the lsxl and the NET2BIG_V2 this is not correct. Both have
>> > the 88F6281 and both use have a 166MHz TCLK clock.
>> 
>> Interesting... because this contradicts publicly available
>> documentation. Maybe in NDA doc is some more details?
>> 
>> > Anyway, I'm reverting this patch. The only open question is, should I
>> > convert the TCLK to a Kconfig option?
>> 
>> In this case it would be better to detect TCLK from some SAR register,
>> like it is already implemented for other Armada SoCs.
>> 
>> Just by a chance, do you have some "better" 88F6281 documentation? If
>> there is some TCLK information or SAR register description. In 
>> publicly
>> available FS_88F6180_9x_6281_OpenSource.pdf there is 0x10030 Sample at
>> Reset Register, but nothing TCLK related.
>> 
>> At least BootROM has to detect TCLK because UART clock is derived from
>> TCLK and BootROM supports UART booting via 115200 baudrate. In case 
>> you
>> can provide me 88F6281 BootROM dump from your board, I can try to find
>> code which configures UART and detect TCLK. I have already did it for
>> 88F6820 (A385) to verify that U-Boot code detects TCLK in the same way
>> as BootROM.
> 
> Meanwhile I have found following email thread:
> https://lore.kernel.org/linux-arm-kernel/20121020113800.GC21046@lunn.ch/t/#u
> 
> Where are more 6281 boards with 166 MHz TCLK and there is interesting 
> output:
> $ dmesg | grep -i tclk
> [    5.851008] Kirkwood: MV88F6281-A0, TCLK=200000000
> 
> Which means that old kernel version had TCLK detection code. I grepped
> git linux history and I successfully found it:
> https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/arm/mach-kirkwood/common.c?h=v3.15#n542
> 
> #define  SAMPLE_AT_RESET   (DEV_BUS_VIRT_BASE + 0x0030)
> 
> static int __init kirkwood_find_tclk(void)
> {
> 	u32 dev, rev;
> 
> 	kirkwood_pcie_id(&dev, &rev);
> 
> 	if (dev == MV88F6281_DEV_ID || dev == MV88F6282_DEV_ID)
> 		if (((readl(SAMPLE_AT_RESET) >> 21) & 1) == 0)
> 			return 200000000;
> 
> 	return 166666667;
> }
> 
> So for TCLK detection is used BIT 21 of already mentioned 0x10030 
> Sample
> at Reset Register.

Seems like you beat me, while I was typing my former mail ;)

-michael

  parent reply	other threads:[~2022-08-16 20:06 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-31 12:22 [PATCH 0/5] arm: mvebu: Automatically detect CONFIG_SYS_TCLK Pali Rohár
2021-07-31 12:22 ` [PATCH 1/5] arm: mvebu: a38x: Detect CONFIG_SYS_TCLK from SAR register Pali Rohár
2021-08-02  6:33   ` Stefan Roese
2021-07-31 12:22 ` [PATCH 2/5] arm: mvebu: a37x: " Pali Rohár
2021-08-02  6:33   ` Stefan Roese
2021-07-31 12:22 ` [PATCH 3/5] arm: mvebu: msys: Set CONFIG_SYS_TCLK globally Pali Rohár
2021-08-02  6:34   ` Stefan Roese
2021-07-31 12:22 ` [PATCH 4/5] arm: mvebu: axp: " Pali Rohár
2021-08-02  6:35   ` Stefan Roese
2021-07-31 12:22 ` [PATCH 5/5] arm: kirkwood: Do not overwrite CONFIG_SYS_TCLK Pali Rohár
2021-08-01  8:07   ` Chris Packham
2021-08-01 10:25     ` Pali Rohár
2022-08-16  9:37       ` Michael Walle
2022-08-16 18:17         ` Pali Rohár
2022-08-16 19:38           ` Pali Rohár
2022-08-16 20:02             ` Pali Rohár
2022-08-16 20:06             ` Michael Walle [this message]
2022-08-16 20:05           ` Michael Walle
2021-08-02  6:35   ` Stefan Roese
2021-08-11  8:27 ` [PATCH 0/5] arm: mvebu: Automatically detect CONFIG_SYS_TCLK Stefan Roese

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=f382439a1a35537a6fd6f2d438bf6bb4@walle.cc \
    --to=michael@walle.cc \
    --cc=baruch@tkos.co.il \
    --cc=dgilmore@redhat.com \
    --cc=jon@solid-run.com \
    --cc=judge.packham@gmail.com \
    --cc=marek.behun@nic.cz \
    --cc=mario.six@gdsys.cc \
    --cc=pali@kernel.org \
    --cc=sr@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.