Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 376e27e4 authored by Andy Yan's avatar Andy Yan Committed by Sebastian Reichel
Browse files

dt-bindings: power: reset: add document for reboot-mode driver



Add device tree bindings document for reboot-mode driver.

Signed-off-by: default avatarAndy Yan <andy.yan@rock-chips.com>
Acked-by: default avatarRob Herring <robh@kernel.org>
Reviewed-by: default avatarKrzysztof Kozlowski <k.kozlowski@samsung.com>
Signed-off-by: default avatarSebastian Reichel <sre@kernel.org>
parent e3805385
Loading
Loading
Loading
Loading
+25 −0
Original line number Diff line number Diff line
Generic reboot mode core map driver

This driver get reboot mode arguments and call the write
interface to store the magic value in special register
or ram. Then the bootloader can read it and take different
action according to the argument stored.

All mode properties are vendor specific, it is a indication to tell
the bootloader what to do when the system reboots, and should be named
as mode-xxx = <magic> (xxx is mode name, magic should be a none-zero value).

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.

Example:
	reboot-mode {
		mode-normal = <BOOT_NORMAL>;
		mode-recovery = <BOOT_RECOVERY>;
		mode-bootloader = <BOOT_FASTBOOT>;
		mode-loader = <BOOT_BL_DOWNLOAD>;
	}
+35 −0
Original line number Diff line number Diff line
SYSCON reboot mode driver

This driver gets 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 description
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>;
		};
	};