# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause

%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/serial-midi.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Generic Serial MIDI Interface

maintainers:
  - Daniel Kaehn <kaehndan@gmail.com>

description:
  Generic MIDI interface using a serial device. This denotes that a serial device is
  dedicated to MIDI communication, either to an external MIDI device through a DIN5
  or other connector, or to a known hardwired MIDI controller. This device must be a
  child node of a serial node.

  Can only be set to use standard baud rates corresponding to supported rates of the
  parent serial device. If the standard MIDI baud of 31.25 kBaud is needed
  (as would be the case if interfacing with arbitrary external MIDI devices),
  configure the clocks of the parent serial device so that a requested baud of 38.4 kBaud
  results in the standard MIDI baud rate, and set the 'current-speed' property to 38400 (default)

allOf:
  - $ref: /schemas/serial/serial-peripheral-props.yaml#

properties:
  compatible:
    const: serial-midi

  current-speed:
    description: Baudrate to set the serial port to when this MIDI device is opened.
    default: 38400

required:
  - compatible

additionalProperties: false

examples:
  - |
    serial {
        midi {
            compatible = "serial-midi";
        };
    };
  - |
    serial {
        midi {
            compatible = "serial-midi";
            current-speed = <115200>;
        };
    };
