On Mon, Jun 12, 2017 at 9:32 AM, Neil Armstrong <narmstrong@xxxxxxxxxxxx> wrote: > 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. good catch, thanks it seems that "secmon@" is still a copy-and-paste left-over so I'd rather change the whole line to "power_firmware: power-firmware-memory@4f00000" (as it's definitely not the secure monitor firmware) instead does that also sound good for you? Regards, Martin -- 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