2024-06-03 15:09:46

by Matthias Brugger

[permalink] [raw]
Subject: [PATCH] riscv: dts: starfive: Update flash partition layout

From: Matthias Brugger <[email protected]>

Up to now, the describe flash partition layout has some gaps.
Use the whole flash chip by getting rid of the gaps.

Suggested-by: Heinrich Schuchardt <[email protected]>
Signed-off-by: Matthias Brugger <[email protected]>

---

arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
index 8ff6ea64f0489..37b4c294ffcc5 100644
--- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
+++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
@@ -321,16 +321,13 @@ partitions {
#size-cells = <1>;

spl@0 {
- reg = <0x0 0x80000>;
+ reg = <0x0 0xf0000>;
};
uboot-env@f0000 {
reg = <0xf0000 0x10000>;
};
uboot@100000 {
- reg = <0x100000 0x400000>;
- };
- reserved-data@600000 {
- reg = <0x600000 0xa00000>;
+ reg = <0x100000 0xf00000>;
};
};
};
--
2.45.1



2024-06-03 15:27:39

by Heinrich Schuchardt

[permalink] [raw]
Subject: Re: [PATCH] riscv: dts: starfive: Update flash partition layout

On 03.06.24 17:07, [email protected] wrote:
> From: Matthias Brugger <[email protected]>
>
> Up to now, the describe flash partition layout has some gaps.
> Use the whole flash chip by getting rid of the gaps.
>
> Suggested-by: Heinrich Schuchardt <[email protected]>
> Signed-off-by: Matthias Brugger <[email protected]>

For flashing larger firmware like EDK II it is helpful to maximize the
partition sizes. Thanks for sending the patch.

Commit 8384087a ("riscv: dts: starfive: Add QSPI controller node for
StarFive JH7110 SoC")
https://lore.kernel.org/linux-riscv/[email protected]/
introduced the current layout.

CCing Starfive's U-Boot reviewers.

Reviewed-by: Heinrich Schuchardt <[email protected]>

>
> ---
>
> arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> index 8ff6ea64f0489..37b4c294ffcc5 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> @@ -321,16 +321,13 @@ partitions {
> #size-cells = <1>;
>
> spl@0 {
> - reg = <0x0 0x80000>;
> + reg = <0x0 0xf0000>;
> };
> uboot-env@f0000 {
> reg = <0xf0000 0x10000>;
> };
> uboot@100000 {
> - reg = <0x100000 0x400000>;
> - };
> - reserved-data@600000 {
> - reg = <0x600000 0xa00000>;
> + reg = <0x100000 0xf00000>;
> };
> };
> };


2024-06-03 16:11:15

by Emil Renner Berthing

[permalink] [raw]
Subject: Re: [PATCH] riscv: dts: starfive: Update flash partition layout

matthias.bgg@ wrote:
> From: Matthias Brugger <[email protected]>
>
> Up to now, the describe flash partition layout has some gaps.
> Use the whole flash chip by getting rid of the gaps.
>
> Suggested-by: Heinrich Schuchardt <[email protected]>
> Signed-off-by: Matthias Brugger <[email protected]>

Hi Matthias,

Thanks for the patch.

