dts: bindings: add st-morpho-header

All Nucleo boards provide the ST Morpho connector/header, which exposes
all pins of the MCU. It is tipically used in ST shields, so provide a
nexus node to allow creating generic shields.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
This commit is contained in:
Gerard Marull-Paretas 2023-05-02 10:00:39 +02:00 committed by Fabio Baltieri
parent 8c73f3580a
commit ecb591161a
2 changed files with 107 additions and 0 deletions

View file

@ -0,0 +1,13 @@
# Copyright (c) 2023 Teslabs Engineering S.L.
# SPDX-License-Identifier: Apache-2.0
description: |
GPIO pins exposed on ST Morpho connector.
The ST morpho connector consists in male pin headers (CN7 and CN10) accessible
on both sides of any Nucleo board. They can be used to connect shields. All
signals and power pins of the STM32 are available on the ST morpho connector.
compatible: "st-morpho-header"
include: [gpio-nexus.yaml, base.yaml]

View file

@ -0,0 +1,94 @@
/*
* Copyright (c) 2023 Teslabs Engineering S.L.
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_ST_MORPHO_HEADER_H_
#define INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_ST_MORPHO_HEADER_H_
/** ST Morpho pin mask (0...75). */
#define ST_MORPHO_PIN_MASK 0x7F
/**
* @name ST Morpho pin identifiers
* @{
*/
#define ST_MORPHO_CN7_1 0
#define ST_MORPHO_CN7_2 1
#define ST_MORPHO_CN7_3 2
#define ST_MORPHO_CN7_4 3
#define ST_MORPHO_CN7_5 4
#define ST_MORPHO_CN7_6 5
#define ST_MORPHO_CN7_7 6
#define ST_MORPHO_CN7_8 7
#define ST_MORPHO_CN7_9 8
#define ST_MORPHO_CN7_10 9
#define ST_MORPHO_CN7_11 10
#define ST_MORPHO_CN7_12 11
#define ST_MORPHO_CN7_13 12
#define ST_MORPHO_CN7_14 13
#define ST_MORPHO_CN7_15 14
#define ST_MORPHO_CN7_16 15
#define ST_MORPHO_CN7_17 16
#define ST_MORPHO_CN7_18 17
#define ST_MORPHO_CN7_19 18
#define ST_MORPHO_CN7_20 19
#define ST_MORPHO_CN7_21 20
#define ST_MORPHO_CN7_22 21
#define ST_MORPHO_CN7_23 22
#define ST_MORPHO_CN7_24 23
#define ST_MORPHO_CN7_25 24
#define ST_MORPHO_CN7_26 25
#define ST_MORPHO_CN7_27 26
#define ST_MORPHO_CN7_28 27
#define ST_MORPHO_CN7_29 28
#define ST_MORPHO_CN7_30 29
#define ST_MORPHO_CN7_31 30
#define ST_MORPHO_CN7_32 31
#define ST_MORPHO_CN7_33 32
#define ST_MORPHO_CN7_34 33
#define ST_MORPHO_CN7_35 34
#define ST_MORPHO_CN7_36 35
#define ST_MORPHO_CN7_37 36
#define ST_MORPHO_CN7_38 37
#define ST_MORPHO_CN10_1 38
#define ST_MORPHO_CN10_2 39
#define ST_MORPHO_CN10_3 40
#define ST_MORPHO_CN10_4 41
#define ST_MORPHO_CN10_5 42
#define ST_MORPHO_CN10_6 43
#define ST_MORPHO_CN10_7 44
#define ST_MORPHO_CN10_8 45
#define ST_MORPHO_CN10_9 46
#define ST_MORPHO_CN10_10 47
#define ST_MORPHO_CN10_11 48
#define ST_MORPHO_CN10_12 49
#define ST_MORPHO_CN10_13 50
#define ST_MORPHO_CN10_14 51
#define ST_MORPHO_CN10_15 52
#define ST_MORPHO_CN10_16 53
#define ST_MORPHO_CN10_17 54
#define ST_MORPHO_CN10_18 55
#define ST_MORPHO_CN10_19 56
#define ST_MORPHO_CN10_20 57
#define ST_MORPHO_CN10_21 58
#define ST_MORPHO_CN10_22 59
#define ST_MORPHO_CN10_23 60
#define ST_MORPHO_CN10_24 61
#define ST_MORPHO_CN10_25 62
#define ST_MORPHO_CN10_26 63
#define ST_MORPHO_CN10_27 64
#define ST_MORPHO_CN10_28 65
#define ST_MORPHO_CN10_29 66
#define ST_MORPHO_CN10_30 67
#define ST_MORPHO_CN10_31 68
#define ST_MORPHO_CN10_32 69
#define ST_MORPHO_CN10_33 70
#define ST_MORPHO_CN10_34 71
#define ST_MORPHO_CN10_35 72
#define ST_MORPHO_CN10_36 73
#define ST_MORPHO_CN10_37 74
#define ST_MORPHO_CN10_38 75
/** @} */
#endif /* INCLUDE_ZEPHYR_DT_BINDINGS_GPIO_ST_MORPHO_HEADER_H_ */