Message ID | 1450775124-23966-1-git-send-email-andy.yan@rock-chips.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Tue, Dec 22, 2015 at 05:05:24PM +0800, Andy Yan wrote: > add device tree bindings document for reboot-mode driver > > Signed-off-by: Andy Yan <andy.yan@rock-chips.com> > > --- > > Changes in v1: None > > .../devicetree/bindings/misc/reboot-mode.txt | 41 ++++++++++++++++++++++ > 1 file changed, 41 insertions(+) > create mode 100644 Documentation/devicetree/bindings/misc/reboot-mode.txt > > diff --git a/Documentation/devicetree/bindings/misc/reboot-mode.txt b/Documentation/devicetree/bindings/misc/reboot-mode.txt > new file mode 100644 > index 0000000..082bc0c > --- /dev/null > +++ b/Documentation/devicetree/bindings/misc/reboot-mode.txt > @@ -0,0 +1,41 @@ > +Generic reboot mode communication driver You're not describing a driver. It is a mapping of boot modes to values. > + > +This driver get reboot mode arguments from userspace Coming from userspace is a Linuxism. > +and stores it in special register or ram . Then the > +bootloader will read it and take different action > +according the argument stored. > + > +Required properties: > + - compatible = "reboot-mode" or other vendor compatible string; > + > +Each mode is represented as a sub-node of reboot_mode: > + > +Subnode required properties: > + - linux,mode: reboot mode command,such as "loader","recovery", "fastboot". > + - linux,magic: magic number for the mode, this is vendor specific. > + > +example: > + reboot_mode { > + compatible = "rockchip,reboot-mode"; > + rockchip,regmap = <&pmu>; > + offset = <0x40>; > + loader { > + linux,mode = "loader"; > + linux,magic = <0x5242C301>; > + }; These can be much more simply expressed as: loader = <0x5242c301>; I would like to see the property names here standardized as much as possible. I'm not sure if we can define the properties as a u32 or need some flexibility here. Rob
Rob, On Tue, Dec 22, 2015 at 4:32 PM, Rob Herring <robh@kernel.org> wrote: > I would like to see the property names here standardized as much as > possible. I'm not sure if we can define the properties as a u32 or need > some flexibility here. Quick question, semi on topic. I have a similar case (and a driver in the pipeline), however all I got is a (persistent over reboot) hardware register to which I can write whatever. On the other side I'd have u-boot pull out the value, but as it's up to u-boot to implement whatever it does with this info I'm kinda struggling with the idea of a standardized binding. In my case I'd like it to go into 'safe mode' or 'firmware update'. With loader = <0xace0ba5e>, <0xdeadbeef> ... and loader-names <> I could have u-boot read the values from fdt at boot. Then again I'm not describing hardware, but specific settings ... Would that be acceptable? Cheers, Moritz
Hi Rob: On 2015?12?23? 08:32, Rob Herring wrote: > On Tue, Dec 22, 2015 at 05:05:24PM +0800, Andy Yan wrote: >> add device tree bindings document for reboot-mode driver >> >> Signed-off-by: Andy Yan <andy.yan@rock-chips.com> >> >> --- >> >> Changes in v1: None >> >> .../devicetree/bindings/misc/reboot-mode.txt | 41 ++++++++++++++++++++++ >> 1 file changed, 41 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/misc/reboot-mode.txt >> >> diff --git a/Documentation/devicetree/bindings/misc/reboot-mode.txt b/Documentation/devicetree/bindings/misc/reboot-mode.txt >> new file mode 100644 >> index 0000000..082bc0c >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/misc/reboot-mode.txt >> @@ -0,0 +1,41 @@ >> +Generic reboot mode communication driver > You're not describing a driver. It is a mapping of boot modes to values. >> + >> +This driver get reboot mode arguments from userspace > Coming from userspace is a Linuxism. > >> +and stores it in special register or ram . Then the >> +bootloader will read it and take different action >> +according the argument stored. >> + >> +Required properties: >> + - compatible = "reboot-mode" or other vendor compatible string; >> + >> +Each mode is represented as a sub-node of reboot_mode: >> + >> +Subnode required properties: >> + - linux,mode: reboot mode command,such as "loader","recovery", "fastboot". >> + - linux,magic: magic number for the mode, this is vendor specific. >> + >> +example: >> + reboot_mode { >> + compatible = "rockchip,reboot-mode"; >> + rockchip,regmap = <&pmu>; >> + offset = <0x40>; >> + loader { >> + linux,mode = "loader"; >> + linux,magic = <0x5242C301>; >> + }; > These can be much more simply expressed as: > > loader = <0x5242c301>; how about : loader,magic= <0x5242c301>; ? > > I would like to see the property names here standardized as much as > possible. I'm not sure if we can define the properties as a u32 or need > some flexibility here. > > Rob > > >
diff --git a/Documentation/devicetree/bindings/misc/reboot-mode.txt b/Documentation/devicetree/bindings/misc/reboot-mode.txt new file mode 100644 index 0000000..082bc0c --- /dev/null +++ b/Documentation/devicetree/bindings/misc/reboot-mode.txt @@ -0,0 +1,41 @@ +Generic reboot mode communication driver + +This driver get reboot mode arguments from userspace +and stores it in special register or ram . Then the +bootloader will read it and take different action +according the argument stored. + +Required properties: + - compatible = "reboot-mode" or other vendor compatible string; + +Each mode is represented as a sub-node of reboot_mode: + +Subnode required properties: + - linux,mode: reboot mode command,such as "loader","recovery", "fastboot". + - linux,magic: magic number for the mode, this is vendor specific. + +example: + reboot_mode { + compatible = "rockchip,reboot-mode"; + rockchip,regmap = <&pmu>; + offset = <0x40>; + loader { + linux,mode = "loader"; + linux,magic = <0x5242C301>; + }; + + maskrom { + linux,mode = "maskrom"; + linux,magic = <0x5242C302>; + }; + + recovery { + linux,mode = "recovery"; + linux,magic = <0x5242C303>; + }; + + fastboot { + linux,mode = "fastboot"; + linux,magic = <0x5242C309>; + }; + };
add device tree bindings document for reboot-mode driver Signed-off-by: Andy Yan <andy.yan@rock-chips.com> --- Changes in v1: None .../devicetree/bindings/misc/reboot-mode.txt | 41 ++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 Documentation/devicetree/bindings/misc/reboot-mode.txt