>
> ---
>
> arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 7 ++-----
> 1 file changed, 2 insertions(+), 5 deletions(-)
>
> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> index 8ff6ea64f0489..37b4c294ffcc5 100644
> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> @@ -321,16 +321,13 @@ partitions {
> #size-cells = <1>;
>
> spl@0 {
> - reg = <0x0 0x80000>;
> + reg = <0x0 0xf0000>;

..this is definitely fine, but..

> };
> uboot-env@f0000 {
> reg = <0xf0000 0x10000>;
> };
> uboot@100000 {
> - reg = <0x100000 0x400000>;
> - };
> - reserved-data@600000 {
> - reg = <0x600000 0xa00000>;
> + reg = <0x100000 0xf00000>;

Do we know that all of the VF2 1.2A, VF2 1.3B and Milk-V Mars boards have at
least 15kB SPI flash chips? In other words were there a reason this previously
ended at 10kB?

Also it looks like my Mars board and VF2 1.3B both report discovering a
"gd25lq128d" chip of 16kB, so why stop at 15kB?

/Emil

2024-06-03 17:59:53

by Heinrich Schuchardt

[permalink] [raw]
Subject: Re: [PATCH] riscv: dts: starfive: Update flash partition layout

On 6/3/24 18:10, Emil Renner Berthing wrote:
> matthias.bgg@ wrote:
>> From: Matthias Brugger <[email protected]>
>>
>> Up to now, the describe flash partition layout has some gaps.
>> Use the whole flash chip by getting rid of the gaps.
>>
>> Suggested-by: Heinrich Schuchardt <[email protected]>
>> Signed-off-by: Matthias Brugger <[email protected]>
>
> Hi Matthias,
>
> Thanks for the patch.
>
>>
>> ---
>>
>> arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 7 ++-----
>> 1 file changed, 2 insertions(+), 5 deletions(-)
>>
>> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
>> index 8ff6ea64f0489..37b4c294ffcc5 100644
>> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
>> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
>> @@ -321,16 +321,13 @@ partitions {
>> #size-cells = <1>;
>>
>> spl@0 {
>> - reg = <0x0 0x80000>;
>> + reg = <0x0 0xf0000>;
>
> ..this is definitely fine, but..
>
>> };
>> uboot-env@f0000 {
>> reg = <0xf0000 0x10000>;
>> };
>> uboot@100000 {
>> - reg = <0x100000 0x400000>;
>> - };
>> - reserved-data@600000 {
>> - reg = <0x600000 0xa00000>;
>> + reg = <0x100000 0xf00000>;
>
> Do we know that all of the VF2 1.2A, VF2 1.3B and Milk-V Mars boards have at
> least 15kB SPI flash chips? In other words were there a reason this previously
> ended at 10kB?
>
> Also it looks like my Mars board and VF2 1.3B both report discovering a
> "gd25lq128d" chip of 16kB, so why stop at 15kB?

Hello Emil,

0xf00000 (15 MiB) is the value of the size-cell. gd25lq128d has 128 Mbit
(=16 MiB).

Cf. the examples in
Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml

The prior partition scheme had a partition 'reserved-data' also ending
at 16 MiB. We don't change the expected size with the current patch.

Best regards

Heinrich

>
> /Emil


2024-06-03 20:31:57

by Emil Renner Berthing

[permalink] [raw]
Subject: Re: [PATCH] riscv: dts: starfive: Update flash partition layout

Heinrich Schuchardt wrote:
> On 6/3/24 18:10, Emil Renner Berthing wrote:
> > matthias.bgg@ wrote:
> >> From: Matthias Brugger <[email protected]>
> >>
> >> Up to now, the describe flash partition layout has some gaps.
> >> Use the whole flash chip by getting rid of the gaps.
> >>
> >> Suggested-by: Heinrich Schuchardt <[email protected]>
> >> Signed-off-by: Matthias Brugger <[email protected]>
> >
> > Hi Matthias,
> >
> > Thanks for the patch.
> >
> >>
> >> ---
> >>
> >> arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 7 ++-----
> >> 1 file changed, 2 insertions(+), 5 deletions(-)
> >>
> >> diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> >> index 8ff6ea64f0489..37b4c294ffcc5 100644
> >> --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> >> +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> >> @@ -321,16 +321,13 @@ partitions {
> >> #size-cells = <1>;
> >>
> >> spl@0 {
> >> - reg = <0x0 0x80000>;
> >> + reg = <0x0 0xf0000>;
> >
> > ..this is definitely fine, but..
> >
> >> };
> >> uboot-env@f0000 {
> >> reg = <0xf0000 0x10000>;
> >> };
> >> uboot@100000 {
> >> - reg = <0x100000 0x400000>;
> >> - };
> >> - reserved-data@600000 {
> >> - reg = <0x600000 0xa00000>;
> >> + reg = <0x100000 0xf00000>;
> >
> > Do we know that all of the VF2 1.2A, VF2 1.3B and Milk-V Mars boards have at
> > least 15kB SPI flash chips? In other words were there a reason this previously
> > ended at 10kB?
> >
> > Also it looks like my Mars board and VF2 1.3B both report discovering a
> > "gd25lq128d" chip of 16kB, so why stop at 15kB?
>
> Hello Emil,
>
> 0xf00000 (15 MiB) is the value of the size-cell. gd25lq128d has 128 Mbit
> (=16 MiB).
>
> Cf. the examples in
> Documentation/devicetree/bindings/mtd/partitions/fixed-partitions.yaml
>
> The prior partition scheme had a partition 'reserved-data' also ending
> at 16 MiB. We don't change the expected size with the current patch.

Oh, you're right. I totally misread that, sorry. You can add my

Reviewed-by: Emil Renner Berthing <[email protected]>

2024-06-04 08:25:10

by Hal Feng

[permalink] [raw]
Subject: RE: [PATCH] riscv: dts: starfive: Update flash partition layout

> On 03.06.24 23:27, Heinrich Schuchardt wrote:
> On 03.06.24 17:07, [email protected] wrote:
> > From: Matthias Brugger <[email protected]>
> >
> > Up to now, the describe flash partition layout has some gaps.
> > Use the whole flash chip by getting rid of the gaps.
> >
> > Suggested-by: Heinrich Schuchardt <[email protected]>
> > Signed-off-by: Matthias Brugger <[email protected]>
>
> For flashing larger firmware like EDK II it is helpful to maximize the partition sizes.
> Thanks for sending the patch.
>
> Commit 8384087a ("riscv: dts: starfive: Add QSPI controller node for StarFive
> JH7110 SoC") https://lore.kernel.org/linux-riscv/20230804020254.291239-4-
> [email protected]/
> introduced the current layout.
>
> CCing Starfive's U-Boot reviewers.
>
> Reviewed-by: Heinrich Schuchardt <[email protected]>

We added a "reserved-data" partition because the u-boot of VF2 didn't
require a large space and users can use this partition to do something
they want.

Best regards,
Hal

>
> >
> > ---
> >
> > arch/riscv/boot/dts/starfive/jh7110-common.dtsi | 7 ++-----
> > 1 file changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > index 8ff6ea64f0489..37b4c294ffcc5 100644
> > --- a/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > +++ b/arch/riscv/boot/dts/starfive/jh7110-common.dtsi
> > @@ -321,16 +321,13 @@ partitions {
> > #size-cells = <1>;
> >
> > spl@0 {
> > - reg = <0x0 0x80000>;
> > + reg = <0x0 0xf0000>;
> > };
> > uboot-env@f0000 {
> > reg = <0xf0000 0x10000>;
> > };
> > uboot@100000 {
> > - reg = <0x100000 0x400000>;
> > - };
> > - reserved-data@600000 {
> > - reg = <0x600000 0xa00000>;
> > + reg = <0x100000 0xf00000>;
> > };
> > };
> > };

2024-06-04 17:18:24

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH] riscv: dts: starfive: Update flash partition layout

From: Conor Dooley <[email protected]>

On Mon, 03 Jun 2024 17:07:55 +0200, [email protected] wrote:
> Up to now, the describe flash partition layout has some gaps.
> Use the whole flash chip by getting rid of the gaps.
>
>

Applied to riscv-dt-for-next, thanks!

[1/1] riscv: dts: starfive: Update flash partition layout
https://git.kernel.org/conor/c/1dc5f8f6ea73

Thanks,
Conor.