[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YLdPJk+RBNmw3zJz@atomide.com>
Date: Wed, 2 Jun 2021 12:28:06 +0300
From: Tony Lindgren <tony@...mide.com>
To: Sven Peter <sven@...npeter.dev>
Cc: Rob Herring <robh+dt@...nel.org>, devicetree@...r.kernel.org,
linux-clk <linux-clk@...r.kernel.org>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Hector Martin <marcan@...can.st>,
Michael Turquette <mturquette@...libre.com>,
Stephen Boyd <sboyd@...nel.org>,
Mark Kettenis <mark.kettenis@...all.nl>,
Arnd Bergmann <arnd@...nel.org>
Subject: Re: [PATCH 0/3] Apple M1 clock gate driver
* Sven Peter <sven@...npeter.dev> [210530 11:11]:
> The problem with that approach is that to enable e.g. UART_0 we actually need
> to enable its parents as well, e.g. the Apple Device Tree for the M1 has the
> following clock topology:
>
> UART0 (0x23b700270), parent: UART_P
> UART_P (0x23b700220), parent: SIO
> SIO (0x23b7001c0), parent: n/a
>
> The offsets and the parent/child relationship for all of these three clocks
> change between SoCs. If I now use the offset as the clock id I still need
> to specify that if e.g. UART uses <&clk_controller 0x270> I first need
> to enable 0x1c0 and then 0x220 and only then 0x270.
Maybe take a look what I suggested on using assigned-clocks and related
properties in the clock controller node. That might solve the issue in
a generic way for other SoCs too.
Regards,
Tony
Powered by blists - more mailing lists