All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: "Huang, Tao" <huangtao@rock-chips.com>
Cc: "Jacob Chen" <jacobchen110@gmail.com>,
	"Frank Wang" <frank.wang@rock-chips.com>,
	robh+dt@kernel.org, "Ulf Hansson" <ulf.hansson@linaro.org>,
	mark.rutland@arm.com, linux-arm-kernel@lists.infradead.org,
	linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org,
	charles.chen@rock-chips.com, kevan.lan@rock-chips.com,
	wmc@rock-chips.com, 陈健洪 <chenjh@rock-chips.com>,
	"Kever Yang" <kever.yang@rock-chips.com>
Subject: Re: [PATCH 1/6] ARM: dts: rockchip: add basic dtsi file for RK3229 SoC
Date: Wed, 21 Jun 2017 10:55:38 +0200	[thread overview]
Message-ID: <1868991.PqQ2sgDds2@diego> (raw)
In-Reply-To: <74d18546-cde9-2c71-caf1-139d202c42e3@rock-chips.com>

Hi,

Am Mittwoch, 21. Juni 2017, 15:29:18 CEST schrieb Huang, Tao:
> Hi Jacob and Heiko:
> 
> On 2017年06月21日 12:11, Jacob Chen wrote:
> > Hi,
> > 
> > 2017-06-20 18:48 GMT+08:00 Heiko Stübner <heiko@sntech.de
> > 
> > <mailto:heiko@sntech.de>>:
> > > Hi Frank,
> > > 
> > > Am Dienstag, 20. Juni 2017, 15:13:00 CEST schrieb Frank Wang:
> > >> Hi Heiko,
> > >> 
> > >> On 2017/6/19 20:30, Heiko Stübner wrote:
> > >> > Hi Frank,
> > >> > 
> > >> > Am Montag, 19. Juni 2017, 18:34:27 CEST schrieb Frank Wang:
> > >> >> On 2017/6/18 2:12, Heiko Stuebner wrote:
> > >> >>> Am Donnerstag, 15. Juni 2017, 15:16:15 CEST schrieb Frank Wang:
> > >> >>>> Due to some tiny differences between RK3228 and RK3229, this patch
> > >> >>>> adds a basic dtsi file which includes a new CPU opp table and PSCI
> > >> >>>> brought up support for RK3229.
> > >> >>>> 
> > >> >>>> Signed-off-by: Frank Wang<frank.wang@rock-chips.com
> > 
> > <mailto:frank.wang@rock-chips.com>>
> > 
> > >> > [...]
> > >> > 
> > >> >>>> +        psci {
> > >> >>>> +                compatible = "arm,psci-1.0", "arm,psci-0.2";
> > >> >>>> +                method = "smc";
> > >> >>>> +        };
> > >> >>>> +};
> > >> >>>> +
> > >> >>>> +&cpu0 {
> > >> >>>> +        enable-method = "psci";
> > >> >>>> +};
> > >> >>> 
> > >> >>> Hmm, I don't really understand this.
> > >> >>> What method of core-bringup does the rk3228 use? In the current
> > >> >>> rk322x.dtsi there is no enable-method at all defined.
> > >> >> 
> > >> >> For non-security, the same with rk3036 SoC, we use rk3036-smp
> > 
> > method to
> > 
> > >> >> bring-up cores, and for security, we use arm-psci method.
> > >> >> As security become more and more important and required, we
> > 
> > would prefer
> > 
> > >> >> using arm-psci method, and it is also an easy way to use.
> > >> >> 
> > >> >>> So is the rk3228 firmware using a different method than the rk3229?
> > >> >> 
> > >> >> No, they are the same. How about I move these changes to
> > 
> > rk322x.dtsi?
> > 
> > >> > yep, that is what I was getting at with my question ;-)
> > >> > 
> > >> >>> And out of curiosity as this is a arm32 without atf, is the psci
> > >> >>> implementation (for uboot?) you're using available somewhere?
> > >> >> 
> > >> >> Ah, it is included in op-tee :-)
> > >> > 
> > >> > Is that super secret or will this be part of the official op-tee [0]
> > >> > at some point (Similar to the ATF stuff on arm64)?
> > >> 
> > >> Hmm, the op-tee itself must keep secure, but the psci part in it can be
> > >> extracted to public, although it may have a bit of secure risk.
> > >> Due to Rockchip have amended the frame of op-tee to support psci,
> > 
> > we can
> > 
> > >> try to upstream these changes to official op-tee or push them to source
> > >> codes of Rockchip in git-hub.
> > > 
> > > I just want to make sure, people can actually create a working system
> > > with this, as there is mainline u-boot support for the rk3228/rk3229 in
> > > the works - hopefully also with SPL support later on.
> > > So I'm wondering how this is supposed to be setup?
> > > 
> > > On arm64 we now have the SPL load the ATF, which in turn loads
> > 
> > uboot, so I
> > 
> > > guess the mechanism for the op-tee would be somehow similar? And
> > 
> > there all
> > 
> > > necessary components are available to build everything from source.
> > > 
> > > I really don't care about all the other super-secret stuff happening in
> > > that op-tee thingy, but I really want people to be able to build a
> > 
> > complete
> > 
> > > firmware on their machine, without having to rely on arbitary binary
> > 
> > blobs.
> > 
> > > Which is something companies adopting Rockchip socs seem to rely on
> > > a lot these days ;-) .
> > > 
> > > 
> > > One alternative I can think of, would be to also create a u-boot psci
> > > implementation for arm32, like sunxi [0] and others use for example.
> > > That way people could choose where their psci should come from (u-boot
> > > itself or the op-tee).
> > > 
> > > 
> > > Heiko
> > > 
> > > [0]
> > 
> > http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/cpu/armv7/sunxi/psci.c
> > 
> > >> BR.
> > >> Frank
> > >> 
> > >> > Heiko
> > >> > 
> > >> > [0]https://github.com/OP-TEE/optee_os/tree/master/core/arch/arm
> > 
> > 😀 Implement psci in upstream u-boot  sounds a good idea.
> > 
> > I don't like the bundled solution, like if I want  to enable  power
> > management in my board,  i have to use OP-TEE, then i have to use
> > vendor u-boot, then vendor kernel, rootfs, tools......
> 
> No. The kernel only depends on PSCI. Anyone can implement PSCI firmware
> through
> OPTEE/Trusty/U-Boot/UEFI or other open source implementation. We don't limit
> people use vendor software or not. As Frank said, we will open source OPTEE
> which support PSCI for our chips.

