[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1515723685-19286-2-git-send-email-david@lechnology.com>
Date: Thu, 11 Jan 2018 20:21:24 -0600
From: David Lechner <david@...hnology.com>
To: linux-arm-kernel@...ts.infradead.org
Cc: David Lechner <david@...hnology.com>, Sekhar Nori <nsekhar@...com>,
Kevin Hilman <khilman@...nel.org>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 1/2] ARM: dts: da850-lego-ev3: Add node for reboot modes
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@...hnology.com>
---
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@...f0000 {
+ 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
Powered by blists - more mailing lists