public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH] sunxi: dts: OrangePi Zero: Fixup SPI flash device node
@ 2022-07-07  8:25 Michal Suchanek
  2022-07-09  6:59 ` [PATCH v2] sunxi: dts: Fix SPI NOR campatible on Orange Pi Zero Michal Suchanek
  0 siblings, 1 reply; 3+ messages in thread
From: Michal Suchanek @ 2022-07-07  8:25 UTC (permalink / raw)
  To: u-boot; +Cc: Michal Suchanek, Matthias Brugger, Andre Przywara, Jagan Teki

For some reason the flash cannot be probed as is - the u-boot DT lookup
code fails to find the definition, and sf complains about invalid cs.

Fixes: 280294c5df ("sunxi: boards: Enable SPI flash support in U-Boot proper")
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
 arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
index b08e84c616..034f0f77a0 100644
--- a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
@@ -167,10 +167,8 @@
 	/* Enable SPI NOR by default: it optional on Orange Pi Zero boards */
 	status = "okay";
 
-	flash@0 {
-		#address-cells = <1>;
-		#size-cells = <1>;
-		compatible = "mxicy,mx25l1606e", "winbond,w25q128";
+	spiflash: flash@0 {
+		compatible = "mxicy,mx25l1606e", "winbond,w25q128", "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <40000000>;
 	};
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2] sunxi: dts: Fix SPI NOR campatible on Orange Pi Zero
  2022-07-07  8:25 [PATCH] sunxi: dts: OrangePi Zero: Fixup SPI flash device node Michal Suchanek
@ 2022-07-09  6:59 ` Michal Suchanek
  2022-07-09 19:53   ` Andre Przywara
  0 siblings, 1 reply; 3+ messages in thread
From: Michal Suchanek @ 2022-07-09  6:59 UTC (permalink / raw)
  To: u-boot
  Cc: Michal Suchanek, Matthias Brugger, Jernej Skrabec, Andre Przywara,
	Jagan Teki

The device tree should include generic "jedec,spi-nor" compatible, and a
manufacturer-specific one.
The macronix part is what is shipped on the boards that come with a
flash chip.

Fixes: 280294c5df ("sunxi: boards: Enable SPI flash support in U-Boot proper")
Signed-off-by: Michal Suchanek <msuchanek@suse.de>
---
v2: cherry-pick from Linux
 arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
index b08e84c616..80c1e66b38 100644
--- a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
+++ b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
@@ -170,7 +170,7 @@
 	flash@0 {
 		#address-cells = <1>;
 		#size-cells = <1>;
-		compatible = "mxicy,mx25l1606e", "winbond,w25q128";
+		compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
 		reg = <0>;
 		spi-max-frequency = <40000000>;
 	};
-- 
2.36.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] sunxi: dts: Fix SPI NOR campatible on Orange Pi Zero
  2022-07-09  6:59 ` [PATCH v2] sunxi: dts: Fix SPI NOR campatible on Orange Pi Zero Michal Suchanek
@ 2022-07-09 19:53   ` Andre Przywara
  0 siblings, 0 replies; 3+ messages in thread
From: Andre Przywara @ 2022-07-09 19:53 UTC (permalink / raw)
  To: Michal Suchanek; +Cc: u-boot, Matthias Brugger, Jernej Skrabec, Jagan Teki

On Sat,  9 Jul 2022 08:59:45 +0200
Michal Suchanek <msuchanek@suse.de> wrote:

Hi Michal,

> The device tree should include generic "jedec,spi-nor" compatible, and a
> manufacturer-specific one.
> The macronix part is what is shipped on the boards that come with a
> flash chip.

thanks for taking care and trying to bring those fixes upstream!

It seems that this patch alone doesn't do anything, as SPI0 is still
disabled in the DT. Also we normally don't pick single DT changes from
Linux, unless they fix a very particular U-Boot issue. Instead we try to
sync the DT files in batches, once they reached a certain maturity
state in the Linux tree (for instance merged into Linus' tree).

So as this one here doesn't do anything, we will just pick it up as
part of the next sync, which I guess is around Linux 5.20-rc1, due in
about a month.

As mentioned on IRC, I would be interested in solving this "SPI flash is
optional" issue. IIUC there was pushback in Linux against blanketly
enabling the SPI flash on this board, as there were boards sold without
the chip? (Do you have a link to that discussion?) So the plan would be
to detect the availability of the SPI flash in U-Boot, and then disable
it (in the DT passed to the kernel), when the chip is not populated.
Then we can send a patch to Linux to enable it in the DT, and sync that
back.
I would be grateful if someone could investigate the code it
takes to pull this off.

Thanks,
Andre

> 
> Fixes: 280294c5df ("sunxi: boards: Enable SPI flash support in U-Boot proper")
> Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> ---
> v2: cherry-pick from Linux
>  arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
> index b08e84c616..80c1e66b38 100644
> --- a/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
> +++ b/arch/arm/dts/sun8i-h2-plus-orangepi-zero.dts
> @@ -170,7 +170,7 @@
>  	flash@0 {
>  		#address-cells = <1>;
>  		#size-cells = <1>;
> -		compatible = "mxicy,mx25l1606e", "winbond,w25q128";
> +		compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
>  		reg = <0>;
>  		spi-max-frequency = <40000000>;
>  	};


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-07-09 19:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-07  8:25 [PATCH] sunxi: dts: OrangePi Zero: Fixup SPI flash device node Michal Suchanek
2022-07-09  6:59 ` [PATCH v2] sunxi: dts: Fix SPI NOR campatible on Orange Pi Zero Michal Suchanek
2022-07-09 19:53   ` Andre Przywara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox