Message ID | 1453855080-17760-4-git-send-email-john.stultz@linaro.org |
---|---|
State | New |
Headers | show |
On Tue, Jan 26, 2016 at 6:38 PM, John Stultz <john.stultz@linaro.org> wrote: > 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@rock-chips.com> > Cc: Rob Herring <robh@kernel.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Thierry Reding <treding@nvidia.com> > Cc: Heiko Stübner <heiko@sntech.de> > Cc: Caesar Wang <wxt@rock-chips.com> > Cc: Kees Cook <keescook@chromium.org> > Cc: Guodong Xu <guodong.xu@linaro.org> > Cc: Haojian Zhuang <haojian.zhuang@linaro.org> > Cc: Vishal Bhoj <vishal.bhoj@linaro.org> > Cc: Bjorn Andersson <bjorn.andersson@linaro.org> > Cc: devicetree@vger.kernel.org > Cc: Android Kernel Team <kernel-team@android.com> > Signed-off-by: John Stultz <john.stultz@linaro.org> > --- > 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>; > + }; > + This hunk should be dropped. These regions are for main memory. > 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"; The suggestion to put "simple-bus" here was really just for debugging. Really, the mmio-sram driver should call of_platform_default_populate to probe it's children. > + 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 >
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
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@rock-chips.com> Cc: Rob Herring <robh@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Thierry Reding <treding@nvidia.com> Cc: Heiko Stübner <heiko@sntech.de> Cc: Caesar Wang <wxt@rock-chips.com> Cc: Kees Cook <keescook@chromium.org> Cc: Guodong Xu <guodong.xu@linaro.org> Cc: Haojian Zhuang <haojian.zhuang@linaro.org> Cc: Vishal Bhoj <vishal.bhoj@linaro.org> Cc: Bjorn Andersson <bjorn.andersson@linaro.org> Cc: devicetree@vger.kernel.org Cc: Android Kernel Team <kernel-team@android.com> Signed-off-by: John Stultz <john.stultz@linaro.org> --- arch/arm64/boot/dts/hisilicon/hi6220-hikey.dts | 36 ++++++++++++++++++++++++++ arch/arm64/configs/hikey_defconfig | 3 +++ 2 files changed, 39 insertions(+) -- 1.9.1