Browse Source
Introduction of the STM32F4DIS-CAM shield for STM32 boards embedding a DVP based OV9655 sensor. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>pull/90923/head
5 changed files with 107 additions and 0 deletions
@ -0,0 +1,6 @@ |
|||||||
|
# Copyright (c) 2025 STMicroelectronics |
||||||
|
|
||||||
|
# SPDX-License-Identifier: Apache-2.0 |
||||||
|
|
||||||
|
config SHIELD_ST_STM32F4DIS_CAM |
||||||
|
def_bool $(shields_list_contains,st_stm32f4dis_cam) |
@ -0,0 +1 @@ |
|||||||
|
CONFIG_VIDEO_INIT_PRIORITY=72 |
@ -0,0 +1,32 @@ |
|||||||
|
.. _st_stm32f4dis_cam: |
||||||
|
|
||||||
|
ST STM32F4DIS-CAM |
||||||
|
################# |
||||||
|
|
||||||
|
Overview |
||||||
|
******** |
||||||
|
|
||||||
|
The STM32F4DIS-CAM camera board embeds a 1.3MPix OV9655 sensor and a |
||||||
|
30 pins FFC connector in order to be used for some of the STM32 Discovery |
||||||
|
kits such as STM32L4R9I-disco board offering a DVP camera interface. |
||||||
|
|
||||||
|
Requirements |
||||||
|
************ |
||||||
|
|
||||||
|
The camera module bundle is compatible with STM32 Discovery kits and |
||||||
|
Evaluation boards featuring a 30 pins FFC connector, such as the STM32F4 |
||||||
|
Discovery kit or STM32L4R9I Discovery kit. |
||||||
|
|
||||||
|
Usage |
||||||
|
***** |
||||||
|
|
||||||
|
The shield can be used in any application by setting ``SHIELD`` to |
||||||
|
``st_stm32f4dis_cam`` for boards with the necessary device tree node labels. |
||||||
|
|
||||||
|
Set ``--shield "st_stm32f4dis_cam"`` when you invoke ``west build``. For example: |
||||||
|
|
||||||
|
.. zephyr-app-commands:: |
||||||
|
:zephyr-app: samples/drivers/video/capture |
||||||
|
:board: stm32l4r9i_disco |
||||||
|
:shield: st_stm32f4dis_cam |
||||||
|
:goals: build |
@ -0,0 +1,6 @@ |
|||||||
|
shield: |
||||||
|
name: st_stm32f4dis_cam |
||||||
|
full_name: ST STM32F4DIS-CAM |
||||||
|
vendor: st |
||||||
|
supported_features: |
||||||
|
- video |
@ -0,0 +1,62 @@ |
|||||||
|
/* |
||||||
|
* Copyright (c) 2025 STMicroelectronics |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: Apache-2.0 |
||||||
|
*/ |
||||||
|
|
||||||
|
/ { |
||||||
|
chosen { |
||||||
|
zephyr,camera = &st_cam_dvp; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
&dma2 { |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&dmamux1 { |
||||||
|
status = "okay"; |
||||||
|
}; |
||||||
|
|
||||||
|
&st_cam_i2c { |
||||||
|
ov9655: camera@30 { |
||||||
|
compatible = "ovti,ov9655"; |
||||||
|
reg = <0x30>; |
||||||
|
pwdn-gpios = <&dcmi_camera_connector 6 GPIO_ACTIVE_HIGH>; |
||||||
|
|
||||||
|
port { |
||||||
|
ov9655_ep_out: endpoint { |
||||||
|
remote-endpoint-label = "dcmi_ep_in"; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
||||||
|
|
||||||
|
#define MCO1_SEL_SYSCLK 1 |
||||||
|
|
||||||
|
#define MCO1_PRE_DIV_4 2 |
||||||
|
|
||||||
|
&mco1 { |
||||||
|
status = "okay"; |
||||||
|
clocks = <&rcc STM32_SRC_SYSCLK MCO1_SEL(MCO1_SEL_SYSCLK)>; |
||||||
|
prescaler = <MCO1_PRE(MCO1_PRE_DIV_4)>; |
||||||
|
pinctrl-0 = <&rcc_mco_pa8>; |
||||||
|
pinctrl-names = "default"; |
||||||
|
}; |
||||||
|
|
||||||
|
&st_cam_dvp { |
||||||
|
status = "okay"; |
||||||
|
|
||||||
|
/* DMA config is already hardcoded within the DCMI driver */ |
||||||
|
dmas = <&dma2 5 0 0>; |
||||||
|
|
||||||
|
port { |
||||||
|
dcmi_ep_in: endpoint { |
||||||
|
remote-endpoint-label = "ov9655_ep_out"; |
||||||
|
bus-width = <8>; |
||||||
|
hsync-active = <1>; |
||||||
|
vsync-active = <1>; |
||||||
|
pclk-sample = <1>; |
||||||
|
}; |
||||||
|
}; |
||||||
|
}; |
Loading…
Reference in new issue