1*1e5a7462SDaniel Kaehn# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2*1e5a7462SDaniel Kaehn
3*1e5a7462SDaniel Kaehn%YAML 1.2
4*1e5a7462SDaniel Kaehn---
5*1e5a7462SDaniel Kaehn$id: http://devicetree.org/schemas/sound/serial-midi.yaml#
6*1e5a7462SDaniel Kaehn$schema: http://devicetree.org/meta-schemas/core.yaml#
7*1e5a7462SDaniel Kaehn
8*1e5a7462SDaniel Kaehntitle: Generic Serial MIDI Interface
9*1e5a7462SDaniel Kaehn
10*1e5a7462SDaniel Kaehnmaintainers:
11*1e5a7462SDaniel Kaehn  - Daniel Kaehn <kaehndan@gmail.com>
12*1e5a7462SDaniel Kaehn
13*1e5a7462SDaniel Kaehndescription:
14*1e5a7462SDaniel Kaehn  Generic MIDI interface using a serial device. This denotes that a serial device is
15*1e5a7462SDaniel Kaehn  dedicated to MIDI communication, either to an external MIDI device through a DIN5
16*1e5a7462SDaniel Kaehn  or other connector, or to a known hardwired MIDI controller. This device must be a
17*1e5a7462SDaniel Kaehn  child node of a serial node.
18*1e5a7462SDaniel Kaehn
19*1e5a7462SDaniel Kaehn  Can only be set to use standard baud rates corresponding to supported rates of the
20*1e5a7462SDaniel Kaehn  parent serial device. If the standard MIDI baud of 31.25 kBaud is needed
21*1e5a7462SDaniel Kaehn  (as would be the case if interfacing with arbitrary external MIDI devices),
22*1e5a7462SDaniel Kaehn  configure the clocks of the parent serial device so that a requested baud of 38.4 kBaud
23*1e5a7462SDaniel Kaehn  resuts in the standard MIDI baud rate, and set the 'current-speed' property to 38400 (default)
24*1e5a7462SDaniel Kaehn
25*1e5a7462SDaniel Kaehnproperties:
26*1e5a7462SDaniel Kaehn  compatible:
27*1e5a7462SDaniel Kaehn    const: serial-midi
28*1e5a7462SDaniel Kaehn
29*1e5a7462SDaniel Kaehn  current-speed:
30*1e5a7462SDaniel Kaehn    description: Baudrate to set the serial port to when this MIDI device is opened.
31*1e5a7462SDaniel Kaehn    default: 38400
32*1e5a7462SDaniel Kaehn
33*1e5a7462SDaniel Kaehnrequired:
34*1e5a7462SDaniel Kaehn  - compatible
35*1e5a7462SDaniel Kaehn
36*1e5a7462SDaniel KaehnadditionalProperties: false
37*1e5a7462SDaniel Kaehn
38*1e5a7462SDaniel Kaehnexamples:
39*1e5a7462SDaniel Kaehn  - |
40*1e5a7462SDaniel Kaehn    serial {
41*1e5a7462SDaniel Kaehn        midi {
42*1e5a7462SDaniel Kaehn            compatible = "serial-midi";
43*1e5a7462SDaniel Kaehn        };
44*1e5a7462SDaniel Kaehn    };
45*1e5a7462SDaniel Kaehn  - |
46*1e5a7462SDaniel Kaehn    serial {
47*1e5a7462SDaniel Kaehn        midi {
48*1e5a7462SDaniel Kaehn            compatible = "serial-midi";
49*1e5a7462SDaniel Kaehn            current-speed = <115200>;
50*1e5a7462SDaniel Kaehn        };
51*1e5a7462SDaniel Kaehn    };
52