Dan Carpenter
83f066fac3
spi: stm32-ospi: clean up on error in probe()
...
If reset_control_acquire() fails, then we can't return directly.
We need to do a little clean up first.
Fixes: cf2c3eceb7 ("spi: stm32-ospi: Make usage of reset_control_acquire/release() API")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Link: https://patch.msgid.link/aEmAGTUzzKZlLe3K@stanley.mountain
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-06-11 16:47:53 +01:00
Patrice Chotard
cf2c3eceb7
spi: stm32-ospi: Make usage of reset_control_acquire/release() API
...
As ospi reset is consumed by both OMM and OSPI drivers, use the reset
acquire/release mechanism which ensure exclusive reset usage.
This avoid to call reset_control_get/put() in OMM driver each time
we need to reset OSPI children and guarantee the reset line stays
deasserted.
During resume, OMM driver takes temporarily control of reset.
Fixes: 79b8a705e2 ("spi: stm32: Add OSPI driver")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com >
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de >
Link: https://patch.msgid.link/20250609-b4-upstream_ospi_reset_update-v6-1-5b602b567e8a@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-06-09 16:21:29 +01:00
Mark Brown
9fbae052f6
This patch set did some clean up and add runtime pm
...
Merge series from Haibo Chen <haibo.chen@nxp.com >:
PATCH1/3/4 to clean up the code, make the code more readable
PATCH2 add the runtime pm support
PATCH5 use devm_add_action_or_reset() to replace remove() callback, this can avoid
oops when do bind/unbind test
2025-05-07 09:47:05 +09:00
Christophe JAILLET
460b14b092
spi: stm32-ospi: Fix an error handling path in stm32_ospi_probe()
...
If an error occurs after a successful stm32_ospi_dma_setup() call, some
dma_release_channel() calls are needed to release some resources, as
already done in the remove function.
Fixes: 79b8a705e2 ("spi: stm32: Add OSPI driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr >
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com >
Link: https://patch.msgid.link/2674c8df1d05ab312826b69bfe9559f81d125a0b.1744975624.git.christophe.jaillet@wanadoo.fr
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-04-22 14:58:18 +01:00
Patrice Chotard
69e3433fa5
spi: spi-stm32-ospi: Make "resets" a required property
...
On some STM32MP2 SoCs, an Octo Memory Manager is embedded and
need to retrieve OSPI's reset to perform its own initialization.
Make "resets" property mandatory.
Fixes: 79b8a705e2 ("spi: stm32: Add OSPI driver")
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com >
Link: https://patch.msgid.link/20250324-upstream_ospi_required_resets-v2-2-85a48afcedec@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-04-06 23:25:44 +01:00
Peng Fan
cc1273dfac
spi: stm32-ospi: Include "gpio/consumer.h"
...
of_gpio.h should be deprecated, use "gpio/consumer.h".
Signed-off-by: Peng Fan <peng.fan@nxp.com >
Link: https://patch.msgid.link/20250318045549.1711502-1-peng.fan@oss.nxp.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-03-18 12:27:42 +00:00
Jiapeng Chong
3707fd9c38
spi: stm32: Remove unnecessary print function dev_err()
...
The print function dev_err() is redundant because platform_get_irq()
already prints an error.
./drivers/spi/spi-stm32-ospi.c:798:2-9: line 798 is redundant because platform_get_irq() already prints an error.
Reported-by: Abaci Robot <abaci@linux.alibaba.com >
Closes: https://bugzilla.openanolis.cn/show_bug.cgi?id=19220
Signed-off-by: Jiapeng Chong <jiapeng.chong@linux.alibaba.com >
Link: https://patch.msgid.link/20250306024716.27856-1-jiapeng.chong@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-03-06 15:39:00 +00:00
Dan Carpenter
7dfc9bdde9
spi: stm32-ospi: Fix an IS_ERR() vs NULL bug in stm32_ospi_get_resources()
...
The devm_ioremap() function returns NULL on error, it doesn't return
error pointers. Fix the check to match.
Fixes: 79b8a705e2 ("spi: stm32: Add OSPI driver")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org >
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com >
Link: https://patch.msgid.link/bc4c9123-df43-4616-962f-765801d30b4c@stanley.mountain
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-03-06 13:27:16 +00:00
Patrice Chotard
79b8a705e2
spi: stm32: Add OSPI driver
...
Add STM32 OSPI driver, it supports :
- support sNOR / sNAND devices.
- Three functional modes: indirect, automatic-status polling,
memory-mapped.
- Single-, dual-, quad-, and octal-SPI communication.
- Dual-quad communication.
- Single data rate (SDR).
- DMA channel for indirect mode.
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com >
Link: https://patch.msgid.link/20250219080059.367045-3-patrice.chotard@foss.st.com
Signed-off-by: Mark Brown <broonie@kernel.org >
2025-03-03 13:00:14 +00:00