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