That is great to hear. In Franks mail yesterday it didn't sound that certain 
yet :-) . 
I really only want to make sure people can build a complete firmware from 
source. Without having to rely on binary stuff.

So if you're going to release the op-tee variant for it, we should be fine.

As I've also ordered one of the rk3229 tv-boxes for my boardfarm, do you
have any timeframe for that? [Sorry for being pushy :-) ].


> BTW people can implement SMP/suspend function builtin in kernel as
> usual. We just hope use PSCI by default, so we can support TEE more easy
> as arm64.

Yep, having smp in firmware is quite nice, as seen on arm64. So I definitly 
encourage this, instead of doing the "legacy" smp option in the kernel.


Thanks
Heiko

WARNING: multiple messages have this Message-ID (diff)
From: heiko@sntech.de (Heiko Stübner)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 1/6] ARM: dts: rockchip: add basic dtsi file for RK3229 SoC
Date: Wed, 21 Jun 2017 10:55:38 +0200	[thread overview]
Message-ID: <1868991.PqQ2sgDds2@diego> (raw)
In-Reply-To: <74d18546-cde9-2c71-caf1-139d202c42e3@rock-chips.com>

Hi,

Am Mittwoch, 21. Juni 2017, 15:29:18 CEST schrieb Huang, Tao:
> Hi Jacob and Heiko:
> 
> On 2017?06?21? 12:11, Jacob Chen wrote:
> > Hi,
> > 
> > 2017-06-20 18:48 GMT+08:00 Heiko St?bner <heiko@sntech.de
> > 
> > <mailto:heiko@sntech.de>>:
> > > Hi Frank,
> > > 
> > > Am Dienstag, 20. Juni 2017, 15:13:00 CEST schrieb Frank Wang:
> > >> Hi Heiko,
> > >> 
> > >> On 2017/6/19 20:30, Heiko St?bner wrote:
> > >> > Hi Frank,
> > >> > 
> > >> > Am Montag, 19. Juni 2017, 18:34:27 CEST schrieb Frank Wang:
> > >> >> On 2017/6/18 2:12, Heiko Stuebner wrote:
> > >> >>> Am Donnerstag, 15. Juni 2017, 15:16:15 CEST schrieb Frank Wang:
> > >> >>>> Due to some tiny differences between RK3228 and RK3229, this patch
> > >> >>>> adds a basic dtsi file which includes a new CPU opp table and PSCI
> > >> >>>> brought up support for RK3229.
> > >> >>>> 
> > >> >>>> Signed-off-by: Frank Wang<frank.wang@rock-chips.com
> > 
> > <mailto:frank.wang@rock-chips.com>>
> > 
> > >> > [...]
> > >> > 
> > >> >>>> +        psci {
> > >> >>>> +                compatible = "arm,psci-1.0", "arm,psci-0.2";
> > >> >>>> +                method = "smc";
> > >> >>>> +        };
> > >> >>>> +};
> > >> >>>> +
> > >> >>>> +&cpu0 {
> > >> >>>> +        enable-method = "psci";
> > >> >>>> +};
> > >> >>> 
> > >> >>> Hmm, I don't really understand this.
> > >> >>> What method of core-bringup does the rk3228 use? In the current
> > >> >>> rk322x.dtsi there is no enable-method at all defined.
> > >> >> 
> > >> >> For non-security, the same with rk3036 SoC, we use rk3036-smp
> > 
> > method to
> > 
> > >> >> bring-up cores, and for security, we use arm-psci method.
> > >> >> As security become more and more important and required, we
> > 
> > would prefer
> > 
> > >> >> using arm-psci method, and it is also an easy way to use.
> > >> >> 
> > >> >>> So is the rk3228 firmware using a different method than the rk3229?
> > >> >> 
> > >> >> No, they are the same. How about I move these changes to
> > 
> > rk322x.dtsi?
> > 
> > >> > yep, that is what I was getting at with my question ;-)
> > >> > 
> > >> >>> And out of curiosity as this is a arm32 without atf, is the psci
> > >> >>> implementation (for uboot?) you're using available somewhere?
> > >> >> 
> > >> >> Ah, it is included in op-tee :-)
> > >> > 
> > >> > Is that super secret or will this be part of the official op-tee [0]
> > >> > at some point (Similar to the ATF stuff on arm64)?
> > >> 
> > >> Hmm, the op-tee itself must keep secure, but the psci part in it can be
> > >> extracted to public, although it may have a bit of secure risk.
> > >> Due to Rockchip have amended the frame of op-tee to support psci,
> > 
> > we can
> > 
> > >> try to upstream these changes to official op-tee or push them to source
> > >> codes of Rockchip in git-hub.
> > > 
> > > I just want to make sure, people can actually create a working system
> > > with this, as there is mainline u-boot support for the rk3228/rk3229 in
> > > the works - hopefully also with SPL support later on.
> > > So I'm wondering how this is supposed to be setup?
> > > 
> > > On arm64 we now have the SPL load the ATF, which in turn loads
> > 
> > uboot, so I
> > 
> > > guess the mechanism for the op-tee would be somehow similar? And
> > 
> > there all
> > 
> > > necessary components are available to build everything from source.
> > > 
> > > I really don't care about all the other super-secret stuff happening in
> > > that op-tee thingy, but I really want people to be able to build a
> > 
> > complete
> > 
> > > firmware on their machine, without having to rely on arbitary binary
> > 
> > blobs.
> > 
> > > Which is something companies adopting Rockchip socs seem to rely on
> > > a lot these days ;-) .
> > > 
> > > 
> > > One alternative I can think of, would be to also create a u-boot psci
> > > implementation for arm32, like sunxi [0] and others use for example.
> > > That way people could choose where their psci should come from (u-boot
> > > itself or the op-tee).
> > > 
> > > 
> > > Heiko
> > > 
> > > [0]
> > 
> > http://git.denx.de/?p=u-boot.git;a=blob;f=arch/arm/cpu/armv7/sunxi/psci.c
> > 
> > >> BR.
> > >> Frank
> > >> 
> > >> > Heiko
> > >> > 
> > >> > [0]https://github.com/OP-TEE/optee_os/tree/master/core/arch/arm
> > 
> > ? Implement psci in upstream u-boot  sounds a good idea.
> > 
> > I don't like the bundled solution, like if I want  to enable  power
> > management in my board,  i have to use OP-TEE, then i have to use
> > vendor u-boot, then vendor kernel, rootfs, tools......
> 
> No. The kernel only depends on PSCI. Anyone can implement PSCI firmware
> through
> OPTEE/Trusty/U-Boot/UEFI or other open source implementation. We don't limit
> people use vendor software or not. As Frank said, we will open source OPTEE
> which support PSCI for our chips.

