devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Add reboot modes for LEGO MINDSTORMS EV3
@ 2018-01-12  2:21 David Lechner
       [not found] ` <1515723685-19286-1-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
  2018-01-12  2:21 ` [PATCH 2/2] ARM: davinci_all_defconfig: enable SYSCON_REBOOT_MODE David Lechner
  0 siblings, 2 replies; 4+ messages in thread
From: David Lechner @ 2018-01-12  2:21 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: David Lechner, Sekhar Nori, Kevin Hilman, Rob Herring,
	Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

This series adds a new device tree node to declare a special memory
address that is used by the I2C bootloader on LEGO MINDSTORMS EV3
to boot into a special firmware update mode and enables the required
module to use it.

David Lechner (2):
  ARM: dts: da850-lego-ev3: Add node for reboot modes
  ARM: davinci_all_defconfig: enable SYSCON_REBOOT_MODE

 arch/arm/boot/dts/da850-lego-ev3.dts   | 17 +++++++++++++++++
 arch/arm/configs/davinci_all_defconfig |  1 +
 2 files changed, 18 insertions(+)

-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH 1/2] ARM: dts: da850-lego-ev3: Add node for reboot modes
       [not found] ` <1515723685-19286-1-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
@ 2018-01-12  2:21   ` David Lechner
       [not found]     ` <1515723685-19286-2-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
  0 siblings, 1 reply; 4+ messages in thread
From: David Lechner @ 2018-01-12  2:21 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: David Lechner, Sekhar Nori, Kevin Hilman, Rob Herring,
	Mark Rutland, devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

This adds a new node for reboot modes on LEGO MINDSTORMS EV3. The EV3's
bootloader looks for a magic number in the ARM local RAM and if found,
it will boot into a special firmware update mode where the flash memory
can be written via USB.

This has been testing working using the command:

    # systemctl reboot loader

Signed-off-by: David Lechner <david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
---
 arch/arm/boot/dts/da850-lego-ev3.dts | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/arch/arm/boot/dts/da850-lego-ev3.dts b/arch/arm/boot/dts/da850-lego-ev3.dts
index e4bbf48..1cb2ff1 100644
--- a/arch/arm/boot/dts/da850-lego-ev3.dts
+++ b/arch/arm/boot/dts/da850-lego-ev3.dts
@@ -212,6 +212,23 @@
 		compatible = "gpio-backlight";
 		gpios = <&gpio 44 GPIO_ACTIVE_HIGH>;
 	};
+
+	/* ARM local RAM */
+	memory@ffff0000 {
+		compatible = "syscon", "simple-mfd";
+		reg = <0xffff0000 0x2000>; /* 8k */
+
+		/*
+		 * The I2C bootloader looks for this magic value to either
+		 * boot normally or boot into a firmware update mode.
+		 */
+		reboot-mode {
+			compatible = "syscon-reboot-mode";
+			offset = <0x1ffc>;
+			mode-normal = <0x00000000>;
+			mode-loader = <0x5555aaaa>;
+		};
+	};
 };
 
 &cpu {
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [PATCH 2/2] ARM: davinci_all_defconfig: enable SYSCON_REBOOT_MODE
  2018-01-12  2:21 [PATCH 0/2] Add reboot modes for LEGO MINDSTORMS EV3 David Lechner
       [not found] ` <1515723685-19286-1-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
@ 2018-01-12  2:21 ` David Lechner
  1 sibling, 0 replies; 4+ messages in thread
From: David Lechner @ 2018-01-12  2:21 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: David Lechner, Sekhar Nori, Kevin Hilman, Rob Herring,
	Mark Rutland, devicetree, linux-kernel

This enables SYSCON_REBOOT_MODE as a module. This is used by LEGO
MINDSTORMS EV3 to reboot into a special firmware update mode.

Signed-off-by: David Lechner <david@lechnology.com>
---
 arch/arm/configs/davinci_all_defconfig | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/arm/configs/davinci_all_defconfig b/arch/arm/configs/davinci_all_defconfig
index 282b3e4..62f853f 100644
--- a/arch/arm/configs/davinci_all_defconfig
+++ b/arch/arm/configs/davinci_all_defconfig
@@ -135,6 +135,7 @@ CONFIG_GPIO_PCA953X=y
 CONFIG_GPIO_PCA953X_IRQ=y
 CONFIG_POWER_RESET=y
 CONFIG_POWER_RESET_GPIO=y
+CONFIG_SYSCON_REBOOT_MODE=m
 CONFIG_BATTERY_LEGO_EV3=m
 CONFIG_WATCHDOG=y
 CONFIG_DAVINCI_WATCHDOG=m
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH 1/2] ARM: dts: da850-lego-ev3: Add node for reboot modes
       [not found]     ` <1515723685-19286-2-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
@ 2018-01-12  2:22       ` David Lechner
  0 siblings, 0 replies; 4+ messages in thread
From: David Lechner @ 2018-01-12  2:22 UTC (permalink / raw)
  To: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r
  Cc: Sekhar Nori, Kevin Hilman, Rob Herring, Mark Rutland,
	devicetree-u79uwXL29TY76Z2rM5mHXA,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

On 01/11/2018 08:21 PM, David Lechner wrote:
> This adds a new node for reboot modes on LEGO MINDSTORMS EV3. The EV3's
> bootloader looks for a magic number in the ARM local RAM and if found,
> it will boot into a special firmware update mode where the flash memory
> can be written via USB.
> 
> This has been testing working using the command:
> 
>      # systemctl reboot loader
> 
> Signed-off-by: David Lechner <david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
> ---

Doh. I forgot to rebase, so this won't apply cleanly. V2 coming right up.

--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-01-12  2:22 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-12  2:21 [PATCH 0/2] Add reboot modes for LEGO MINDSTORMS EV3 David Lechner
     [not found] ` <1515723685-19286-1-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
2018-01-12  2:21   ` [PATCH 1/2] ARM: dts: da850-lego-ev3: Add node for reboot modes David Lechner
     [not found]     ` <1515723685-19286-2-git-send-email-david-nq/r/kbU++upp/zk7JDF2g@public.gmane.org>
2018-01-12  2:22       ` David Lechner
2018-01-12  2:21 ` [PATCH 2/2] ARM: davinci_all_defconfig: enable SYSCON_REBOOT_MODE David Lechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).