-
Notifications
You must be signed in to change notification settings - Fork 6.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
boards: shields: add suport for st_b_cams_omv_mb1683
Add support for ST B-CAMS-OMV MB1683 shield. Signed-off-by: Charles Dias <[email protected]>
- Loading branch information
1 parent
d06e95c
commit 4377923
Showing
6 changed files
with
216 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# Copyright (c) 2024 Charles Dias <[email protected]> | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
if SHIELD_ST_B_CAMS_OMV_MB1683 | ||
|
||
# Double frame buffer maintained by lvgl. | ||
if LVGL | ||
|
||
choice LV_COLOR_DEPTH | ||
default LV_COLOR_DEPTH_16 | ||
endchoice | ||
|
||
endif # LVGL | ||
|
||
endif # SHIELD_ST_B_CAMS_OMV_MB1683 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# Copyright (c) 2024 Charles Dias <[email protected]> | ||
# SPDX-License-Identifier: Apache-2.0 | ||
|
||
config SHIELD_ST_B_CAMS_OMV_MB1683 | ||
def_bool $(shields_list_contains,st_b_cams_omv_mb1683) |
69 changes: 69 additions & 0 deletions
69
boards/shields/st_b_cams_omv_mb1683/boards/stm32h7b3i_dk.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/* | ||
* Copyright (c) 2024 Charles Dias <[email protected]> | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
*/ | ||
|
||
// Delete the node sram1 | ||
/delete-node/ &sram1; | ||
/delete-node/ &sram2; | ||
|
||
&sram0 { | ||
reg = <0x24000000 DT_SIZE_K(1024)>; | ||
}; | ||
|
||
&i2c4 { | ||
pinctrl-0 = <&i2c4_scl_pd12 &i2c4_sda_pd13>; | ||
pinctrl-names = "default"; | ||
status = "okay"; | ||
clock-frequency = <I2C_BITRATE_FAST>; | ||
|
||
ov5640: ov5640@3c { | ||
compatible = "ovti,ov5640"; | ||
reg = <0x3c>; | ||
status = "okay"; | ||
reset-gpios = <&gpioa 0 GPIO_ACTIVE_LOW>; | ||
powerdown-gpios = <&gpioa 7 GPIO_ACTIVE_HIGH>; | ||
|
||
bus-type = <1>; /* Parallel */ | ||
bus-width = <8>; | ||
|
||
port { | ||
ov5640_ep_out: endpoint { | ||
remote-endpoint = <&dcmi_ep_in>; | ||
}; | ||
}; | ||
}; | ||
}; | ||
|
||
&dcmi { | ||
status = "okay"; | ||
sensor = <&ov5640>; | ||
pinctrl-0 = <&dcmi_hsync_pa4 &dcmi_pixclk_pa6 &dcmi_vsync_pb7 | ||
&dcmi_d0_pc6 &dcmi_d1_pc7 &dcmi_d2_pg10 &dcmi_d3_pc9 | ||
&dcmi_d4_pc11 &dcmi_d5_pd3 &dcmi_d6_pb8 &dcmi_d7_pb9>; | ||
pinctrl-names = "default"; | ||
bus-width = <8>; | ||
hsync-active = <0>; | ||
vsync-active = <0>; | ||
pixelclk-active = <1>; | ||
capture-rate = <1>; | ||
dmas = <&dma1 0 75 (STM32_DMA_PERIPH_TO_MEMORY | STM32_DMA_PERIPH_NO_INC | | ||
STM32_DMA_MEM_INC | STM32_DMA_PERIPH_8BITS | STM32_DMA_MEM_32BITS | | ||
STM32_DMA_PRIORITY_HIGH) STM32_DMA_FIFO_1_4>; | ||
|
||
port { | ||
dcmi_ep_in: endpoint { | ||
remote-endpoint = <&ov5640_ep_out>; | ||
}; | ||
}; | ||
}; | ||
|
||
&dma1 { | ||
status = "okay"; | ||
}; | ||
|
||
&dmamux1 { | ||
status = "okay"; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,115 @@ | ||
.. _st_b_cams_omv_mb1683: | ||
|
||
ST B-CAMS-OMV-MB1683 | ||
#################### | ||
|
||
Overview | ||
******** | ||
|
||
The camera module bundle (B-CAMS-OMV) provides extension connectors | ||
for the MB1379 STMicroelectronics camera module daughterboard or | ||
third-party modules like OpenMV and Waveshare modules. It can be used | ||
with the STM32 boards featuring a 1 x 30 pin ZIF connector for the | ||
connection of multiple cameras to implement computer vision on STM32 | ||
microcontrollers easily. | ||
|
||
The camera module bundle is compatible with all STM32 Discovery kits and | ||
Evaluation boards featuring a ZIF connector, such as the STM32H747I-DISCO, | ||
STM32H7B3I-DK, and 32L4R9IDISCOVERY Discovery kits. | ||
|
||
.. figure:: st_b_cams_omv.webp | ||
:width: 600px | ||
:align: center | ||
:alt: B-CAMS-OMV-MB1683 | ||
|
||
B-CAMS-OMV MB1683 Image (Credit: STMicroelectronics.) | ||
|
||
Waveshare camera board connector CN4 | ||
************************************* | ||
|
||
+------------+-----------------+------------+--------------+ | ||
| Pin number | Description | Pin number | Description | | ||
+============+=================+============+==============+ | ||
| 1 | GND | 2 | VCAM | | ||
+------------+-----------------+------------+--------------+ | ||
| 3 | I2C_SDA | 4 | I2C_SCL | | ||
+------------+-----------------+------------+--------------+ | ||
| 5 | DCMI_HSYNC | 6 | DCMI_VSYNC | | ||
+------------+-----------------+------------+--------------+ | ||
| 7 | Camera_CLK | 8 | DCMI_PIXCLK | | ||
+------------+-----------------+------------+--------------+ | ||
| 9 | DCMI_D6 | 10 | DCMI_D7 | | ||
+------------+-----------------+------------+--------------+ | ||
| 11 | DCMI_D4 | 12 | DCMI_D5 | | ||
+------------+-----------------+------------+--------------+ | ||
| 13 | DCMI_D2 | 14 | DCMI_D3 | | ||
+------------+-----------------+------------+--------------+ | ||
| 15 | DCMI_D0 | 16 | DCMI_D1 | | ||
+------------+-----------------+------------+--------------+ | ||
| 17 | PWR_EN / LED1 | 18 | RESET# | | ||
+------------+-----------------+------------+--------------+ | ||
|
||
ZIF connector CN5 | ||
***************** | ||
|
||
+------------+--------------+------------+--------------+ | ||
| Pin number | Description | Pin number | Description | | ||
+============+==============+============+==============+ | ||
| 1 | 3V3 | 16 | DCMI_PIXCK | | ||
+------------+--------------+------------+--------------+ | ||
| 2 | GND | 17 | GND | | ||
+------------+--------------+------------+--------------+ | ||
| 3 | I2C_SCL | 18 | SPI_MISO | | ||
+------------+--------------+------------+--------------+ | ||
| 4 | I2C_SDA | 19 | SPI_CS | | ||
+------------+--------------+------------+--------------+ | ||
| 5 | RESET# | 20 | DCMI_D7 | | ||
+------------+--------------+------------+--------------+ | ||
| 6 | PWR_EN / LED1| 21 | DCMI_D6 | | ||
+------------+--------------+------------+--------------+ | ||
| 7 | SHUTTER | 22 | DCMI_D5 | | ||
+------------+--------------+------------+--------------+ | ||
| 8 | GND | 23 | DCMI_D4 | | ||
+------------+--------------+------------+--------------+ | ||
| 9 | PULLDOWN / LED2 | 24 | DCMI_D3 | | ||
+------------+--------------+------------+--------------+ | ||
| 10 | Camera_CLK | 25 | DCMI_D2 | | ||
+------------+--------------+------------+--------------+ | ||
| 11 | 3V3 | 26 | DCMI_D1 | | ||
+------------+--------------+------------+--------------+ | ||
| 12 | DCMI_VSYNC | 27 | DCMI_D0 | | ||
+------------+--------------+------------+--------------+ | ||
| 13 | 5V (RSU) | 28 | SPI_MOSI | | ||
+------------+--------------+------------+--------------+ | ||
| 14 | DCMI_HSYNC | 29 | SPI_CLK | | ||
+------------+--------------+------------+--------------+ | ||
| 15 | GND | 30 | GND | | ||
+------------+--------------+------------+--------------+ | ||
|
||
Requirements | ||
************ | ||
|
||
Your board needs to have a ``dcmi`` device tree label to work with this shield. | ||
|
||
Usage | ||
***** | ||
|
||
The shield can be used in any application by setting ``SHIELD`` to | ||
``_st_b_cams_omv_mb1683`` and adding the necessary device tree properties. | ||
|
||
Set ``--shield "_st_b_cams_omv_mb1683"`` when you invoke ``west build``. For example: | ||
|
||
.. zephyr-app-commands:: | ||
:zephyr-app: samples/subsys/video/capture | ||
:board: stm32h7b3i_dk | ||
:shield: _st_b_cams_omv_mb1683 | ||
:goals: build | ||
|
||
References | ||
********** | ||
|
||
- `Product page <https://www.st.com/en/evaluation-tools/b-cams-omv.html>`_ | ||
|
||
- `Databrief <https://www.st.com/resource/en/data_brief/b-cams-omv.pdf>`_ | ||
|
||
- `User manual <https://www.st.com/resource/en/user_manual/um2779-camera-module-bundle-for-stm32-boards-stmicroelectronics.pdf>`_ |
Binary file not shown.
12 changes: 12 additions & 0 deletions
12
boards/shields/st_b_cams_omv_mb1683/st_b_cams_omv_mb1683.overlay
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
/* | ||
* Copyright (c) 2024 Charles Dias <[email protected]> | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
*/ | ||
|
||
/ { | ||
chosen { | ||
zephyr,camera = &dcmi; | ||
}; | ||
}; |