2022-01-23 14:25:52

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 0/3] arm64: dts: meson: add BL32 reserved region to Beelink g12b devices

This resolves a long-running issue where Beelink GT-King/Pro and
GS-King-X wedge on boot or shortly after when booting from vendor
u-boot. In some distros the issue is often reported as triggered
by large file transfers to/from USB or SD cards. Reserving the
BL32 memory region prevents the issue.

Christian Hewitt (3):
arm64: dts: meson: add BL32 reserved-memory region to GT-King
arm64: dts: meson: add BL32 reserved-memory region to GT-King Pro
arm64: dts: meson: add BL32 reserved-memory region to GS-King-X

arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts | 8 ++++++++
arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts | 8 ++++++++
arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts | 8 ++++++++
3 files changed, 24 insertions(+)

--
2.17.1


2022-01-23 14:34:24

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 1/3] arm64: dts: meson: add BL32 reserved-memory region to GT-King

Add an additional reserved memory region for the BL32 trusted firmware
shipping in Beelink g12b devices. This fixes a long running issue with
boxes booting from Vendor u-boot where the board wedges during boot or
soon after due to the (un)reserved region being overwritten.

Fixes commit c5522ff9c729 ("arm64: dts: meson-g12b-gtking: add initial device-tree")
Signed-off-by: Christian Hewitt <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
index 5d96c1449050..58a300d6b545 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
@@ -19,6 +19,14 @@
rtc1 = &vrtc;
};

+ reserved-memory {
+ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */
+ secmon_reserved_bl32: secmon@5300000 {
+ reg = <0x0 0x05300000 0x0 0x2000000>;
+ no-map;
+ };
+ };
+
spdif_dit: audio-codec-1 {
#sound-dai-cells = <0>;
compatible = "linux,spdif-dit";
--
2.17.1

2022-01-23 14:44:43

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 2/3] arm64: dts: meson: add BL32 reserved-memory region to GT-King Pro

Add an additional reserved memory region for the BL32 trusted firmware
shipping in Beelink g12b devices. This fixes a long running issue with
boxes booting from Vendor u-boot where the board wedges during boot or
soon after due to the (un)reserved region being overwritten.

Fixes commit 0b928e4e412b ("arm64: dts: meson-g12b-gtking-pro: add initial device-tree")
Signed-off-by: Christian Hewitt <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
index 707daf92787b..7782fc9fc12b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
@@ -19,6 +19,14 @@
rtc1 = &vrtc;
};

+ reserved-memory {
+ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */
+ secmon_reserved_bl32: secmon@5300000 {
+ reg = <0x0 0x05300000 0x0 0x2000000>;
+ no-map;
+ };
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
--
2.17.1

2022-01-23 14:44:43

by Christian Hewitt

[permalink] [raw]
Subject: [PATCH 3/3] arm64: dts: meson: add BL32 reserved-memory region to GS-King-X

Add an additional reserved memory region for the BL32 trusted firmware
shipping in Beelink g12b devices. This fixes a long running issue with
boxes booting from Vendor u-boot where the board wedges during boot or
soon after due to the (un)reserved region being overwritten.

Fixes commit 93db2ce05204 ("arm64: dts: meson: add initial Beelink GS-King-X device-tree")
Signed-off-by: Christian Hewitt <[email protected]>
Tested-by: Furkan Kardame <[email protected]>
---
arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
index 6c7bfacbad78..c6178cbe3a9b 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
@@ -20,6 +20,14 @@
rtc1 = &vrtc;
};