That is great to hear. In Franks mail yesterday it didn't sound that certain 
yet :-) . 
I really only want to make sure people can build a complete firmware from 
source. Without having to rely on binary stuff.

So if you're going to release the op-tee variant for it, we should be fine.

As I've also ordered one of the rk3229 tv-boxes for my boardfarm, do you
have any timeframe for that? [Sorry for being pushy :-) ].


> BTW people can implement SMP/suspend function builtin in kernel as
> usual. We just hope use PSCI by default, so we can support TEE more easy
> as arm64.

Yep, having smp in firmware is quite nice, as seen on arm64. So I definitly 
encourage this, instead of doing the "legacy" smp option in the kernel.


Thanks
Heiko

  reply	other threads:[~2017-06-21  8:55 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-15  7:16 [PATCH 0/6] add some device nodes support for rk322x SoC Frank Wang
2017-06-15  7:16 ` Frank Wang
2017-06-15  7:16 ` Frank Wang
2017-06-15  7:16 ` [PATCH 1/6] ARM: dts: rockchip: add basic dtsi file for RK3229 SoC Frank Wang
2017-06-15  7:16   ` Frank Wang
2017-06-17 18:12   ` Heiko Stuebner
2017-06-17 18:12     ` Heiko Stuebner
2017-06-19 10:34     ` Frank Wang
2017-06-19 10:34       ` Frank Wang
2017-06-19 12:30       ` Heiko Stübner
2017-06-19 12:30         ` Heiko Stübner
2017-06-20  7:13         ` Frank Wang
2017-06-20  7:13           ` Frank Wang
2017-06-20  7:13           ` Frank Wang
     [not found]           ` <354e6995-cc80-660b-41c4-535be85564c4-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-06-20 10:48             ` Heiko Stübner
2017-06-20 10:48               ` Heiko Stübner
2017-06-20 10:48               ` Heiko Stübner
2017-06-21  4:11               ` Jacob Chen
2017-06-21  7:05                 ` Huang, Tao
     [not found]                 ` <CAFLEztTZPeqbE++uRS-jXYUb7KzSik7=5v8+p07L788HWvwQqg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-06-21  7:29                   ` Huang, Tao
2017-06-21  7:29                     ` Huang, Tao
2017-06-21  7:29                     ` Huang, Tao
2017-06-21  8:55                     ` Heiko Stübner [this message]
2017-06-21  8:55                       ` Heiko Stübner
2017-06-15  7:16 ` [PATCH 2/6] Documentation: rockchip-dw-mshc: add description for rk3228 Frank Wang
2017-06-15  7:16   ` Frank Wang
2017-06-15  7:51   ` Heiko Stübner
2017-06-15  7:51     ` Heiko Stübner
2017-06-15  7:16 ` [PATCH 3/6] ARM: dts: rockchip: fix compatible string for eMMC node of rk3228 SoC Frank Wang
2017-06-15  7:16   ` Frank Wang
2017-06-15  7:16 ` [PATCH 4/6] ARM: dts: rockchip: add sdmmc and sdio nodes for " Frank Wang
2017-06-15  7:16   ` Frank Wang
2017-06-15  7:21 ` [PATCH 5/6] ARM: dts: rockchip: Add io-domain node for rk3228 Frank Wang
2017-06-15  7:21   ` Frank Wang
     [not found] ` <1497510980-23207-1-git-send-email-frank.wang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-06-15  7:23   ` [PATCH 6/6] ARM: dts: rockchip: add efuse device " Frank Wang
2017-06-15  7:23     ` Frank Wang
2017-06-15  7:23     ` Frank Wang
     [not found]     ` <1497511396-23308-1-git-send-email-frank.wang-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-06-15 15:10       ` Heiko Stuebner
2017-06-15 15:10         ` Heiko Stuebner
2017-06-15 15:10         ` Heiko Stuebner
2017-06-16  9:24         ` Frank Wang
2017-06-16  9:24           ` Frank Wang
2017-06-16  9:24           ` Frank Wang
     [not found]           ` <da5fbd76-c9a1-a16f-3ed8-adfd2b1c346f-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-06-16  9:35             ` Heiko Stübner
2017-06-16  9:35               ` Heiko Stübner
2017-06-16  9:35               ` Heiko Stübner

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=1868991.PqQ2sgDds2@diego \
    --to=heiko@sntech.de \
    --cc=charles.chen@rock-chips.com \
    --cc=chenjh@rock-chips.com \
    --cc=devicetree@vger.kernel.org \
    --cc=frank.wang@rock-chips.com \
    --cc=huangtao@rock-chips.com \
    --cc=jacobchen110@gmail.com \
    --cc=kevan.lan@rock-chips.com \
    --cc=kever.yang@rock-chips.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    --cc=mark.rutland@arm.com \
    --cc=robh+dt@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=wmc@rock-chips.com \
    /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.