diff mbox series

[v1] ARM: dts: Fix 64MiB OpenBMC flash layout and aspeed-ast2600-evb.dts

Message ID 20210316085932.2601-1-troy_lee@aspeedtech.com (mailing list archive)
State New, archived
Headers show
Series [v1] ARM: dts: Fix 64MiB OpenBMC flash layout and aspeed-ast2600-evb.dts | expand

Commit Message

Troy Lee March 16, 2021, 8:59 a.m. UTC
Aspeed AST2600 u-boot requires 600KiB+ flash space. Sharing the same
openbmc-flash-layout-64.dtsi requires to resize the flash partition.

The updated flash layout as follows:
- u-boot: 896 KiB
- u-boot-env: 128 KiB
- kernel: 9MiB
- rofs: 32 MiB
- rwfs: 22 MiB

Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
---
 arch/arm/boot/dts/aspeed-ast2600-evb.dts      | 32 +------------------
 .../arm/boot/dts/openbmc-flash-layout-64.dtsi | 18 +++++------
 2 files changed, 10 insertions(+), 40 deletions(-)

Comments

Joel Stanley April 16, 2021, 3:03 a.m. UTC | #1
On Tue, 16 Mar 2021 at 08:59, Troy Lee <troy_lee@aspeedtech.com> wrote:
>
> Aspeed AST2600 u-boot requires 600KiB+ flash space. Sharing the same
> openbmc-flash-layout-64.dtsi requires to resize the flash partition.
>
> The updated flash layout as follows:
> - u-boot: 896 KiB
> - u-boot-env: 128 KiB
> - kernel: 9MiB
> - rofs: 32 MiB
> - rwfs: 22 MiB

Changing the 64MB layout will break the systems that are already using
this layout. I'll get the Bytedance people to chime in, as theirs is
the only system using this layout so far.

John, Lei?

