From: Sudeep Holla <sudeep.holla@arm.com>
To: Liviu Dudau <Liviu.Dudau@arm.com>
Cc: Sudeep Holla <sudeep.holla@arm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-pm@vger.kernel.org" <linux-pm@vger.kernel.org>,
"linux-clk@vger.kernel.org" <linux-clk@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
"Jon Medhurst (Tixy)" <tixy@linaro.org>,
Arnd Bergmann <arnd@arndb.de>, Kevin Hilman <khilman@kernel.org>,
Olof Johansson <olof@lixom.net>
Subject: Re: [PATCH v4 6/8] arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno
Date: Wed, 22 Jul 2015 17:16:48 +0100 [thread overview]
Message-ID: <55AFC1F0.1080207@arm.com> (raw)
In-Reply-To: <20150722160625.GJ14923@e106497-lin.cambridge.arm.com>
On 22/07/15 17:06, Liviu Dudau wrote:
> On Wed, Jul 22, 2015 at 04:40:30PM +0100, Sudeep Holla wrote:
>>
>>
>> On 22/07/15 14:28, Liviu Dudau wrote:
>>> On Mon, Jun 08, 2015 at 11:40:00AM +0100, Sudeep Holla wrote:
>>>> This patch adds support for the MHU mailbox peripheral used on Juno by
>>>> application processors to communicate with remote SCP handling most of
>>>> the CPU/system power management. It also adds the SRAM reserving the
>>>> shared memory and SCPI message protocol using that shared memory.
>>>>
>>>> Cc: Liviu Dudau <Liviu.Dudau@arm.com>
>>>> Cc: Jon Medhurst (Tixy) <tixy@linaro.org>
>>>> Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
>>>> ---
>>>> arch/arm64/boot/dts/arm/juno-base.dtsi | 31 +++++++++++++++++++++++++++++++
>>>> arch/arm64/boot/dts/arm/juno-clocks.dtsi | 23 +++++++++++++++++++++++
>>>> 2 files changed, 54 insertions(+)
>>>>
>>
>> [..]
>>
>>>> diff --git a/arch/arm64/boot/dts/arm/juno-clocks.dtsi b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
>>>> index 25352ed943e6..64af7370815a 100644
>>>> --- a/arch/arm64/boot/dts/arm/juno-clocks.dtsi
>>>> +++ b/arch/arm64/boot/dts/arm/juno-clocks.dtsi
>>>> @@ -42,3 +42,26 @@
>>>> clock-frequency = <400000000>;
>>>> clock-output-names = "faxi_clk";
>>>> };
>>>> +
>>>> + scpi {
>>>> + compatible = "arm,scpi";
>>>> + mboxes = <&mailbox 1>;
>>>> + shmem = <&cpu_scp_hpri>;
>>>> +
>>>> + clocks {
>>>> + compatible = "arm,scpi-clocks";
>>>> +
>>>> + scpi_dvfs: scpi_clocks@0 {
>>>> + compatible = "arm,scpi-dvfs-clocks";
>>>> + #clock-cells = <1>;
>>>> + clock-indices = <0>, <1>, <2>;
>>>> + clock-output-names = "vbig", "vlittle", "vgpu";
>>>> + };
>>>> + scpi_clk: scpi_clocks@3 {
>>>> + compatible = "arm,scpi-variable-clocks";
>>>> + #clock-cells = <1>;
>>>> + clock-indices = <3>, <4>;
>>>
>>> Subject to you addressing Mark's comments regarding the indices values (maybe choose
>>> a different property to show the fact that the index is actually an SCPI index
>>> rather than the clock's), you can add my
>>>
>>
>> I don't understand why we need to do that. I will anyway follow up on
>> that thread.
>
> Because indices are per clock node, i.e. spi_clk should have clock-indices = <0>, <1>.
> Of course, you could have a gap in the indices, but that is both awkard and not clearly
> explained in this documentation.
>
Hmm, is it not clear ? I am fine to reword it.
clock-indices: The *identifying number* for the clocks(clock_id) in the
node as *expected by the firmware*. It can be non linear and hence
provide the mapping of identifiers into the clock-output-names array.
> The index that you declare here is actually what you pass to SCPI. But the way the device
> tree is presented it declares that there are two clock blocks, one for DVFS and one for
> PXLCLK. As far as SCPI is concerned there is only one block of clocks, with 3 of them
> having a discrete set of values, so we are at the intersection of two concepts.
>
Agreed. The clock-indices is associated with the clock provider which in
this case is SCPI.
The clock specifier is associated with the clock consumer and all it
needs to know is which one in the list of clock output am I referring
to(i.e. the standard definition decoded using of_clk_src_onecell_get
> BTW, for what is worth, the PXLCLK is not really that smooth in its coverage of the range.
> It might have more accepted frequency values, but the way it is implemented it tends to
> favour VESA clock values and falls back to a really slow algorithm to generate all other
> values. Even so, it can fail to find the correct parameters for the PLLs so it will generate
> a frequency that is different from the requested one.
I don't quite get the context of this info here, but thanks for that :).
I think most of the clock providers have this limitation and round_rate
will handle it. Since SCPI specification doesn't provide a mechanism to
query that, we can't handle it. Hopefully we get that in newer versions
of the specification ;)
Regards,
Sudeep
next prev parent reply other threads:[~2015-07-22 16:16 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-08 10:39 [PATCH v4 0/8] ARM64: juno: add SCPI mailbox protocol, clock and CPUFreq support Sudeep Holla
2015-06-08 10:39 ` [PATCH v4 1/8] Documentation: add DT binding for ARM System Control and Power Interface(SCPI) protocol Sudeep Holla
2015-07-08 13:59 ` Sudeep Holla
2015-07-22 8:43 ` Liviu Dudau
2015-07-22 9:25 ` Sudeep Holla
2015-07-22 9:55 ` Mark Rutland
2015-07-22 15:56 ` Sudeep Holla
2015-07-22 16:23 ` Mark Rutland
2015-06-08 10:39 ` [PATCH v4 2/8] firmware: add support " Sudeep Holla
2015-06-11 11:54 ` Jassi Brar
2015-06-11 13:23 ` Sudeep Holla
2015-06-08 10:39 ` [PATCH v4 3/8] clk: add support for clocks provided by SCP(System Control Processor) Sudeep Holla
2015-07-02 17:23 ` Stephen Boyd
2015-07-03 14:52 ` Sudeep Holla
2015-07-03 16:12 ` Sudeep Holla
2015-07-06 19:52 ` Stephen Boyd
2015-07-07 16:03 ` Sudeep Holla
2015-07-08 1:46 ` Stephen Boyd
2015-07-16 16:11 ` Sudeep Holla
2015-07-16 19:31 ` Stephen Boyd
2015-07-17 11:17 ` Sudeep Holla
2015-07-17 18:13 ` Stephen Boyd
2015-07-20 8:54 ` Sudeep Holla
2015-07-21 18:05 ` Stephen Boyd
2015-07-22 14:19 ` Sudeep Holla
2015-06-08 10:39 ` [PATCH v4 4/8] clk: scpi: add support for cpufreq virtual device Sudeep Holla
2015-06-08 10:39 ` [PATCH v4 5/8] cpufreq: arm_big_little: add SCPI interface driver Sudeep Holla
2015-06-08 10:40 ` [PATCH v4 6/8] arm64: dts: add SRAM, MHU mailbox and SCPI support on Juno Sudeep Holla
2015-06-08 13:51 ` Jon Medhurst (Tixy)
2015-06-08 14:32 ` Sudeep Holla
2015-06-08 14:35 ` Liviu Dudau
2015-07-22 13:28 ` Liviu Dudau
2015-07-22 15:40 ` Sudeep Holla
2015-07-22 16:06 ` Liviu Dudau
2015-07-22 16:16 ` Sudeep Holla [this message]
2015-06-08 10:40 ` [PATCH v4 7/8] arm64: dts: add CPU topology " Sudeep Holla
2015-07-22 13:31 ` Liviu Dudau
2015-06-08 10:40 ` [PATCH v4 8/8] arm64: dts: add clock support for all the cpus Sudeep Holla
2015-07-22 13:32 ` Liviu Dudau
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=55AFC1F0.1080207@arm.com \
--to=sudeep.holla@arm.com \
--cc=Liviu.Dudau@arm.com \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=arnd@arndb.de \
--cc=khilman@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=olof@lixom.net \
--cc=tixy@linaro.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).