+ reserved-memory {
+ /* 32 MiB reserved for ARM Trusted Firmware (BL32) */
+ secmon_reserved_bl32: secmon@5300000 {
+ reg = <0x0 0x05300000 0x0 0x2000000>;
+ no-map;
+ };
+ };
+
gpio-keys-polled {
compatible = "gpio-keys-polled";
#address-cells = <1>;
--
2.17.1

2022-01-24 21:54:12

by Kevin Hilman

[permalink] [raw]
Subject: Re: [PATCH 0/3] arm64: dts: meson: add BL32 reserved region to Beelink g12b devices

Christian Hewitt <[email protected]> writes:

> This resolves a long-running issue where Beelink GT-King/Pro and
> GS-King-X wedge on boot or shortly after when booting from vendor
> u-boot. In some distros the issue is often reported as triggered
> by large file transfers to/from USB or SD cards. Reserving the
> BL32 memory region prevents the issue.

The BL32 is typically common for the SoC family, so this change should
probably go into the g12b.dtsi. Or probably even
meson-g12-common.dtsi, which is where the BL31 reserved-memory is
described.

Kevin


2022-01-25 08:57:50

by Christian Hewitt

[permalink] [raw]
Subject: Re: [PATCH 0/3] arm64: dts: meson: add BL32 reserved region to Beelink g12b devices

>
> On 25 Jan 2022, at 12:02 am, Kevin Hilman <[email protected]> wrote:
>
> Christian Hewitt <[email protected]> writes:
>
>> This resolves a long-running issue where Beelink GT-King/Pro and
>> GS-King-X wedge on boot or shortly after when booting from vendor
>> u-boot. In some distros the issue is often reported as triggered
>> by large file transfers to/from USB or SD cards. Reserving the
>> BL32 memory region prevents the issue.
>
> The BL32 is typically common for the SoC family, so this change should
> probably go into the g12b.dtsi. Or probably even
> meson-g12-common.dtsi, which is where the BL31 reserved-memory is
> described.

Hi Kevin,

Would you be okay with the same change applied to GX devices too? - I
normally have these two catch-all patches in my tree to deal with random
tv box hardware and it would be great to drop them:

https://github.com/chewitt/linux/commit/4315ea4612389fc08d0a008b562cafbda96374fc
https://github.com/chewitt/linux/commit/3c0df794baa7ea9d32d8ad54530b5a056c770ea9

Christian

2022-01-25 22:47:21

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH 0/3] arm64: dts: meson: add BL32 reserved region to Beelink g12b devices

Hi,

On 25/01/2022 05:02, Christian Hewitt wrote:
>
>> On 25 Jan 2022, at 12:02 am, Kevin Hilman <[email protected] <mailto:[email protected]>> wrote:
>>
>> Christian Hewitt <[email protected] <mailto:[email protected]>> writes:
>>
>>> This resolves a long-running issue where Beelink GT-King/Pro and
>>> GS-King-X wedge on boot or shortly after when booting from vendor
>>> u-boot. In some distros the issue is often reported as triggered
>>> by large file transfers to/from USB or SD cards. Reserving the
>>> BL32 memory region prevents the issue.
>>
>> The BL32 is typically common for the SoC family, so this change should
>> probably go into the g12b.dtsi. ?Or probably even
>> meson-g12-common.dtsi, which is where the BL31 reserved-memory is
>> described.
>
> Hi Kevin,
>
> Would you be okay with the same change applied to GX devices too? - I
> normally have these two catch-all patches in my tree to deal with random
> tv box hardware and it would be great to drop them:
>
> https://github.com/chewitt/linux/commit/4315ea4612389fc08d0a008b562cafbda96374fc <https://github.com/chewitt/linux/commit/4315ea4612389fc08d0a008b562cafbda96374fc>
> https://github.com/chewitt/linux/commit/3c0df794baa7ea9d32d8ad54530b5a056c770ea9 <https://github.com/chewitt/linux/commit/3c0df794baa7ea9d32d8ad54530b5a056c770ea9>

Sure, it has been done in a similar way for bl31:
https://github.com/torvalds/linux/commit/48e21ded0432ee1e2359d4143d7a6925cefee1b5

in a perfect work we wouldn't need this since mainline U-Boot does the job by reserving these
memory zones, but vendor u-boot exists and isn't avoidable.

Neil

>
> Christian