Re: [PATCH v6 1/4] dt-bindings: power: reset: add document for reboot-mode driver

From: Andy Yan
Date: Thu Mar 24 2016 - 03:28:34 EST


Hi Krzysztof:

On 2016å03æ24æ 10:27, Krzysztof Kozlowski wrote:
Interesting idea. While looking at the code I stumped over few things below:

On Tue, Mar 22, 2016 at 8:36 PM, Andy Yan <andy.yan@xxxxxxxxxxxxxx> wrote:
add device tree bindings document for reboot-mode driver
s/add/Add/
Plus a full-stop at the end of sentence.
okay, I will do it in next version.
Signed-off-by: Andy Yan <andy.yan@xxxxxxxxxxxxxx>
Acked-by: Rob Herring <robh@xxxxxxxxxx>

binding
What is that?

This will be removed

---

Changes in v6:
- fix a typo with "property"
- describe property "mask" more clear

Changes in v5:
- delete a unnecessary blank line in syscon-reboot-mode.txt
- rename mode-fastoboot to mode-bootloader 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 | 35 ++++++++++++++++++++++
2 files changed, 59 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
s/stores/store/
+or ram . Then the bootloader can read it and take different
s/ram ./ram./

+action according the argument stored.
according to

+
+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
s/bootloder/bootloader/
s/reboot/reboots/

+as mode-xxx = <magic> (xxx is mode name).
+
These are examples? If yes then add a note, like:

+For example modes common on Android platform:

Thanks for your carefully review, all these will be fixed in next version.
+- 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.
The "bootloader" and "loader" examples are very confusing. Maybe just
name the first one as "mode-fastboot" and second as
"rockchip-download"? The term "loader" does not look for me as
anything related to uploading/downloading new firmware.

About these two modes, we have a long discussion with Rob and John [0]
We keep them as what you see now to keep compatibility with exiting devices.

[0] https://lkml.org/lkml/2016/2/2/128

+
+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..eb28469
--- /dev/null
+++ b/Documentation/devicetree/bindings/power/reset/syscon-reboot-mode.txt
@@ -0,0 +1,35 @@
+SYSCON reboot mode driver
+
+This driver get reboot mode magic value form reboot-mode driver
s/get/gets/

+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 property:
+- mask: bits mask of the bits in the register to store the reboot mode magic value,
+ default set to 0xffffffff if missing.
+
+The rest of the properties should follow the generic reboot-mode discription
s/discription/description/

Please, run the spell check...

Best regards,
Krzysztof