Skip to content

Commit 23ff321

Browse files
author
Alain Volmat
committed
dts: bindings: support 15-pin and 22-pin RaspberryPi CSI camera connector
Update the RaspberryPi CSI camera connector nexus gpio in order to only expose the list of GPIO pins in order to support both 15-pin and 22-pin connectors as well as 15-pin to 22-pin conversion cables. Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
1 parent 2016f05 commit 23ff321

File tree

4 files changed

+84
-51
lines changed

4 files changed

+84
-51
lines changed

dts/bindings/gpio/raspberrypi,csi-22pins-connector.yaml

Lines changed: 0 additions & 33 deletions
This file was deleted.
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
# Copyright 2025 STMicroelectronics
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
title: GPIO pins exposed on the Raspberry Pi CSI Camera connector
5+
6+
description: |
7+
There are 2 variants of the Raspberry Pi CSI camera connector. Either 15-pin
8+
or 22-pin. Here only GPIO provided by those connectors are abstracted since
9+
others pins are directly connected to CSI PHY.
10+
For reference, pinout of 15-pin and 22-pin connectors are references below.
11+
In this gpio nexus, only GPIOs are represented and should be described in
12+
the following way, allowing to have a single compatible for both 15-pin
13+
and 22-pin connectors and also allowing to deal with 15-pin to 22-pin
14+
conversion cables.
15+
16+
Nexus mapping:
17+
1 IO0 pin 11 (15-pin based) / pin 17 (22-pin based)
18+
2 IO1 pin 12 (15-pin based) / pin 18 (22-pin based)
19+
3 I2C_SCL pin 13 (15-pin based) / pin 20 (22-pin based)
20+
4 I2C_SDA pin 14 (15-pin based) / pin 21 (22-pin based)
21+
22+
For reference only, Raspberry 15-pin Connector layout:
23+
1 GND
24+
2 CSI_D0_N
25+
3 CSI_D0_P
26+
4 GND
27+
5 CSI_D1_N
28+
6 CSI_D1_P
29+
7 GND
30+
8 CSI_CK_N
31+
9 CSI_CK_P
32+
10 GND
33+
11 IO0
34+
12 IO1
35+
13 I2C_SCL
36+
14 I2C_SDA
37+
15 VCC (3v3)
38+
39+
For reference only, Raspberry 22-pin Connector layout:
40+
41+
1 GND
42+
2 CSI_D0_N
43+
3 CSI_D0_P
44+
4 GND
45+
5 CSI_D1_N
46+
6 CSI_D1_P
47+
7 GND
48+
8 CSI_CK_N
49+
9 CSI_CK_P
50+
10 GND
51+
11 CSI_D2_N
52+
12 CSI_D2_P
53+
13 GND
54+
14 CSI_D3_N
55+
15 CSI_D3_P
56+
16 GND
57+
17 IO0
58+
18 IO1
59+
19 GND
60+
20 I2C_SCL
61+
21 I2C_SDA
62+
22 VCC (3v3)
63+
64+
compatible: "raspberrypi,csi-connector"
65+
66+
include: [gpio-nexus.yaml, base.yaml]

include/zephyr/dt-bindings/gpio/raspberrypi-csi-22pins-connector.h

Lines changed: 0 additions & 18 deletions
This file was deleted.
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
/*
2+
* Copyright (c) 2025 STMicroelectronics
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
#ifndef INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_RASPBERRYPI_CSI_CONNECTOR_H_
6+
#define INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_RASPBERRYPI_CSI_CONNECTOR_H_
7+
8+
/**
9+
* @name CSI camera connector GPIO list
10+
* @{
11+
*/
12+
#define CSI_IO0 1 /**< GPIO0 */
13+
#define CSI_IO1 2 /**< GPIO1 */
14+
#define CSI_I2C_SCL 3 /**< I2C clock pin */
15+
#define CSI_I2C_SDA 4 /**< I2C data pin */
16+
/** @} */
17+
18+
#endif /* INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_RASPBERRYPI_CSI_CONNECTOR_H_ */

0 commit comments

Comments
 (0)