Message ID | 1458646592-540-1-git-send-email-andy.yan@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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@rock-chips.com> wrote: > add device tree bindings document for reboot-mode driver s/add/Add/ Plus a full-stop at the end of sentence. > > Signed-off-by: Andy Yan <andy.yan@rock-chips.com> > Acked-by: Rob Herring <robh@kernel.org> > > binding What is that? > > --- > > 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: > +- 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. > + > +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
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@rock-chips.com> 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@rock-chips.com> >> Acked-by: Rob Herring <robh@kernel.org> >> >> 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 > > > >
On 24.03.2016 16:27, Andy Yan wrote: >>> +- 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 To me these names are non-obvious and I would rather expect choosing meaningful names when putting something into the mainline. The user (Android) will use this mainline kernel release in a year or more (3 years for vendors?), so it will have plenty of time to adopt. :) But this was already discussed and you got ack from Rob, so let's move on. I don't mind. Best regards, Krzysztof
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..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 +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 +found in reboot-mode.txt + +Example: + pmu: pmu@20004000 { + 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>; + }; + };