Re: [PATCH v5 1/4] dt-bindings: power: reset: add document for reboot-mode driver
From: Heiko Stübner
Date: Fri Mar 18 2016 - 05:07:41 EST
Hi Andy,
Am Freitag, 18. MÃrz 2016, 16:43:29 schrieb Andy Yan:
> 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@xxxxxxxxxxxxxx>
[...]
> >> 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@xxxxxxxxxx>
>
> 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.
as this is a new driver with completely new binding, the split should be easy.
Sebastian (sre@xxxxxxxxxx) should take the driver + binding-txt parts and I
can then simply queue up the 32 and 64 bit devicetree additions in my
respective branches for 4.7.
Thanks for pushing that whole thing through, as it looks really nice now.
Heiko
> [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@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>;
> >> + };
> >> + };