Skip to content

STM32 SPI - wrong behavior after PR 34731 #35297

@Delsian

Description

@Delsian

McuBoot fails to read JEDEC ID over SPI:

[00:00:00.166,000] <err> spi_flash_at45: Wrong JEDEC ID: 00 1F 26, expected: 1F 26 00

This bug occurs after applying PR #34731
Commit hash 0129884
Removing this change solves the problem.

McuBoot settings:

...
CONFIG_FLASH=y
CONFIG_SPI=y
CONFIG_SPI_FLASH_AT45=y
...

SPI settings:

&spi1 {
	status = "okay";
	pinctrl-0 = <&spi1_nss_pa4 &spi1_sck_pa5
		     &spi1_miso_pa6 &spi1_mosi_pa7>;
};

Dataflash settings:

&spi1 {
	cs-gpios = <&gpioa 4 GPIO_ACTIVE_LOW>;

	dataflash0: at45db321e@0 {
		compatible = "atmel,at45";
		reset-gpios = <&gpioc 4 GPIO_ACTIVE_LOW>;
		wp-gpios = <&gpioa 3 GPIO_ACTIVE_LOW>;
		reg = <0>;
		spi-max-frequency = <1000000>;
		label = "DATAFLASH_0";
		jedec-id = [1f 26 00];
		size = <16777216>;
		sector-size = <65536>;
		block-size = <4096>;
		page-size = <512>;
		use-udpd;
		enter-dpd-delay = <1000>;
		exit-dpd-delay = <180000>;
	};
};

@galak @FRASTM @affrinpinhero-2356 FYI.
I did no more checks, just adding a patch locally to remove this PR from my project. Looks like #34731 breaks SPI RX functionality.
Also in my project some errors periodically occurs with mentioned PR:

[00:00:03.939,000] <err> spi_ll_stm32: spi_stm32_get_err: err=64
[00:00:03.943,000] <err> pl360_hw: SPI error -5

[00:00:04.735,000] <err> spi_ll_stm32: spi_stm32_get_err: err=64
[00:00:04.740,000] <err> pl360_hw: SPI error -5

[00:00:04.835,000] <err> spi_ll_stm32: spi_stm32_get_err: err=64
[00:00:04.840,000] <err> pl360_hw: SPI error -5

[00:00:05.141,000] <err> spi_ll_stm32: spi_stm32_get_err: err=64
[00:00:05.142,000] <err> pl360_hw: SPI error -5

[00:00:05.938,000] <err> spi_ll_stm32: spi_stm32_get_err: err=64
[00:00:05.942,000] <err> pl360_hw: SPI error -5

[00:00:07.129,000] <err> spi_ll_stm32: spi_stm32_get_err: err=64
[00:00:07.133,000] <err> pl360_hw: SPI error -5

Metadata

Metadata

Assignees

Labels

RegressionSomething, which was working, does not anymorearea: SPISPI busbugThe issue is a bug, or the PR is fixing a bugplatform: STM32ST Micro STM32priority: mediumMedium impact/importance bug

Type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions