Skip to content

Commit fa8ea53

Browse files
KhanhNguyen-RVCkartben
authored andcommitted
dts: bindings: gpio: add ArduCam FFC-40 pin connector binding
Add a devicetree binding and corresponding dt-bindings header for the ArduCam FFC-40 pin GPIO connector used by camera shields. - Add dts binding schema for arducam,ffc-40pin-connector - Add dt-bindings header with GPIO pin definitions Signed-off-by: Khanh Nguyen <[email protected]>
1 parent 3813919 commit fa8ea53

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Copyright (c) 2025 Renesas Electronics Corporation
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
title: ArduCam FFC 40-pin camera connector.
5+
6+
description: |
7+
GPIO pins and high-speed differential pairs exposed on an ArduCam FFC 40-pin
8+
camera connector supporting either DVP or MIPI CSI-2 interfaces.
9+
10+
The connector layout is depicted below:
11+
12+
1 GND
13+
2 D11
14+
3 D10
15+
4 GND
16+
5 D9 / MIPI_CSI_DL1_P
17+
6 D8 / MIPI_CSI_DL1_P
18+
7 GND
19+
8 D7 / MIPI_CSI_CL_P
20+
9 D6 / MIPI_CSI_CL_P
21+
10 GND
22+
11 D5 / MIPI_CSI_DL0_P
23+
12 D4 / MIPI_CSI_DL0_P
24+
13 GND
25+
14 D3
26+
15 D2
27+
16 GND
28+
17 D1
29+
18 D0
30+
19 GND
31+
20 SCL
32+
21 SDA
33+
22 GND
34+
23 VSYNC
35+
24 HSYNC
36+
25 RESET
37+
26 XCLK
38+
27 PCLK
39+
28 INT
40+
29 GND
41+
30 GND
42+
31 3V3
43+
32 GND
44+
33 GND
45+
34 3V3
46+
35 3V3
47+
36 3V3
48+
37 GND
49+
38 GND
50+
39 3V3
51+
40 GND
52+
53+
The following node labels can be used in devicetree:
54+
55+
- arducam_ffc_40pin_interface: the video interface that receives the video
56+
feed and use with the zephyr,camera chosen node.
57+
58+
- arducam_ffc_40pin_i2c: the I2C device for camera control.
59+
60+
- arducam_ffc_40pin_connector: the GPIO nexus using the arducam,ffc-40pin-connector
61+
that defines the camera pins.
62+
63+
See <zephyr/dt-bindings/gpio/arducam-ffc-40pin-connector.h> for pin description.
64+
65+
compatible: "arducam,ffc-40pin-connector"
66+
67+
include: [gpio-nexus.yaml, base.yaml]
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
/*
2+
* Copyright (c) 2025 Renesas Electronics Corporation
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/**
8+
* @file
9+
* @brief ArduCam FFC 40-pin camera connector constants.
10+
* @ingroup arducam-ffc-40pin
11+
*/
12+
13+
#ifndef INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_ARDUCAM_FFC_40PIN_CONNECTOR_H_
14+
#define INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_ARDUCAM_FFC_40PIN_CONNECTOR_H_
15+
16+
/**
17+
* @defgroup arducam-ffc-40pin ArduCam FFC 40-pin camera connector.
18+
* @brief Constants for pins exposed on ArduCam FFC 40-pin camera connector.
19+
* @ingroup devicetree-gpio-pin-headers
20+
* @{
21+
*/
22+
23+
/**
24+
* @name MIPI-CSI2 interface pins
25+
* @{
26+
*/
27+
#define ARDUCAM_FFC_40PIN_MIPI_CSI_DL1_P 5 /**< MIPI‑CSI2 data lane 1 positive */
28+
#define ARDUCAM_FFC_40PIN_MIPI_CSI_DL1_N 6 /**< MIPI‑CSI2 data lane 1 negative */
29+
#define ARDUCAM_FFC_40PIN_MIPI_CSI_CL_P 8 /**< MIPI‑CSI2 clock lane positive */
30+
#define ARDUCAM_FFC_40PIN_MIPI_CSI_CL_N 9 /**< MIPI‑CSI2 clock lane negative */
31+
#define ARDUCAM_FFC_40PIN_MIPI_CSI_DL0_P 11 /**< MIPI‑CSI2 data lane 0 positive */
32+
#define ARDUCAM_FFC_40PIN_MIPI_CSI_DL0_N 12 /**< MIPI‑CSI2 data lane 0 negative */
33+
/** @} */
34+
35+
/**
36+
* @name DVP interface pins
37+
* @{
38+
*/
39+
#define ARDUCAM_FFC_40PIN_D11 2 /**< Parallel port data bit 11 */
40+
#define ARDUCAM_FFC_40PIN_D10 3 /**< Parallel port data bit 10 */
41+
#define ARDUCAM_FFC_40PIN_D9 5 /**< Parallel port data bit 9 */
42+
#define ARDUCAM_FFC_40PIN_D8 6 /**< Parallel port data bit 8 */
43+
#define ARDUCAM_FFC_40PIN_D7 8 /**< Parallel port data bit 7 */
44+
#define ARDUCAM_FFC_40PIN_D6 9 /**< Parallel port data bit 6 */
45+
#define ARDUCAM_FFC_40PIN_D5 11 /**< Parallel port data bit 5 */
46+
#define ARDUCAM_FFC_40PIN_D4 12 /**< Parallel port data bit 4 */
47+
#define ARDUCAM_FFC_40PIN_D3 14 /**< Parallel port data bit 3 */
48+
#define ARDUCAM_FFC_40PIN_D2 15 /**< Parallel port data bit 2 */
49+
#define ARDUCAM_FFC_40PIN_D1 17 /**< Parallel port data bit 1 */
50+
#define ARDUCAM_FFC_40PIN_D0 18 /**< Parallel port data bit 0 */
51+
#define ARDUCAM_FFC_40PIN_VSYNC 23 /**< Vertical sync */
52+
#define ARDUCAM_FFC_40PIN_HSYNC 24 /**< Horizontal sync */
53+
/** @} */
54+
55+
/**
56+
* @name Common pins
57+
* @{
58+
*/
59+
#define ARDUCAM_FFC_40PIN_SCL 20 /**< I2C clock line */
60+
#define ARDUCAM_FFC_40PIN_SDA 21 /**< I2C data line */
61+
#define ARDUCAM_FFC_40PIN_RESET 25 /**< Reset */
62+
#define ARDUCAM_FFC_40PIN_XCLK 26 /**< External clock */
63+
#define ARDUCAM_FFC_40PIN_PCLK 27 /**< Pixel clock */
64+
#define ARDUCAM_FFC_40PIN_INT 28 /**< Interrupt from sensor */
65+
/** @} */
66+
67+
/** @} */
68+
69+
#endif /* INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_ARDUCAM_FFC_40PIN_CONNECTOR_H_ */

0 commit comments

Comments
 (0)