On Wednesday 23 March 2022 17:13:21 Stefan Roese wrote: > Hi Pali, > > On 3/23/22 14:18, Pali Rohár wrote: > > Commit 0934dddc6436 ("arm: a37xx: Update DTS files to version from > > upstream Linux kernel") ported Linux's device-tree files for Armada 3720 > > SOCs. This broke SPI support on some Espressobin boards and results in > > following U-Boot error: > > > > Loading Environment from SPIFlash... jedec_spi_nor flash@0: unrecognized > > JEDEC id bytes: f7, 30, 0b > > *** Warning - spi_flash_probe_bus_cs() failed, using default environment > > > > Before that commit DT node for SPI was called 'spi-flash@0' and after > > that commit it is called 'flash@0'. Before that commit 'spi-max-frequency' > > was set to 50000000 and after it is 104000000. > > > > Rename DT node 'spi-flash@0 in armada-3720-espressobin-u-boot.dtsi to > > 'flash@0' and set custom U-Boot 'spi-max-frequency' back to 50000000. > > > > With this change SPI is working on Espressobin again and it is detected > > with JEDEC ids ef, 60, 16 on our tested unit. > > > > Loading Environment from SPIFlash... SF: Detected w25q32dw with page > > size 256 Bytes, erase size 4 KiB, total 4 MiB > > OK > > > > Note that it is unknown why spi-max-frequency with value 104000000 does not > > work in U-Boot as it works fine with Linux kernel. Also note that in > > defconfig file configs/mvebu_espressobin-88f3720_defconfig is set option > > CONFIG_SF_DEFAULT_SPEED=40000000 which is different value than in DT. > > > > Fixes: 0934dddc6436 ("arm: a37xx: Update DTS files to version from upstream > > Linux kernel") > > Signed-off-by: Pali Rohár <p...@kernel.org> > > --- > > Hello Stefan, like with USB3.0 port on Turris MOX, this is SPI > > regression on Espressobin in U-Boot 2022.04. Could you send this fix to > > master to have SPI working in U-Boot 2022.04? I do not know what is wrong > > with SPI frequency and we have different value in defconfig and > > different value in DTS file and another value in kernel DTS file. So the > > best for now is to stick with old value which was used in U-Boot. > > > > I have tested also Turris MOX with current U-Boot from master branch and > > it does not have any issue with SPI, like Espressobin. > > --- > > arch/arm/dts/armada-3720-espressobin-u-boot.dtsi | 13 ++++++++++--- > > 1 file changed, 10 insertions(+), 3 deletions(-) > > Unfortunately this generates problem with other MVEBU targets: > > $ make mvebu_crb_cn9130_defconfig > # > # configuration written to .config > # > $ make -s -j20 > Error: arch/arm/dts/armada-3720-espressobin-u-boot.dtsi:36.1-8 syntax error > FATAL ERROR: Unable to parse input tree > Check > /home/stefan/git/u-boot/u-boot-marvell/arch/arm/dts/.armada-3720-espressobin.dtb.pre.tmp > for errors > make[2]: *** [scripts/Makefile.lib:337: > arch/arm/dts/armada-3720-espressobin.dtb] Error 1 > make[1]: *** [dts/Makefile:44: arch-dtbs] Error 2 > make: *** [Makefile:1150: dts/dt.dtb] Error 2 > make: *** Waiting for unfinished jobs.... > > Could you please take a look?
I see... > Thanks, > Stefan > > > diff --git a/arch/arm/dts/armada-3720-espressobin-u-boot.dtsi > > b/arch/arm/dts/armada-3720-espressobin-u-boot.dtsi > > index 3e01c64a4bdb..2ffdc65e9f47 100644 > > --- a/arch/arm/dts/armada-3720-espressobin-u-boot.dtsi > > +++ b/arch/arm/dts/armada-3720-espressobin-u-boot.dtsi > > @@ -1,8 +1,15 @@ > > // SPDX-License-Identifier: (GPL-2.0+ OR MIT) > > -#ifdef CONFIG_ENV_IS_IN_SPI_FLASH > > &spi0 { > > - spi-flash@0 { > > + flash@0 { > > + /* > > + * For some unknown reason U-Boot SPI driver cannot access > > + * SPI-NOR with higher frequency. Linux kernel SPI driver > > + * does not have this problem. > > + */ > > + spi-max-frequency = <50000000>; > > + > > +#ifdef CONFIG_ENV_IS_IN_SPI_FLASH > > partitions { > > compatible = "fixed-partitions"; > > #address-cells = <1>; > > @@ -19,8 +26,8 @@ > > }; > > }; > > }; > > -}; > > #endif > > +}; Issue is with this #endif, it should be at the one line above as it guard partitions { ... }; node. I will send v2. > > /* > > * U-Boot requires to have this eMMC node by default in "okay" status. > > U-Boot > > Viele Grüße, > Stefan Roese > > -- > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: s...@denx.de