lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56EBBFB1.6000808@rock-chips.com>
Date:	Fri, 18 Mar 2016 16:43:29 +0800
From:	Andy Yan <andy.yan@...k-chips.com>
To:	Rob Herring <robh@...nel.org>
Cc:	john.stultz@...aro.org, arnd@...db.de, heiko@...ech.de,
	pawel.moll@....com, mark.rutland@....com,
	ijc+devicetree@...lion.org.uk, galak@...eaurora.org,
	devicetree@...r.kernel.org, linux-kernel@...r.kernel.org,
	catalin.marinas@....com, olof@...om.net,
	alexandre.belloni@...e-electrons.com, dbaryshkov@...il.com,
	sre@...nel.org, jun.nie@...aro.org, edubezval@...il.com,
	f.fainelli@...il.com, will.deacon@....com,
	linux-rockchip@...ts.infradead.org, wxt@...k-chips.com,
	matthias.bgg@...il.com, linux@....linux.org.uk,
	lorenzo.pieralisi@....com, moritz.fischer@...us.com,
	richard@....at, dwmw2@...radead.org, jwerner@...gle.com
Subject: Re: [PATCH v5 1/4] dt-bindings: power: reset: add document for
 reboot-mode driver

Hi Rob:


On 2016年03月17日 23:52, Rob Herring wrote:
> On Tue, Mar 08, 2016 at 08:23:05PM +0800, Andy Yan wrote:
>> add device tree bindings document for reboot-mode driver
>>
>> Signed-off-by: Andy Yan <andy.yan@...k-chips.com>
>>
>> ---
>>
>> Changes in v5:
>> - delete a unnecessary blank line in syscon-reboot-mode.txt
>> - rename macro BOOT_LOADER to BOOT_BL_DOWNLOAD, which gives a more clear mean
>>
>> Changes in v4:
>> - remove mode-maskrom
>> - rename mode-fastboot to mode-bootloader to keep compatible with the exiting Android device
>>
>> Changes in v3:
>> - descirbe all reboot mode as properity instead of subnode
>>
>> Changes in v2: None
>> Changes in v1: None
>>
>>   .../bindings/power/reset/reboot-mode.txt           | 24 +++++++++++++++
>>   .../bindings/power/reset/syscon-reboot-mode.txt    | 34 ++++++++++++++++++++++
>>   2 files changed, 58 insertions(+)
>>   create mode 100644 Documentation/devicetree/bindings/power/reset/reboot-mode.txt
>>   create mode 100644 Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
>>
>> diff --git a/Documentation/devicetree/bindings/power/reset/reboot-mode.txt b/Documentation/devicetree/bindings/power/reset/reboot-mode.txt
>> new file mode 100644
>> index 0000000..3457949
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/reset/reboot-mode.txt
>> @@ -0,0 +1,24 @@
>> +Generic reboot mode core map driver
>> +
>> +This driver get reboot mode arguments and call the write
>> +interface to stores the magic value in special register
>> +or ram . Then the bootloader can read it and take different
>> +action according the argument stored.
>> +
>> +All mode properties are vendor specific, it is a indication to tell
>> +the bootloder what to do when the system reboot, and should be named
>> +as mode-xxx = <magic> (xxx is mode name).
>> +
>> +- mode-normal: Normal reboot mode, system reboot with command "reboot".
>> +- mode-recovery: Android Recovery mode, it is a mode to format the device or update a new image.
>> +- mode-bootloader: Android fastboot mode, it's a mode to re-flash partitions on the Android based device.
>> +- mode-loader: A bootloader mode, it's a mode used to download image on Rockchip platform,
>> +	       usually used in development.
>> +
>> +Example:
>> +	reboot-mode {
>> +		mode-normal = <BOOT_NORMAL>;
>> +		mode-recovery = <BOOT_RECOVERY>;
>> +		mode-bootloader = <BOOT_FASTBOOT>;
>> +		mode-loader = <BOOT_BL_DOWNLOAD>;
>> +	}
>> diff --git a/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
>> new file mode 100644
>> index 0000000..d03cb52
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
>> @@ -0,0 +1,34 @@
>> +SYSCON reboot mode driver
>> +
>> +This driver get reboot mode magic value form reboot-mode driver
>> +and stores it in a SYSCON mapped register. Then the bootloader
>> +can read it and take different action according to the magic
>> +value stored.
>> +
>> +This DT node should be represented as a sub-node of a "syscon", "simple-mfd"
>> +node.
>> +
>> +Required properties:
>> +- compatible: should be "syscon-reboot-mode"
>> +- offset: offset in the register map for the storage register (in bytes)
>> +
>> +Optional properity:
>> +- mask: the mask bits of the mode magic value, default set to 0xffffffff if missing.
> I can't see how this is used. I would drop it for now.
>
> With that change:
>
> Acked-by: Rob Herring <robh@...nel.org>

The mask is suggested by Moritz Fischer in V2[0]. And I found Tegra did 
indeed only use some bits of one register to store the reboot mode[1].

@Heiko: It seems that this patch series can land now, but the dts parts 
belong to  two different branch(arm32 and arm64) . And these
two parts both depends on one head file rockchip_boot-mode.h, So I hope 
some suggestions from you how to deal with it.

    [0] https://lkml.org/lkml/2016/1/27/225
    [1] drivers/soc/tegra/pmc.c  (tegra_pmc_restart_notify)
>> +
>> +The rest of the properties should follow the generic reboot-mode discription
>> +found in reboot-mode.txt
>> +
>> +Example:
>> +	pmu: pmu@...04000 {
>> +		compatible = "rockchip,rk3066-pmu", "syscon", "simple-mfd";
>> +		reg = <0x20004000 0x100>;
>> +
>> +		reboot-mode {
>> +			compatible = "syscon-reboot-mode";
>> +			offset = <0x40>;
>> +			mode-normal = <BOOT_NORMAL>;
>> +			mode-recovery = <BOOT_RECOVERY>;
>> +			mode-bootloader = <BOOT_FASTBOOT>;
>> +			mode-loader = <BOOT_BL_DOWNLOAD>;
>> +		};
>> +	};
>> -- 
>> 1.9.1
>>
>>
>>
>
>



Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