Add support to hikey dts and defconfig for the sram-reboot-mode driver. The dts entries added here should really be generated by the UEFI firmware, and not be static in the dts, since one may be using different firmware on HiKey. But this patch provides an example of how the sram-reboot-mode entry would otherwise look. Cc: Andy Yan <andy.yan@xxxxxxxxxxxxxx> Cc: Rob Herring <robh@xxxxxxxxxx> Cc: Arnd Bergmann <arnd@xxxxxxxx> Cc: Thierry Reding <treding@xxxxxxxxxx> Cc: Heiko Stübner <heiko@xxxxxxxxx> Cc: Caesar Wang <wxt@xxxxxxxxxxxxxx> Cc: Kees Cook <keescook@xxxxxxxxxxxx> Cc: Guodong Xu <guodong.xu@xxxxxxxxxx> Cc: Haojian Zhuang <haojian.zhuang@xxxxxxxxxx> Cc: Vishal Bhoj <vishal.bhoj@xxxxxxxxxx> Cc: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Cc: devicetree@xxxxxxxxxxxxxxx Cc: Android Kernel Team <kernel-team@xxxxxxxxxxx> Signed-off-by: John Stultz <john.stultz@xxxxxxxxxx> --- arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 36 ++++++++++++++++++++++++++ arch/arm64/configs/hikey_defconfig | 3 +++ 2 files changed, 39 insertions(+) diff --git a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts index 92f1704..67d12d0 100644 --- a/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts +++ b/arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts @@ -52,6 +52,11 @@ <0x0 0x0740f000 0x0 0x00001000>; /* MCU firmware section */ }; + reboot-reason@05f01000 { + no-map; + reg = <0x0 0x05f01000 0x0 0x00001000>; + }; + mbox-buf@06dff000 { no-map; reg = <0x0 0x06dff000 0x0 0x00001000>; /* Mailbox message buf */ @@ -71,6 +76,37 @@ ftrace-size = <0x0 0x00020000>; }; + + /* This entry should really be provided by the UEFI firmware */ + sram@5f01000 { + compatible = "mmio-sram", "simple-bus"; + reg = <0x0 0x05f01000 0x0 0x00001000>; + ranges = <0x0 0x0 0x05f01000 0x00001000>; + + #address-cells = <1>; + #size-cells = <1>; + + reboot-mode@0 { + compatible = "sram-reboot-mode"; + reg = <0x0 0x4>; + + none { + linux,mode = "none"; + loader,magic = <0x77665501>; + }; + + bootloader { + linux,mode = "bootloader"; + loader,magic = <0x77665500>; + }; + + recovery { + linux,mode = "recovery"; + loader,magic = <0x77665502>; + }; + }; + }; + smb { uart0: uart@f8015000 { /* console */ status = "ok"; diff --git a/arch/arm64/configs/hikey_defconfig b/arch/arm64/configs/hikey_defconfig index a8375aa..e9db588 100644 --- a/arch/arm64/configs/hikey_defconfig +++ b/arch/arm64/configs/hikey_defconfig @@ -201,6 +201,7 @@ CONFIG_BLK_DEV_LOOP=y CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_RAM_SIZE=16384 CONFIG_VIRTIO_BLK=y +CONFIG_SRAM=y CONFIG_TI_ST=y CONFIG_ST_HCI=y # CONFIG_SCSI_PROC_FS is not set @@ -266,6 +267,8 @@ CONFIG_SPI_PL022=y CONFIG_GPIO_SYSFS=y CONFIG_GPIO_XGENE=y CONFIG_POWER_RESET_SYSCON=y +CONFIG_SYSCON_REBOOT_MODE=y +CONFIG_SRAM_REBOOT_MODE=y CONFIG_THERMAL=y CONFIG_THERMAL_WRITABLE_TRIPS=y CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR=y -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html