ARM: dts: da850-lego-ev3: Add node for reboot modes
authorDavid Lechner <david@lechnology.com>
Fri, 12 Jan 2018 02:29:50 +0000 (20:29 -0600)
committerSekhar Nori <nsekhar@ti.com>
Fri, 23 Feb 2018 11:47:02 +0000 (17:17 +0530)
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@lechnology.com>
Signed-off-by: Sekhar Nori <nsekhar@ti.com>
arch/arm/boot/dts/da850-lego-ev3.dts

index 81942ae..2e85080 100644 (file)
                io-channel-names = "voltage", "current";
                rechargeable-gpios = <&gpio 136 GPIO_ACTIVE_LOW>;
        };
+
+       /* 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>;
+               };
+       };
 };
 
 &pmx_core {