dts: bindings: Add SDP-120 connector GPIO ADI

Add binding for adi SDP-120 connector and header file
with marcos to map signals using signal names.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
This commit is contained in:
Stoyan Bogdanov 2024-02-28 14:26:47 +02:00 committed by Carles Cufí
commit 3d60d551c4
2 changed files with 161 additions and 0 deletions

View file

@ -0,0 +1,74 @@
# Copyright (c) 2024 Analog Devices Inc.
# Copyright (c) 2024 Baylibre, SAS
# SPDX-License-Identifier: Apache-2.0
description: |
GPIO pins exposed on a Analog devices SDP interface.
120-pin SDP interface:
1 VIN NC 120
2 NC NC 119
3 GND GND 118
4 GND GND 117
5 USB_VBUS VIO 116
6 GND GND 115
7 PAR_D23 PAR_D22 114
8 PAR_D21 PAR_D20 113
9 PAR_D19 PAR_D18 112
10 PAR_D17 PAR_D16 111
11 GND PAR_D15 110
12 PAR_D14 GND 109
13 PAR_D13 PAR_D12 108
14 PAR_D11 PAR_D10 107
15 PAR_D9 PAR_D8 106
16 PAR_D7 PAR_D6 105
17 GND GND 104
18 PAR_D5 PAR_D4 103
19 PAR_D3 PAR_D2 102
20 PAR_D1 PAR_D0 101
21 PAR_RD_N PAR_WR_N 100
22 PAR_CS_N PAR_INT 99
23 GND GND 98
24 PAR_A3 PAR_A2 97
25 PAR_A1 PAR_A0 96
26 PAR_FS3 PAR_FS2 95
27 PAR_FS1 PAR_CLK 94
28 GND GND 93
29 SPORT_TDV0 SPORT_RSCLK 92
30 SPORT_TDV1 SPORT_DR0 91
31 SPORT_DR1 SPORT_RFS 90
32 SPORT_DT1 SPORT_TFS 89
33 SPI_D2 SPORT_DT0 88
34 SPI_D3 SPORT_TSCLK 87
35 SERIAL_INT GND 86
36 GND SPI_SEL_A_N 85
37 SPI_SEL_B_N SPI_MOSI 84
38 SPI_SEL_C_N SPI_MISO 83
39 SPI_SEL1/SPI_SS_N SPI_CLK 82
40 GND GND 81
41 SDA_1 SDA_0 80
42 SCL_1 SCL_0 79
43 GPIO0 GPIO1 78
44 GPIO2 GPIO3 77
45 GPIO4 GPIO5 76
46 GND GND 75
47 GPIO6 GPIO7 74
48 TMR_A TMR_B 73
49 TMR_C TMR_D 72
50 NC CLKOUT 71
51 NC NC 70
52 GND GND 69
53 NC NC 68
54 NC NC 67
55 NC NC 66
56 EEPROM_A0 WAKE_N 65
57 RESET_OUT_N SLEEP_N 64
58 GND GND 63
59 UART_RX UART_TX 62
60 RESET_IN_N BMODE1 61
compatible: "adi,sdp-120"
include: [gpio-nexus.yaml, base.yaml]

View file

@ -0,0 +1,87 @@
/**
* Copyright (c) 2024 Analog Devices Inc.
* Copyright (c) 2024 Baylibre, SAS
*
* SPDX-License-Identifier: Apache-2.0
*
* @file
* @brief SDP-120 GPIO index definitions
*
* Defines meant to be used in conjunction with the "adi,sdp-120"
* ADI SDP-120 mapping.
*
* Example usage:
*
* @code{.dts}
* &spi1 {
* cs-gpios = <&sdp_120 SDP_120_SPI_SS_N GPIO_ACTIVE_LOW>;
*
* example_device: example-dev@0 {
* compatible = "vnd,spi-device";
* reg = <0>;
* };
* };
* @endcode
*/
#ifndef ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_ADI_SDP_120_H_
#define ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_ADI_SDP_120_H_
/* GPIO */
/**
* @brief IO[n] signal on a SDP-120 GPIO nexus node following
*/
#define SDP_120_IO(n) (n-1)
/* SPI */
#define SDP_120_SPI_D2 SDP_120_IO(33) /* SPI_D2 */
#define SDP_120_SPI_D3 SDP_120_IO(34) /* SPI_D3 */
#define SDP_120_SERIAL_INT SDP_120_IO(35) /* SERIAL_INT */
#define SDP_120_SPI_SEL_B_N SDP_120_IO(37) /* SPI_SEL_B_N */
#define SDP_120_SPI_SEL_C_N SDP_120_IO(38) /* SPI_SEL_C_N */
#define SDP_120_SPI_SS_N SDP_120_IO(39) /* SPI_SS_N */
/* GPIO */
#define SDP_120_GPIO0 SDP_120_IO(43) /* GPIO0 */
#define SDP_120_GPIO2 SDP_120_IO(44) /* GPIO2 */
#define SDP_120_GPIO4 SDP_120_IO(45) /* GPIO4 */
#define SDP_120_GPIO6 SDP_120_IO(47) /* GPIO6 */
/* TMR */
#define SDP_120_TMR_A SDP_120_IO(48) /* TMR_A */
/* USART */
#define SDP_120_UART_RX SDP_120_IO(59) /* UART2_RX */
#define SDP_120_UART_TX SDP_120_IO(62) /* UART2_TX */
/* TMR */
#define SDP_120_TMR_D SDP_120_IO(72) /* TMR_D */
#define SDP_120_TMR_B SDP_120_IO(73) /* TMR_B */
/* GPIO */
#define SDP_120_GPIO7 SDP_120_IO(74) /* GPIO7 */
#define SDP_120_GPIO5 SDP_120_IO(76) /* GPIO5 */
#define SDP_120_GPIO3 SDP_120_IO(77) /* GPIO3 */
#define SDP_120_GPIO1 SDP_120_IO(78) /* GPIO1 */
/* I2C */
#define SDP_120_SCL_0 SDP_120_IO(79) /* SCL_0 */
#define SDP_120_SDA_0 SDP_120_IO(80) /* SDA_0 */
/* SPI */
#define SDP_120_SPI_CLK SDP_120_IO(82) /* SPI_CLK */
#define SDP_120_SPI_MISO SDP_120_IO(83) /* SPI_MISO */
#define SDP_120_SPI_MOSI SDP_120_IO(84) /* SPI_MOSI */
#define SDP_120_SPI_SEL_A_N SDP_120_IO(85) /* SPI_SEL_A_N */
/* SPORT - no driver yet */
#define SDP_120_SPI_SPORT_TSCLK SDP_120_IO(87) /* SPORT_TSCLK */
#define SDP_120_SPI_SPORT_DT0 SDP_120_IO(88) /* SPORT_DT0 */
#define SDP_120_SPI_SPORT_TFS SDP_120_IO(89) /* SPORT_TFS */
#define SDP_120_SPI_SPORT_RFS SDP_120_IO(90) /* SPORT_RFS */
#define SDP_120_SPI_SPORT_DR0 SDP_120_IO(91) /* SPORT_DR0 */
#define SDP_120_SPI_SPORT_RSCLK SDP_120_IO(92) /* SPORT_RSCLK */
#endif /* ZEPHYR_INCLUDE_DT_BINDINGS_GPIO_ADI_SDP_120_H_ */