Re: [PATCH] sunxi: dts: Fix SPI NOR campatible on Orange Pi Zero

Andre Przywara
2022-07-07T16:49:18Z

On Thu, 7 Jul 2022 18:38:55 +0200
Michal Suchanek <msuchanek@suse.de> wrote:

Hi,

> Without "jedec,spi-nor" compatible the flash memory cannot be probed by
> u-boot.
>
> Signed-off-by: Michal Suchanek <msuchanek@suse.de>
> ---
> arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
> index f19ed981da9d..d114bbc5f441 100644
> --- a/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
> +++ b/arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dts
> @@ -169,7 +169,7 @@ &spi0 {
> flash@0 {
> #address-cells = <1>;
> #size-cells = <1>;
> - compatible = "mxicy,mx25l1606e", "winbond,w25q128";
> + compatible = "mxicy,mx25l1606e", "winbond,w25q128", "jedec,spi-nor";

Naming three compatible strings violates the binding:
arch/arm/boot/dts/sun8i-h2-plus-orangepi-zero.dtb: flash@0: compatible: 'oneOf' conditional failed, one must be fixed:
['mxicy,mx25l1606e', 'winbond,w25q128', 'jedec,spi-nor'] is too long
'mxicy,mx25l1606e' is not one of ['issi,is25lp016d', 'micron,mt25qu02g', 'mxicy,mx25r1635f', 'mxicy,mx25u6435f', 'mxicy,mx25v8035f', 'spansion,s25sl12801', 'spansion,s25fs512s']
'jedec,spi-nor' was expected
From schema: Documentation/devicetree/bindings/mtd/jedec,spi-nor.yaml

Not entirely sure why it didn't scream before, actually, because to me it
looks like ending in jedec,spi-nor is mandatory.
Anyway, IIUC the Macronix chip was the one shipped with the (later)
boards, so we should use just that and "jedec,spi-nor".
The actual vendor would be detected at runtime anyway.

Cheers,
Andre

> reg = <0>;
> spi-max-frequency = <40000000>;
> };