On 06/11/2017 12:16 PM, Martin Blumenstingl wrote: > There seem to be two memory regions that need to be reserved, otherwise > the system just hangs when running: > $ stress --vm-bytes $(awk '/MemFree/{printf "%d\n", $2 * 0.9;}' < /proc/meminfo)k \ > --vm-keep -m 1 > > The first memory region is really crucial and without it the system > hangs. I could not find any references to this in Amlogic's GPL kernel > sources. > The second region is used by the "suspend firmware". The u-boot sources > (/arch/arm/cpu/aml_meson/m8/firmwareld.c) state that the suspend > firmware is located at "64M + 15M" which matches CONFIG_MESON_SUSPEND in > the Amlogic GPL kernel sources. The "suspend firmware" is responsible > for waking up the system from suspend state. > > This also fixes reading the full SD card as without this the system > would simply hang (probably related to the first memory region, if some > buffer is allocated there). > > Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx> > --- > arch/arm/boot/dts/meson8.dtsi | 27 +++++++++++++++++++++++++++ > 1 file changed, 27 insertions(+) > > diff --git a/arch/arm/boot/dts/meson8.dtsi b/arch/arm/boot/dts/meson8.dtsi > index 8582490fcb52..cf011dfe050e 100644 > --- a/arch/arm/boot/dts/meson8.dtsi > +++ b/arch/arm/boot/dts/meson8.dtsi > @@ -83,6 +83,33 @@ > reg = <0x203>; > }; > }; > + > + reserved-memory { > + #address-cells = <1>; > + #size-cells = <1>; > + ranges; > + > + /* 2 MiB reserved for Hardware ROM Firmware? */ > + hwrom_reserved: hwrom@0 { > + reg = <0x0 0x200000>; > + no-map; > + }; > + > + /* > + * 1 MiB reserved for the "ARM Power Firmware": this is ARM > + * code which is responsible for system suspend. It loads a > + * piece of ARC code ("arc_power" in the vendor u-boot tree) > + * into SRAM, executes that and shuts down the (last) ARM core. > + * The arc_power firmware then checks various wakeup sources > + * (IR remote receiver, HDMI CEC, WIFI and Bluetooth wakeup or > + * simply the power key) and re-starts the ARM core once it > + * detects a wakeup request. > + */ > + suspend_firmware: secmon@4f00000 { > + reg = <0x4f00000 0x100000>; > + no-map; > + }; > + }; > }; /* end of / */ > > &aobus { > Good, but maybe you could add _reserved to the secmon alias. Apart of that : Reviewed-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx> -- 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