diff mbox

[RFC,3/4] arm64: dts: hikey: Add hikey support for syscon-reboot-mode

Message ID 1470697426-16426-3-git-send-email-john.stultz@linaro.org (mailing list archive)
State New, archived
Headers show

Commit Message

John Stultz Aug. 8, 2016, 11:03 p.m. UTC
Add support to hikey dts for the syscon-reboot-mode driver.

After trying an approach using a sram driver and node, a number
of issues cropped up which would make it so we would be
duplicating a lot of extra syscon infrastructure in order to
support mfds on sram. After talking with Bjorn, using the
syscon driver for this seems like an better choice.

Cc: Andy Yan <andy.yan@rock-chips.com>
Cc: Bjorn Andersson <bjorn.andersson@linaro.org>
Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
Cc: Guodong Xu <guodong.xu@linaro.org>
Cc: Wei Xu <xuwei5@hisilicon.com>
Cc: Rob Herring <robh+dt@kernel.org>
Cc: Mark Rutland <mark.rutland@arm.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: devicetree@vger.kernel.org
Signed-off-by: John Stultz <john.stultz@linaro.org>
---
 arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

Comments

Bjorn Andersson Aug. 10, 2016, 4:34 a.m. UTC | #1
On Mon 08 Aug 16:03 PDT 2016, John Stultz wrote:

[..]
> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
[..]
>  	memory@0 {
>  		device_type = "memory";
>  		reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
> -		      <0x00000000 0x05f00000 0x00000000 0x00eff000>,
> +		      <0x00000000 0x05f00000 0x00000000 0x00001000>,
> +		      <0x00000000 0x05f02000 0x00000000 0x00efd000>,
>  		      <0x00000000 0x06e00000 0x00000000 0x0060f000>,
>  		      <0x00000000 0x07410000 0x00000000 0x36bf0000>;
>  	};

As I said when talked about this, I don't think you should punch holes
in the /memory node, but rather add these regions as no-map in a
/reserved-memory node. But that's a unrelated matter.