>
> Signed-off-by: Troy Lee <troy_lee@aspeedtech.com>
> ---
>  arch/arm/boot/dts/aspeed-ast2600-evb.dts      | 32 +------------------
>  .../arm/boot/dts/openbmc-flash-layout-64.dtsi | 18 +++++------
>  2 files changed, 10 insertions(+), 40 deletions(-)
>
> diff --git a/arch/arm/boot/dts/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed-ast2600-evb.dts
> index 89be13197780..2cfae9cfed3a 100644
> --- a/arch/arm/boot/dts/aspeed-ast2600-evb.dts
> +++ b/arch/arm/boot/dts/aspeed-ast2600-evb.dts
> @@ -121,37 +121,7 @@ flash@0 {
>                 m25p,fast-read;
>                 label = "bmc";
>                 spi-max-frequency = <50000000>;
> -
> -               partitions {
> -                       compatible = "fixed-partitions";
> -                       #address-cells = <1>;
> -                       #size-cells = <1>;
> -
> -                       u-boot@0 {
> -                               reg = <0x0 0xe0000>; // 896KB
> -                               label = "u-boot";
> -                       };
> -
> -                       u-boot-env@e0000 {
> -                               reg = <0xe0000 0x20000>; // 128KB
> -                               label = "u-boot-env";
> -                       };
> -
> -                       kernel@100000 {
> -                               reg = <0x100000 0x900000>; // 9MB
> -                               label = "kernel";
> -                       };
> -
> -                       rofs@a00000 {
> -                               reg = <0xa00000 0x2000000>; // 32MB
> -                               label = "rofs";
> -                       };
> -
> -                       rwfs@6000000 {
> -                               reg = <0x2a00000 0x1600000>; // 22MB
> -                               label = "rwfs";
> -                       };
> -               };
> +#include "openbmc-flash-layout-64.dtsi"
>         };
>  };
>
> diff --git a/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi b/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi
> index 91163867be34..31f59de5190b 100644
> --- a/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi
> +++ b/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi
> @@ -9,27 +9,27 @@ partitions {
>         #size-cells = <1>;
>
>         u-boot@0 {
> -               reg = <0x0 0x60000>; // 384KB
> +               reg = <0x0 0xe0000>; // 896KB
>                 label = "u-boot";
>         };
>
> -       u-boot-env@60000 {
> -               reg = <0x60000 0x20000>; // 128KB
> +       u-boot-env@e0000 {
> +               reg = <0xe0000 0x20000>; // 128KB
>                 label = "u-boot-env";
>         };
>
> -       kernel@80000 {
> -               reg = <0x80000 0x500000>; // 5MB
> +       kernel@100000 {
> +               reg = <0x100000 0x900000>; // 9MB
>                 label = "kernel";
>         };
>
> -       rofs@580000 {
> -               reg = <0x580000 0x2a80000>; // 42.5MB
> +       rofs@a00000 {
> +               reg = <0xa00000 0x2000000>; // 32MB
>                 label = "rofs";
>         };
>
> -       rwfs@3000000 {
> -               reg = <0x3000000 0x1000000>; // 16MB
> +       rwfs@6000000 {
> +               reg = <0x2a00000 0x1600000>; // 22MB
>                 label = "rwfs";
>         };
>  };
> --
> 2.25.1
>
Lei Yu April 16, 2021, 7:35 a.m. UTC | #2
On Fri, Apr 16, 2021 at 11:03 AM Joel Stanley <joel@jms.id.au> wrote:
>
> On Tue, 16 Mar 2021 at 08:59, Troy Lee <troy_lee@aspeedtech.com> wrote:
> >
> > Aspeed AST2600 u-boot requires 600KiB+ flash space. Sharing the same
> > openbmc-flash-layout-64.dtsi requires to resize the flash partition.
> >
> > The updated flash layout as follows:
> > - u-boot: 896 KiB
> > - u-boot-env: 128 KiB
> > - kernel: 9MiB
> > - rofs: 32 MiB
> > - rwfs: 22 MiB
>
> Changing the 64MB layout will break the systems that are already using
> this layout. I'll get the Bytedance people to chime in, as theirs is
> the only system using this layout so far.
>
> John, Lei?

Because the kernel's offset is updated, several other changes are required:
1. The related offsets, which is already sent to
https://gerrit.openbmc-project.xyz/c/openbmc/meta-phosphor/+/39343
2. The u-boot patch to update the `bootm` address and make sure it
only applies to the 64MiB layout.

Without the above two changes, I would suggest holding the merge.
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/aspeed-ast2600-evb.dts b/arch/arm/boot/dts/aspeed-ast2600-evb.dts
index 89be13197780..2cfae9cfed3a 100644
--- a/arch/arm/boot/dts/aspeed-ast2600-evb.dts
+++ b/arch/arm/boot/dts/aspeed-ast2600-evb.dts
@@ -121,37 +121,7 @@  flash@0 {
 		m25p,fast-read;
 		label = "bmc";
 		spi-max-frequency = <50000000>;
-
-		partitions {
-			compatible = "fixed-partitions";
-			#address-cells = <1>;
-			#size-cells = <1>;
-
-			u-boot@0 {
-				reg = <0x0 0xe0000>; // 896KB
-				label = "u-boot";
-			};
-
-			u-boot-env@e0000 {
-				reg = <0xe0000 0x20000>; // 128KB
-				label = "u-boot-env";
-			};
-
-			kernel@100000 {
-				reg = <0x100000 0x900000>; // 9MB
-				label = "kernel";
-			};
-
-			rofs@a00000 {
-				reg = <0xa00000 0x2000000>; // 32MB
-				label = "rofs";
-			};
-
-			rwfs@6000000 {
-				reg = <0x2a00000 0x1600000>; // 22MB
-				label = "rwfs";
-			};
-		};
+#include "openbmc-flash-layout-64.dtsi"
 	};
 };
 
diff --git a/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi b/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi
index 91163867be34..31f59de5190b 100644
--- a/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi
+++ b/arch/arm/boot/dts/openbmc-flash-layout-64.dtsi
@@ -9,27 +9,27 @@  partitions {
 	#size-cells = <1>;
 
 	u-boot@0 {
-		reg = <0x0 0x60000>; // 384KB
+		reg = <0x0 0xe0000>; // 896KB
 		label = "u-boot";
 	};
 
-	u-boot-env@60000 {
-		reg = <0x60000 0x20000>; // 128KB
+	u-boot-env@e0000 {
+		reg = <0xe0000 0x20000>; // 128KB
 		label = "u-boot-env";
 	};
 
-	kernel@80000 {
-		reg = <0x80000 0x500000>; // 5MB
+	kernel@100000 {
+		reg = <0x100000 0x900000>; // 9MB
 		label = "kernel";
 	};
 
-	rofs@580000 {
-		reg = <0x580000 0x2a80000>; // 42.5MB
+	rofs@a00000 {
+		reg = <0xa00000 0x2000000>; // 32MB
 		label = "rofs";
 	};
 
-	rwfs@3000000 {
-		reg = <0x3000000 0x1000000>; // 16MB
+	rwfs@6000000 {
+		reg = <0x2a00000 0x1600000>; // 22MB
 		label = "rwfs";
 	};
 };