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 @@
@@ -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 @@
@@ -0,0 +1 @@
|
||||
CONFIG_VIDEO_INIT_PRIORITY=72 |
@ -0,0 +1,32 @@
@@ -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 @@
@@ -0,0 +1,6 @@
|
||||
shield: |
||||
name: st_stm32f4dis_cam |
||||
full_name: ST STM32F4DIS-CAM |
||||
vendor: st |
||||
supported_features: |
||||
- video |
@ -0,0 +1,62 @@
@@ -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