* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
@ 2017-03-28 11:48 Jon Hunter
2017-03-28 14:55 ` Sudeep Holla
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Jon Hunter @ 2017-03-28 11:48 UTC (permalink / raw)
To: linux-arm-kernel
Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
all CPUs can be enabled on boot. This assumes that the PSCI firmware
has been loaded during the initial bootstrap on the device before the
kernel starts (which is typically the case for these platforms). The
PSCI firmware version is set to v0.2 which aligns with the current
shipping version for Tegra.
Reported-by: Martin Michlmayr <tbm@cyrius.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
---
arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 23 +++++++++++++++++++++++
arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 24 ++++++++++++++++++++++++
2 files changed, 47 insertions(+)
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
index 906fb836d241..de1696c28140 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
@@ -296,6 +296,29 @@
};
};
+ cpus {
+ cpu at 0 {
+ enable-method = "psci";
+ };
+
+ cpu at 1 {
+ enable-method = "psci";
+ };
+
+ cpu at 2 {
+ enable-method = "psci";
+ };
+
+ cpu at 3 {
+ enable-method = "psci";
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
regulators {
vdd_gpu: regulator at 100 {
compatible = "pwm-regulator";
diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
index 0ec92578cacb..67cb039965fd 100644
--- a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
+++ b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
@@ -51,4 +51,28 @@
clock-frequency = <32768>;
};
};
+
+ cpus {
+ cpu at 0 {
+ enable-method = "psci";
+ };
+
+ cpu at 1 {
+ enable-method = "psci";
+ };
+
+ cpu at 2 {
+ enable-method = "psci";
+ };
+
+ cpu at 3 {
+ enable-method = "psci";
+ };
+ };
+
+ psci {
+ compatible = "arm,psci-0.2";
+ method = "smc";
+ };
+
};
--
2.7.4
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 11:48 [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms Jon Hunter
@ 2017-03-28 14:55 ` Sudeep Holla
2017-03-28 15:32 ` Jon Hunter
2017-03-28 16:23 ` Stephen Warren
2017-04-09 2:22 ` Vagrant Cascadian
2 siblings, 1 reply; 8+ messages in thread
From: Sudeep Holla @ 2017-03-28 14:55 UTC (permalink / raw)
To: linux-arm-kernel
On 28/03/17 12:48, Jon Hunter wrote:
> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
> all CPUs can be enabled on boot. This assumes that the PSCI firmware
> has been loaded during the initial bootstrap on the device before the
> kernel starts (which is typically the case for these platforms). The
> PSCI firmware version is set to v0.2 which aligns with the current
> shipping version for Tegra.
>
> Reported-by: Martin Michlmayr <tbm@cyrius.com>
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
> ---
> arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 23 +++++++++++++++++++++++
> arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 24 ++++++++++++++++++++++++
> 2 files changed, 47 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
> index 906fb836d241..de1696c28140 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
> @@ -296,6 +296,29 @@
> };
> };
>
> + cpus {
> + cpu at 0 {
> + enable-method = "psci";
Is some firmware expected to populate other required properties ?
If yes, why not populate everything in the firmware ?
If no, how does it even boot secondaries without the "reg" property
that usually contains MPIDR.
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 14:55 ` Sudeep Holla
@ 2017-03-28 15:32 ` Jon Hunter
2017-03-28 15:37 ` Sudeep Holla
0 siblings, 1 reply; 8+ messages in thread
From: Jon Hunter @ 2017-03-28 15:32 UTC (permalink / raw)
To: linux-arm-kernel
On 28/03/17 15:55, Sudeep Holla wrote:
> On 28/03/17 12:48, Jon Hunter wrote:
>> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
>> all CPUs can be enabled on boot. This assumes that the PSCI firmware
>> has been loaded during the initial bootstrap on the device before the
>> kernel starts (which is typically the case for these platforms). The
>> PSCI firmware version is set to v0.2 which aligns with the current
>> shipping version for Tegra.
>>
>> Reported-by: Martin Michlmayr <tbm@cyrius.com>
>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
>> ---
>> arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 23 +++++++++++++++++++++++
>> arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 24 ++++++++++++++++++++++++
>> 2 files changed, 47 insertions(+)
>>
>> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
>> index 906fb836d241..de1696c28140 100644
>> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
>> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
>> @@ -296,6 +296,29 @@
>> };
>> };
>>
>> + cpus {
>> + cpu at 0 {
>> + enable-method = "psci";
>
> Is some firmware expected to populate other required properties ?
>
> If yes, why not populate everything in the firmware ?
>
> If no, how does it even boot secondaries without the "reg" property
> that usually contains MPIDR.
Please see 'arch/arm64/boot/dts/nvidia/tegra210.dtsi' which has these
fields. So far we have been populating the psci information at the board
level and so I have kept with that here and so the above is just the
delta. Maybe the $subject could be a little clearer!
Jon
--
nvpublic
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 15:32 ` Jon Hunter
@ 2017-03-28 15:37 ` Sudeep Holla
0 siblings, 0 replies; 8+ messages in thread
From: Sudeep Holla @ 2017-03-28 15:37 UTC (permalink / raw)
To: linux-arm-kernel
On 28/03/17 16:32, Jon Hunter wrote:
>
> On 28/03/17 15:55, Sudeep Holla wrote:
>> On 28/03/17 12:48, Jon Hunter wrote:
>>> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
>>> all CPUs can be enabled on boot. This assumes that the PSCI firmware
>>> has been loaded during the initial bootstrap on the device before the
>>> kernel starts (which is typically the case for these platforms). The
>>> PSCI firmware version is set to v0.2 which aligns with the current
>>> shipping version for Tegra.
>>>
>>> Reported-by: Martin Michlmayr <tbm@cyrius.com>
>>> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
>>> ---
>>> arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 23 +++++++++++++++++++++++
>>> arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 24 ++++++++++++++++++++++++
>>> 2 files changed, 47 insertions(+)
>>>
>>> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
>>> index 906fb836d241..de1696c28140 100644
>>> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
>>> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
>>> @@ -296,6 +296,29 @@
>>> };
>>> };
>>>
>>> + cpus {
>>> + cpu at 0 {
>>> + enable-method = "psci";
>>
>> Is some firmware expected to populate other required properties ?
>>
>> If yes, why not populate everything in the firmware ?
>>
>> If no, how does it even boot secondaries without the "reg" property
>> that usually contains MPIDR.
>
> Please see 'arch/arm64/boot/dts/nvidia/tegra210.dtsi' which has these
> fields. So far we have been populating the psci information at the board
> level and so I have kept with that here and so the above is just the
> delta. Maybe the $subject could be a little clearer!
Sorry for the noise, I traversed files/headers upwards and missed
the innermost tegra210.dtsi :(
--
Regards,
Sudeep
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 11:48 [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms Jon Hunter
2017-03-28 14:55 ` Sudeep Holla
@ 2017-03-28 16:23 ` Stephen Warren
2017-03-28 16:49 ` Jon Hunter
2017-04-09 2:22 ` Vagrant Cascadian
2 siblings, 1 reply; 8+ messages in thread
From: Stephen Warren @ 2017-03-28 16:23 UTC (permalink / raw)
To: linux-arm-kernel
On 03/28/2017 05:48 AM, Jon Hunter wrote:
> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
> all CPUs can be enabled on boot. This assumes that the PSCI firmware
> has been loaded during the initial bootstrap on the device before the
> kernel starts (which is typically the case for these platforms). The
> PSCI firmware version is set to v0.2 which aligns with the current
> shipping version for Tegra.
This seems fine, although I'd expect PSCI to be used everywhere on
Tegra, so putting this in tegra210.dtsi would make more sense.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 16:23 ` Stephen Warren
@ 2017-03-28 16:49 ` Jon Hunter
2017-03-28 18:54 ` Mark Rutland
0 siblings, 1 reply; 8+ messages in thread
From: Jon Hunter @ 2017-03-28 16:49 UTC (permalink / raw)
To: linux-arm-kernel
On 28/03/17 17:23, Stephen Warren wrote:
> On 03/28/2017 05:48 AM, Jon Hunter wrote:
>> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
>> all CPUs can be enabled on boot. This assumes that the PSCI firmware
>> has been loaded during the initial bootstrap on the device before the
>> kernel starts (which is typically the case for these platforms). The
>> PSCI firmware version is set to v0.2 which aligns with the current
>> shipping version for Tegra.
>
> This seems fine, although I'd expect PSCI to be used everywhere on
> Tegra, so putting this in tegra210.dtsi would make more sense.
It's fine with me. Although technically, tegra210-smaug ships with
psci-v1.0 and tegra210-jetson-tx1 currently have psci-v0.2. However, I
did test both with the psci version set to v1.0 and the jetson-tx1, did
detect the version automatically and reverted to v0.2 (which is a
feature of psci >= v0.2). For Tegra186 we also have the psci node in the
tegra186-p3310.dtsi.
Jon
--
nvpublic
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 16:49 ` Jon Hunter
@ 2017-03-28 18:54 ` Mark Rutland
0 siblings, 0 replies; 8+ messages in thread
From: Mark Rutland @ 2017-03-28 18:54 UTC (permalink / raw)
To: linux-arm-kernel
On Tue, Mar 28, 2017 at 05:49:41PM +0100, Jon Hunter wrote:
>
> On 28/03/17 17:23, Stephen Warren wrote:
> > On 03/28/2017 05:48 AM, Jon Hunter wrote:
> >> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
> >> all CPUs can be enabled on boot. This assumes that the PSCI firmware
> >> has been loaded during the initial bootstrap on the device before the
> >> kernel starts (which is typically the case for these platforms). The
> >> PSCI firmware version is set to v0.2 which aligns with the current
> >> shipping version for Tegra.
> >
> > This seems fine, although I'd expect PSCI to be used everywhere on
> > Tegra, so putting this in tegra210.dtsi would make more sense.
>
> It's fine with me. Although technically, tegra210-smaug ships with
> psci-v1.0 and tegra210-jetson-tx1 currently have psci-v0.2. However, I
> did test both with the psci version set to v1.0 and the jetson-tx1, did
> detect the version automatically and reverted to v0.2 (which is a
> feature of psci >= v0.2).
Please don't rely upon that.
If the DT lists 0.2 and the FW reports 1.0 we deliberately upgrade and
treat it as 1.0, but the other way around was not a deliberate decision.
If the FW is not necessarily 1.0, please do not list 1.0 in the DT.
Thanks,
Mark.
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms
2017-03-28 11:48 [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms Jon Hunter
2017-03-28 14:55 ` Sudeep Holla
2017-03-28 16:23 ` Stephen Warren
@ 2017-04-09 2:22 ` Vagrant Cascadian
2 siblings, 0 replies; 8+ messages in thread
From: Vagrant Cascadian @ 2017-04-09 2:22 UTC (permalink / raw)
To: linux-arm-kernel
On 2017-03-28, Jon Hunter wrote:
> Add the CPU and PSCI nodes for the NVIDIA Tegra210 platforms so that
> all CPUs can be enabled on boot. This assumes that the PSCI firmware
> has been loaded during the initial bootstrap on the device before the
> kernel starts (which is typically the case for these platforms). The
> PSCI firmware version is set to v0.2 which aligns with the current
> shipping version for Tegra.
>
> Reported-by: Martin Michlmayr <tbm@cyrius.com>
> Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Tested on a jetson-tx1; all CPUs were recognized.
Tested-By: Vagrant Cascadian <vagrant@debian.org>
> ---
> arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi | 23 +++++++++++++++++++++++
> arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi | 24 ++++++++++++++++++++++++
> 2 files changed, 47 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
> index 906fb836d241..de1696c28140 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2180.dtsi
> @@ -296,6 +296,29 @@
> };
> };
>
> + cpus {
> + cpu at 0 {
> + enable-method = "psci";
> + };
> +
> + cpu at 1 {
> + enable-method = "psci";
> + };
> +
> + cpu at 2 {
> + enable-method = "psci";
> + };
> +
> + cpu at 3 {
> + enable-method = "psci";
> + };
> + };
> +
> + psci {
> + compatible = "arm,psci-0.2";
> + method = "smc";
> + };
> +
> regulators {
> vdd_gpu: regulator at 100 {
> compatible = "pwm-regulator";
> diff --git a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
> index 0ec92578cacb..67cb039965fd 100644
> --- a/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
> +++ b/arch/arm64/boot/dts/nvidia/tegra210-p2530.dtsi
> @@ -51,4 +51,28 @@
> clock-frequency = <32768>;
> };
> };
> +
> + cpus {
> + cpu at 0 {
> + enable-method = "psci";
> + };
> +
> + cpu at 1 {
> + enable-method = "psci";
> + };
> +
> + cpu at 2 {
> + enable-method = "psci";
> + };
> +
> + cpu at 3 {
> + enable-method = "psci";
> + };
> + };
> +
> + psci {
> + compatible = "arm,psci-0.2";
> + method = "smc";
> + };
> +
> };
> --
> 2.7.4
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 832 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20170408/ff6044d6/attachment.sig>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2017-04-09 2:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-28 11:48 [PATCH] arm64: tegra: Add CPU and PSCI nodes for NVIDIA Tegra210 platforms Jon Hunter
2017-03-28 14:55 ` Sudeep Holla
2017-03-28 15:32 ` Jon Hunter
2017-03-28 15:37 ` Sudeep Holla
2017-03-28 16:23 ` Stephen Warren
2017-03-28 16:49 ` Jon Hunter
2017-03-28 18:54 ` Mark Rutland
2017-04-09 2:22 ` Vagrant Cascadian
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).