[PATCH 2/8] dt-bindings: connector: Add MikorBUS connector

From: Ayush Singh
Date: Wed Sep 11 2024 - 10:28:37 EST


Add DT bindings for mikroBUS interface. MikroBUS [0] is an open standard
developed by MikroElektronika for connecting add-on boards to
microcontrollers or microprocessors.

MikroBUS connector node will optionally act as nexus nodes for routing
GPIOs and PWM.

For GPIOs, the following pin numbering should be followed:

0: PWM
1: INT
2: RX
3: TX
4: SCL
5: SDA
6: MOSI
7: MISO
8: SCK
9: CS
10: RST
11: AN

For PWM, the PWM pin should be on channel 0.

I am not quite sure how to deal with the nexus node properties
(#gpio-cells, gpio-map, gpio-map-mask, gpio-map-pass-thru) since they
seem to conflict with upstream gpio schema (gpio-controller is a
dependency of #gpio-cells).

[0]: https://www.mikroe.com/

Signed-off-by: Ayush Singh <ayush@xxxxxxxxxxxxxxx>
---
.../bindings/connector/mikrobus-connector.yaml | 40 ++++++++++++++++++++++
MAINTAINERS | 5 +++
2 files changed, 45 insertions(+)

diff --git a/Documentation/devicetree/bindings/connector/mikrobus-connector.yaml b/Documentation/devicetree/bindings/connector/mikrobus-connector.yaml
new file mode 100644
index 000000000000..603e4627076c
--- /dev/null
+++ b/Documentation/devicetree/bindings/connector/mikrobus-connector.yaml
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
+#
+# Copyright (c) Ayush Singh <ayush@xxxxxxxxxxxxxxx>
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/connector/mikrobus-connector.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: mikroBUS add-on board socket
+
+maintainers:
+ - Ayush Singh <ayush@xxxxxxxxxxxxxxx>
+
+properties:
+ compatible:
+ const: mikrobus-connector
+
+required:
+ - compatible
+
+additionalProperties: true
+
+examples:
+ - |
+ mikrobus_connector0: mikrobus-connector0 {
+ status = "okay";
+ compatible = "mikrobus-connector";
+
+ #gpio-cells = <2>;
+ gpio-map =
+ <0 0 &main_gpio1 11 0>, <1 0 &main_gpio1 9 0>,
+ <2 0 &main_gpio1 24 0>, <3 0 &main_gpio1 25 0>,
+ <4 0 &main_gpio1 22 0>, <5 0 &main_gpio1 23 0>,
+ <6 0 &main_gpio1 7 0>, <7 0 &main_gpio1 8 0>,
+ <8 0 &main_gpio1 14 0>, <9 0 &main_gpio1 13 0>,
+ <10 0 &main_gpio1 12 0>, <11 0 &main_gpio1 10 0>;
+ gpio-map-mask = <0xf 0x0>;
+ gpio-map-pass-thru = <0x0 0x1>;
+ };
+
diff --git a/MAINTAINERS b/MAINTAINERS
index 0a3d9e17295a..0cc27446b18a 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -15429,6 +15429,11 @@ M: Oliver Neukum <oliver@xxxxxxxxxx>
S: Maintained
F: drivers/usb/image/microtek.*

+MIKROBUS CONNECTOR
+M: Ayush Singh <ayush@xxxxxxxxxxxxxxx>
+S: Maintained
+F: Documentation/devicetree/bindings/connector/mikrobus-connector.yaml
+
MIKROTIK CRS3XX 98DX3236 BOARD SUPPORT
M: Luka Kovacic <luka.kovacic@xxxxxxxxxx>
M: Luka Perkov <luka.perkov@xxxxxxxxxx>

--
2.46.0