-
Notifications
You must be signed in to change notification settings - Fork 7.3k
boards: shields: add suport for st_b_cams_omv_mb1683 #76143
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
boards: shields: add suport for st_b_cams_omv_mb1683 #76143
Conversation
4377923
to
74f10a5
Compare
74f10a5
to
f9b29d6
Compare
f9b29d6
to
de6b1c4
Compare
de6b1c4
to
0f11eb8
Compare
Rebase. |
0f11eb8
to
32b6c74
Compare
Updated endpoint configuration according to #74415. |
samples/drivers/video/capture_to_lvgl/boards/stm32h7b3i_dk.conf
Outdated
Show resolved
Hide resolved
@CharlesDias will you be able to revisit this PR? |
6f2b0c4
to
f87584a
Compare
Rebase |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some optional proposals to avoid easy mistakes.
Besides this, I do not see anything else missing, and LGTM!
``_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: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
_st_b_cams_omv_mb1683
-> st_b_cams_omv_mb1683
?
Is it a copy-paste typo from the title or is the --shield
flag works with the leading underscore?
Thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My bad! Thanks for catching it! I'll fix!
:alt: B-CAMS-OMV-MB1683 | ||
|
||
B-CAMS-OMV MB1683 Image (Credit: STMicroelectronics.) | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am tempted to add a short sentence reminding what this is documenting, as it is easily mistaken by the connector that is in the devicetree (different pinout). Like this or any other wording:
The camera signals go into the shield from one of the supported input connectors (CN1, CN2, CN4), and out of the shield towards Zephyr through the output 30-pin ZIF connector CN5.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In addition, how about something like:
refer to the User manual for CN1 and CN2 pinout |
|
||
B-CAMS-OMV MB1683 Image (Credit: STMicroelectronics.) | ||
|
||
Waveshare camera board connector CN4 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Waveshare camera board connector CN4 | |
Waveshare camera board connector CN4 (camera input) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| 17 | PWR_EN / LED1 | 18 | RESET# | | ||
+------------+-----------------+------------+--------------+ | ||
|
||
ZIF connector CN5 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ZIF connector CN5 | |
ZIF connector CN5 (camera output) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+------------+--------------+------------+--------------+ | ||
| 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 | | ||
+------------+--------------+------------+--------------+ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ST used a 2-columns table for aesthetical reasons, but we could consider preserving the layout of the 30-pin connector for clarity:
+------------+--------------+------------+--------------+ | |
| 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 | | |
+------------+--------------+------------+--------------+ | |
+------------+-----------------+ | |
| Pin number | Description | | |
+============+=================+ | |
| 1 | 3V3 | | |
+------------+-----------------+ | |
| 2 | GND | | |
+------------+-----------------+ | |
| 3 | I2C_SCL | | |
+------------+-----------------+ | |
| 4 | I2C_SDA | | |
+------------+-----------------+ | |
| 5 | RESET# | | |
+------------+-----------------+ | |
| 6 | PWR_EN / LED1 | | |
+------------+-----------------+ | |
| 7 | SHUTTER | | |
+------------+-----------------+ | |
| 8 | GND | | |
+------------+-----------------+ | |
| 9 | PULLDOWN / LED2 | | |
+------------+-----------------+ | |
| 10 | Camera_CLK | | |
+------------+-----------------+ | |
| 11 | 3V3 | | |
+------------+-----------------+ | |
| 12 | DCMI_VSYNC | | |
+------------+-----------------+ | |
| 13 | 5V (RSU) | | |
+------------+-----------------+ | |
| 14 | DCMI_HSYNC | | |
+------------+-----------------+ | |
| 15 | GND | | |
+------------+-----------------+ | |
| 16 | DCMI_PIXCK | | |
+------------+-----------------+ | |
| 17 | GND | | |
+------------+-----------------+ | |
| 18 | SPI_MISO | | |
+------------+-----------------+ | |
| 19 | SPI_CS | | |
+------------+-----------------+ | |
| 20 | DCMI_D7 | | |
+------------+-----------------+ | |
| 21 | DCMI_D6 | | |
+------------+-----------------+ | |
| 22 | DCMI_D5 | | |
+------------+-----------------+ | |
| 23 | DCMI_D4 | | |
+------------+-----------------+ | |
| 24 | DCMI_D3 | | |
+------------+-----------------+ | |
| 25 | DCMI_D2 | | |
+------------+-----------------+ | |
| 26 | DCMI_D1 | | |
+------------+-----------------+ | |
| 27 | DCMI_D0 | | |
+------------+-----------------+ | |
| 28 | SPI_MOSI | | |
+------------+-----------------+ | |
| 29 | SPI_CLK | | |
+------------+-----------------+ | |
| 30 | GND | | |
+------------+-----------------+ |
(1) 3V3 (2) GND | ||
(3) I2C_SCL (4) I2C_SDA | ||
(5) RESET# (6) PWR_EN / LED1 | ||
(7) SHUTTER (8) GND | ||
(9) PULLDOWN / LED2 (10) Camera_CLK | ||
(11) 3V3 (12) DCMI_VSYNC | ||
(13) 5V (RSU) (14) DCMI_HSYNC | ||
(15) GND (16) DCMI_PIXCK | ||
(17) GND (18) SPI_MISO | ||
(19) SPI_CS (20) DCMI_D7 | ||
(21) DCMI_D6 (22) DCMI_D5 | ||
(23) DCMI_D4 (24) DCMI_D3 | ||
(25) DCMI_D2 (26) DCMI_D1 | ||
(27) DCMI_D0 (28) SPI_MOSI | ||
(29) SPI_CLK (30) GND |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At your disposition, a more verbose but less ambiguous alternative:
(1) 3V3 (2) GND | |
(3) I2C_SCL (4) I2C_SDA | |
(5) RESET# (6) PWR_EN / LED1 | |
(7) SHUTTER (8) GND | |
(9) PULLDOWN / LED2 (10) Camera_CLK | |
(11) 3V3 (12) DCMI_VSYNC | |
(13) 5V (RSU) (14) DCMI_HSYNC | |
(15) GND (16) DCMI_PIXCK | |
(17) GND (18) SPI_MISO | |
(19) SPI_CS (20) DCMI_D7 | |
(21) DCMI_D6 (22) DCMI_D5 | |
(23) DCMI_D4 (24) DCMI_D3 | |
(25) DCMI_D2 (26) DCMI_D1 | |
(27) DCMI_D0 (28) SPI_MOSI | |
(29) SPI_CLK (30) GND | |
(1) 3V3 | |
(2) GND | |
(3) I2C_SCL | |
(4) I2C_SDA | |
(5) RESET# | |
(6) PWR_EN / LED1 | |
(7) SHUTTER | |
(8) GND | |
(9) PULLDOWN / LED2 | |
(10) Camera_CLK | |
(11) 3V3 | |
(12) DCMI_VSYNC | |
(13) 5V (RSU) | |
(14) DCMI_HSYNC | |
(15) GND | |
(16) DCMI_PIXCK | |
(17) GND | |
(18) SPI_MISO | |
(19) SPI_CS | |
(20) DCMI_D7 | |
(21) DCMI_D6 | |
(22) DCMI_D5 | |
(23) DCMI_D4 | |
(24) DCMI_D3 | |
(25) DCMI_D2 | |
(26) DCMI_D1 | |
(27) DCMI_D0 | |
(28) SPI_MOSI | |
(29) SPI_CLK | |
(30) GND |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If preserving the original "2-column" layout, it could help to transpose the table so that it looks like the one in the doc and PDF.
boards/shields/st_b_cams_omv_mb1683/boards/stm32h7b3i_dk.overlay
Outdated
Show resolved
Hide resolved
boards/shields/st_b_cams_omv_mb1683/st_b_cams_omv_mb1683.overlay
Outdated
Show resolved
Hide resolved
samples/drivers/video/capture_to_lvgl/boards/stm32h7b3i_dk.overlay
Outdated
Show resolved
Hide resolved
samples/drivers/video/capture_to_lvgl/boards/stm32h7b3i_dk.conf
Outdated
Show resolved
Hide resolved
f87584a
to
f5bb46e
Compare
Implemented previous suggestions, except this one #76143 (comment). @erwango and @ngphibang, do you mean?
|
f5bb46e
to
049687f
Compare
Implemented suggestion #76143 (comment).
|
049687f
to
f6140f4
Compare
Delete |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In general, I think we should clarify if the shield is specific only to ST boards or generic enough for any 30-pin dvp camera interface, then the shield name, readme, node labels will be made according to it. I learned some lessons from @kartben 's comments in these shield PRs :-)
- Add a shield for DVP FPC 24-pins mt9m114 camera modules #72435 (generic case)
- boards: shields: Add shield for NXP's ov5640 camera modules #72434 (specific case)
Add support for ST B-CAMS-OMV MB1683 shield. Signed-off-by: Charles Dias <[email protected]>
f6140f4
to
da7c49b
Compare
@ngphibang For your next round of review, would you mind closing the discussion on comments that have been addressed ? This will be helpful for other reviewers. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but other reviewers may have some findings
@erwango Yes, done. Sorry ! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
@josuah PTAL
Add support for ST B-CAMS-OMV MB1683 shield.
Required PR:
Testing on STM32H7B3I-DK
west build -p -b stm32h7b3i_dk --shield st_b_cams_omv_mb1683 samples/drivers/video/capture_to_lvgl/