On Fri Aug 21 08:38:16 2026 +0200, Alain Volmat wrote:
> Add topology of the two pixel pipes (main & aux) of the stm32mp25.
> Do not make the link from dcmipp_input immutable and enabled by
> default since not all pipes are always used together so when a pipeline
> is not being used its link should be disconnected to allow proper
> pipeline check.
> Not doing this would most probably lead to pipeline start failure due
> to incompatible pads configurations on the unused pipe.
>
> Signed-off-by: Alain Volmat <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>
Patch committed.
Thanks,
Hans Verkuil
.../platform/st/stm32/stm32-dcmipp/dcmipp-core.c | 42 ++++++++++++++++++++--
1 file changed, 40 insertions(+), 2 deletions(-)
---
diff --git a/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
b/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
index 6abbf0f023ee..54e28b4a5b2c 100644
--- a/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
+++ b/drivers/media/platform/st/stm32/stm32-dcmipp/dcmipp-core.c
@@ -75,6 +75,11 @@ static const struct dcmipp_pipeline_config
stm32mp13_pipe_cfg = {
.hw_revision = DCMIPP_STM32MP13_VERR
};
+#define ID_MAIN_ISP 3
+#define ID_MAIN_POSTPROC 4
+#define ID_MAIN_CAPTURE 5
+#define ID_AUX_POSTPROC 6
+#define ID_AUX_CAPTURE 7
static const struct dcmipp_ent_config stm32mp25_ent_config[] = {
{
.name = "dcmipp_input",
@@ -91,13 +96,46 @@ static const struct dcmipp_ent_config
stm32mp25_ent_config[] = {
.init = dcmipp_capture_ent_init,
.release = dcmipp_capture_ent_release,
},
+ {
+ .name = "dcmipp_main_isp",
+ .init = dcmipp_isp_ent_init,
+ .release = dcmipp_isp_ent_release,
+ },
+ {
+ .name = "dcmipp_main_postproc",
+ .init = dcmipp_pixelproc_ent_init,
+ .release = dcmipp_pixelproc_ent_release,
+ },
+ {
+ .name = "dcmipp_main_capture",
+ .init = dcmipp_capture_ent_init,
+ .release = dcmipp_capture_ent_release,
+ },
+ {
+ .name = "dcmipp_aux_postproc",
+ .init = dcmipp_pixelproc_ent_init,
+ .release = dcmipp_pixelproc_ent_release,
+ },
+ {
+ .name = "dcmipp_aux_capture",
+ .init = dcmipp_capture_ent_init,
+ .release = dcmipp_capture_ent_release,
+ },
};
static const struct dcmipp_ent_link stm32mp25_ent_links[] = {
- DCMIPP_ENT_LINK(ID_INPUT, 1, ID_DUMP_BYTEPROC, 0,
- MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE),
+ DCMIPP_ENT_LINK(ID_INPUT, 1, ID_DUMP_BYTEPROC, 0, MEDIA_LNK_FL_ENABLED),
DCMIPP_ENT_LINK(ID_DUMP_BYTEPROC, 1, ID_DUMP_CAPTURE, 0,
MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE),
+ DCMIPP_ENT_LINK(ID_INPUT, 2, ID_MAIN_ISP, 0, 0),
+ DCMIPP_ENT_LINK(ID_MAIN_ISP, 1, ID_MAIN_POSTPROC, 0,
+ MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE),
+ DCMIPP_ENT_LINK(ID_MAIN_ISP, 2, ID_AUX_POSTPROC, 0, 0),
+ DCMIPP_ENT_LINK(ID_MAIN_POSTPROC, 1, ID_MAIN_CAPTURE, 0,
+ MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE),
+ DCMIPP_ENT_LINK(ID_INPUT, 3, ID_AUX_POSTPROC, 0, 0),
+ DCMIPP_ENT_LINK(ID_AUX_POSTPROC, 1, ID_AUX_CAPTURE, 0,
+ MEDIA_LNK_FL_ENABLED | MEDIA_LNK_FL_IMMUTABLE),
};
#define DCMIPP_STM32MP25_VERR 0x30
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]