>  
> +	reboot-mode-syscon@5f01000 {
> +		compatible = "syscon", "simple-mfd";
> +		reg = <0x0 0x05f01000 0x0 0x00001000>;
> +
> +		reboot-mode@0 {

Drop the @0

Other than that:
Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>

> +			compatible = "syscon-reboot-mode";
> +			offset = <0x0>;
> +
> +			mode-normal	= <0x77665501>;
> +			mode-bootloader	= <0x77665500>;
> +			mode-recovery	= <0x77665502>;
> +		};
> +	};
> +
>  	soc {
>  		spi0: spi@f7106000 {
>  			status = "ok";

Regards,
Bjorn
John Stultz Aug. 10, 2016, 4:58 a.m. UTC | #2
On Tue, Aug 9, 2016 at 9:34 PM, Bjorn Andersson
<bjorn.andersson@linaro.org> wrote:
> On Mon 08 Aug 16:03 PDT 2016, John Stultz wrote:
>
> [..]
>> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> [..]
>>       memory@0 {
>>               device_type = "memory";
>>               reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
>> -                   <0x00000000 0x05f00000 0x00000000 0x00eff000>,
>> +                   <0x00000000 0x05f00000 0x00000000 0x00001000>,
>> +                   <0x00000000 0x05f02000 0x00000000 0x00efd000>,
>>                     <0x00000000 0x06e00000 0x00000000 0x0060f000>,
>>                     <0x00000000 0x07410000 0x00000000 0x36bf0000>;
>>       };
>
> As I said when talked about this, I don't think you should punch holes
> in the /memory node, but rather add these regions as no-map in a
> /reserved-memory node. But that's a unrelated matter.

Yea. I need to sync w/ Wei and Guodong to see about reworking all of
those to use /reserved-memory, but for now I'd like to stay in sync w/
how they have it setup.

>>
>> +     reboot-mode-syscon@5f01000 {
>> +             compatible = "syscon", "simple-mfd";
>> +             reg = <0x0 0x05f01000 0x0 0x00001000>;
>> +
>> +             reboot-mode@0 {
>
> Drop the @0

Will do.


>
> Other than that:
> Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>

Thanks!
-john
Wei Xu Aug. 12, 2016, 1:34 p.m. UTC | #3
Hi All,

On 10/08/2016 05:58, John Stultz wrote:
> On Tue, Aug 9, 2016 at 9:34 PM, Bjorn Andersson
> <bjorn.andersson@linaro.org> wrote:
>> On Mon 08 Aug 16:03 PDT 2016, John Stultz wrote:
>>
>> [..]
>>> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
>> [..]
>>>       memory@0 {
>>>               device_type = "memory";
>>>               reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
>>> -                   <0x00000000 0x05f00000 0x00000000 0x00eff000>,
>>> +                   <0x00000000 0x05f00000 0x00000000 0x00001000>,
>>> +                   <0x00000000 0x05f02000 0x00000000 0x00efd000>,
>>>                     <0x00000000 0x06e00000 0x00000000 0x0060f000>,
>>>                     <0x00000000 0x07410000 0x00000000 0x36bf0000>;
>>>       };
>>
>> As I said when talked about this, I don't think you should punch holes
>> in the /memory node, but rather add these regions as no-map in a
>> /reserved-memory node. But that's a unrelated matter.
> 
> Yea. I need to sync w/ Wei and Guodong to see about reworking all of
> those to use /reserved-memory, but for now I'd like to stay in sync w/
> how they have it setup.
> 

Both are fine to me.
I remember before we had a discussion [1].
How about we add these functions this time and clean the memory node
in the future if needed?

[1] http://patches.linaro.org/patch/54682/

Best Regards,
Wei

>>>
>>> +     reboot-mode-syscon@5f01000 {
>>> +             compatible = "syscon", "simple-mfd";
>>> +             reg = <0x0 0x05f01000 0x0 0x00001000>;
>>> +
>>> +             reboot-mode@0 {
>>
>> Drop the @0
> 
> Will do.
> 
> 
>>
>> Other than that:
>> Acked-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> 
> Thanks!
> -john
> 
> .
>
Bjorn Andersson Aug. 12, 2016, 4:11 p.m. UTC | #4
On Fri 12 Aug 06:34 PDT 2016, Wei Xu wrote:

> Hi All,
> 
> On 10/08/2016 05:58, John Stultz wrote:
> > On Tue, Aug 9, 2016 at 9:34 PM, Bjorn Andersson
> > <bjorn.andersson@linaro.org> wrote:
> >> On Mon 08 Aug 16:03 PDT 2016, John Stultz wrote:
> >>
> >> [..]
> >>> diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
> >> [..]
> >>>       memory@0 {
> >>>               device_type = "memory";
> >>>               reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
> >>> -                   <0x00000000 0x05f00000 0x00000000 0x00eff000>,
> >>> +                   <0x00000000 0x05f00000 0x00000000 0x00001000>,
> >>> +                   <0x00000000 0x05f02000 0x00000000 0x00efd000>,
> >>>                     <0x00000000 0x06e00000 0x00000000 0x0060f000>,
> >>>                     <0x00000000 0x07410000 0x00000000 0x36bf0000>;
> >>>       };
> >>
> >> As I said when talked about this, I don't think you should punch holes
> >> in the /memory node, but rather add these regions as no-map in a
> >> /reserved-memory node. But that's a unrelated matter.
> > 
> > Yea. I need to sync w/ Wei and Guodong to see about reworking all of
> > those to use /reserved-memory, but for now I'd like to stay in sync w/
> > how they have it setup.
> > 
> 
> Both are fine to me.
> I remember before we had a discussion [1].
> How about we add these functions this time and clean the memory node
> in the future if needed?
> 
> [1] http://patches.linaro.org/patch/54682/

I agree, you should not hold up John's addition on changing to
reserve-memory, as these are unrelated changes..

But I would recommend that you take the time to do the switch to
/reserve-memory before next change to /memory comes in, as that change
will be just as unrelated.

Regards,
Bjorn
diff mbox

Patch

diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
index 8597e9b..b2683e4 100644
--- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
+++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts
@@ -29,6 +29,7 @@ 
 	 * Reserve below regions from memory node:
 	 *
 	 *  0x05e0,0000 - 0x05ef,ffff: MCU firmware runtime using
+	 *  0x05f0,1000 - 0x05f0,1fff: Reboot reason
 	 *  0x06df,f000 - 0x06df,ffff: Mailbox message data
 	 *  0x0740,f000 - 0x0740,ffff: MCU firmware section
 	 *  0x3e00,0000 - 0x3fff,ffff: OP-TEE
@@ -36,11 +37,26 @@ 
 	memory@0 {
 		device_type = "memory";
 		reg = <0x00000000 0x00000000 0x00000000 0x05e00000>,
-		      <0x00000000 0x05f00000 0x00000000 0x00eff000>,
+		      <0x00000000 0x05f00000 0x00000000 0x00001000>,
+		      <0x00000000 0x05f02000 0x00000000 0x00efd000>,
 		      <0x00000000 0x06e00000 0x00000000 0x0060f000>,
 		      <0x00000000 0x07410000 0x00000000 0x36bf0000>;
 	};
 
+	reboot-mode-syscon@5f01000 {
+		compatible = "syscon", "simple-mfd";
+		reg = <0x0 0x05f01000 0x0 0x00001000>;
+
+		reboot-mode@0 {
+			compatible = "syscon-reboot-mode";
+			offset = <0x0>;
+
+			mode-normal	= <0x77665501>;
+			mode-bootloader	= <0x77665500>;
+			mode-recovery	= <0x77665502>;
+		};
+	};
+
 	soc {
 		spi0: spi@f7106000 {
 			status = "ok";