1 From 37f172b47784a4debc62cb71974eac303031e69c Mon Sep 17 00:00:00 2001
2 From: pjx3 <pjx3@users.noreply.github.com>
3 Date: Sun, 8 Aug 2021 20:09:46 +0100
4 Subject: [PATCH] overlays: Add midi-uart{2345}-overlay.dts
6 Added overlays for enabling MIDI baudrates on additional UARTs
8 Signed-off-by: Pete Marshall <petemarshall303@gmail.com>
10 arch/arm/boot/dts/overlays/Makefile | 4 ++
11 arch/arm/boot/dts/overlays/README | 28 ++++++++++++++
12 .../boot/dts/overlays/midi-uart2-overlay.dts | 37 ++++++++++++++++++
13 .../boot/dts/overlays/midi-uart3-overlay.dts | 38 +++++++++++++++++++
14 .../boot/dts/overlays/midi-uart4-overlay.dts | 38 +++++++++++++++++++
15 .../boot/dts/overlays/midi-uart5-overlay.dts | 38 +++++++++++++++++++
16 6 files changed, 183 insertions(+)
17 create mode 100644 arch/arm/boot/dts/overlays/midi-uart2-overlay.dts
18 create mode 100644 arch/arm/boot/dts/overlays/midi-uart3-overlay.dts
19 create mode 100644 arch/arm/boot/dts/overlays/midi-uart4-overlay.dts
20 create mode 100644 arch/arm/boot/dts/overlays/midi-uart5-overlay.dts
22 --- a/arch/arm/boot/dts/overlays/Makefile
23 +++ b/arch/arm/boot/dts/overlays/Makefile
24 @@ -123,6 +123,10 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
35 --- a/arch/arm/boot/dts/overlays/README
36 +++ b/arch/arm/boot/dts/overlays/README
37 @@ -2088,6 +2088,34 @@ Load: dtoverlay=midi-uart1
42 +Info: Configures UART2 (ttyAMA1) so that a requested 38.4kbaud actually gets
43 + 31.25kbaud, the frequency required for MIDI
44 +Load: dtoverlay=midi-uart2
49 +Info: Configures UART3 (ttyAMA2) so that a requested 38.4kbaud actually gets
50 + 31.25kbaud, the frequency required for MIDI
51 +Load: dtoverlay=midi-uart3
56 +Info: Configures UART4 (ttyAMA3) so that a requested 38.4kbaud actually gets
57 + 31.25kbaud, the frequency required for MIDI
58 +Load: dtoverlay=midi-uart4
63 +Info: Configures UART5 (ttyAMA4) so that a requested 38.4kbaud actually gets
64 + 31.25kbaud, the frequency required for MIDI
65 +Load: dtoverlay=midi-uart5
70 Info: Overlay for AdaFruit Mini Pi 1.3" TFT via SPI using fbtft driver.
71 Load: dtoverlay=minipitft13,<param>=<val>
73 +++ b/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts
78 +#include <dt-bindings/clock/bcm2835.h>
81 + * Fake a higher clock rate to get a larger divisor, and thereby a lower
82 + * baudrate. The real clock is 48MHz, which we scale so that requesting
83 + * 38.4kHz results in an actual 31.25kHz.
85 + * 48000000*38400/31250 = 58982400
89 + compatible = "brcm,bcm2835";
94 + midi_clk: midi_clk2 {
95 + compatible = "fixed-clock";
97 + clock-output-names = "uart2_pclk";
98 + clock-frequency = <58982400>;
106 + clocks = <&midi_clk>,
107 + <&clocks BCM2835_CLOCK_VPU>;
113 +++ b/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts
118 +#include <dt-bindings/clock/bcm2835.h>
121 + * Fake a higher clock rate to get a larger divisor, and thereby a lower
122 + * baudrate. The real clock is 48MHz, which we scale so that requesting
123 + * 38.4kHz results in an actual 31.25kHz.
125 + * 48000000*38400/31250 = 58982400
129 + compatible = "brcm,bcm2835";
134 + midi_clk: midi_clk3 {
135 + compatible = "fixed-clock";
136 + #clock-cells = <0>;
137 + clock-output-names = "uart3_pclk";
138 + clock-frequency = <58982400>;
146 + clocks = <&midi_clk>,
147 + <&clocks BCM2835_CLOCK_VPU>;
154 +++ b/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts
159 +#include <dt-bindings/clock/bcm2835.h>
162 + * Fake a higher clock rate to get a larger divisor, and thereby a lower
163 + * baudrate. The real clock is 48MHz, which we scale so that requesting
164 + * 38.4kHz results in an actual 31.25kHz.
166 + * 48000000*38400/31250 = 58982400
170 + compatible = "brcm,bcm2835";
175 + midi_clk: midi_clk4 {
176 + compatible = "fixed-clock";
177 + #clock-cells = <0>;
178 + clock-output-names = "uart4_pclk";
179 + clock-frequency = <58982400>;
187 + clocks = <&midi_clk>,
188 + <&clocks BCM2835_CLOCK_VPU>;
195 +++ b/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts
200 +#include <dt-bindings/clock/bcm2835.h>
203 + * Fake a higher clock rate to get a larger divisor, and thereby a lower
204 + * baudrate. The real clock is 48MHz, which we scale so that requesting
205 + * 38.4kHz results in an actual 31.25kHz.
207 + * 48000000*38400/31250 = 58982400
211 + compatible = "brcm,bcm2835";
216 + midi_clk: midi_clk5 {
217 + compatible = "fixed-clock";
218 + #clock-cells = <0>;
219 + clock-output-names = "uart5_pclk";
220 + clock-frequency = <58982400>;
228 + clocks = <&midi_clk>,
229 + <&clocks BCM2835_CLOCK_VPU>;