mirror of
https://github.com/Ysurac/openmptcprouter.git
synced 2025-02-13 20:01:55 +00:00
253 lines
7.7 KiB
Diff
253 lines
7.7 KiB
Diff
From 08a9b3ed6eee4202265488fb1ee13f9a99bef241 Mon Sep 17 00:00:00 2001
|
|
From: pjx3 <pjx3@users.noreply.github.com>
|
|
Date: Sun, 8 Aug 2021 20:09:46 +0100
|
|
Subject: [PATCH 541/552] overlays: Add midi-uart{2345}-overlay.dts
|
|
|
|
Added overlays for enabling MIDI baudrates on additional UARTs
|
|
|
|
Signed-off-by: Pete Marshall <petemarshall303@gmail.com>
|
|
---
|
|
arch/arm/boot/dts/overlays/Makefile | 4 ++
|
|
arch/arm/boot/dts/overlays/README | 28 ++++++++++++++
|
|
.../boot/dts/overlays/midi-uart2-overlay.dts | 37 ++++++++++++++++++
|
|
.../boot/dts/overlays/midi-uart3-overlay.dts | 38 +++++++++++++++++++
|
|
.../boot/dts/overlays/midi-uart4-overlay.dts | 38 +++++++++++++++++++
|
|
.../boot/dts/overlays/midi-uart5-overlay.dts | 38 +++++++++++++++++++
|
|
6 files changed, 183 insertions(+)
|
|
create mode 100644 arch/arm/boot/dts/overlays/midi-uart2-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/midi-uart3-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/midi-uart4-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/midi-uart5-overlay.dts
|
|
|
|
diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
|
|
index 6ab8969f9d85..fbcc3e35a747 100644
|
|
--- a/arch/arm/boot/dts/overlays/Makefile
|
|
+++ b/arch/arm/boot/dts/overlays/Makefile
|
|
@@ -123,6 +123,10 @@ dtbo-$(CONFIG_ARCH_BCM2835) += \
|
|
merus-amp.dtbo \
|
|
midi-uart0.dtbo \
|
|
midi-uart1.dtbo \
|
|
+ midi-uart2.dtbo \
|
|
+ midi-uart3.dtbo \
|
|
+ midi-uart4.dtbo \
|
|
+ midi-uart5.dtbo \
|
|
minipitft13.dtbo \
|
|
miniuart-bt.dtbo \
|
|
mmc.dtbo \
|
|
diff --git a/arch/arm/boot/dts/overlays/README b/arch/arm/boot/dts/overlays/README
|
|
index fafec158c1bb..57d5c2f45c50 100644
|
|
--- a/arch/arm/boot/dts/overlays/README
|
|
+++ b/arch/arm/boot/dts/overlays/README
|
|
@@ -2088,6 +2088,34 @@ Load: dtoverlay=midi-uart1
|
|
Params: <None>
|
|
|
|
|
|
+Name: midi-uart2
|
|
+Info: Configures UART2 (ttyAMA1) so that a requested 38.4kbaud actually gets
|
|
+ 31.25kbaud, the frequency required for MIDI
|
|
+Load: dtoverlay=midi-uart2
|
|
+Params: <None>
|
|
+
|
|
+
|
|
+Name: midi-uart3
|
|
+Info: Configures UART3 (ttyAMA2) so that a requested 38.4kbaud actually gets
|
|
+ 31.25kbaud, the frequency required for MIDI
|
|
+Load: dtoverlay=midi-uart3
|
|
+Params: <None>
|
|
+
|
|
+
|
|
+Name: midi-uart4
|
|
+Info: Configures UART4 (ttyAMA3) so that a requested 38.4kbaud actually gets
|
|
+ 31.25kbaud, the frequency required for MIDI
|
|
+Load: dtoverlay=midi-uart4
|
|
+Params: <None>
|
|
+
|
|
+
|
|
+Name: midi-uart5
|
|
+Info: Configures UART5 (ttyAMA4) so that a requested 38.4kbaud actually gets
|
|
+ 31.25kbaud, the frequency required for MIDI
|
|
+Load: dtoverlay=midi-uart5
|
|
+Params: <None>
|
|
+
|
|
+
|
|
Name: minipitft13
|
|
Info: Overlay for AdaFruit Mini Pi 1.3" TFT via SPI using fbtft driver.
|
|
Load: dtoverlay=minipitft13,<param>=<val>
|
|
diff --git a/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..66f3092e9a74
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/midi-uart2-overlay.dts
|
|
@@ -0,0 +1,37 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+#include <dt-bindings/clock/bcm2835.h>
|
|
+
|
|
+/*
|
|
+ * Fake a higher clock rate to get a larger divisor, and thereby a lower
|
|
+ * baudrate. The real clock is 48MHz, which we scale so that requesting
|
|
+ * 38.4kHz results in an actual 31.25kHz.
|
|
+ *
|
|
+ * 48000000*38400/31250 = 58982400
|
|
+ */
|
|
+
|
|
+/{
|
|
+ compatible = "brcm,bcm2835";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/";
|
|
+ __overlay__ {
|
|
+ midi_clk: midi_clk2 {
|
|
+ compatible = "fixed-clock";
|
|
+ #clock-cells = <0>;
|
|
+ clock-output-names = "uart2_pclk";
|
|
+ clock-frequency = <58982400>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&uart2>;
|
|
+ __overlay__ {
|
|
+ clocks = <&midi_clk>,
|
|
+ <&clocks BCM2835_CLOCK_VPU>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
diff --git a/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..55c6cb94f963
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/midi-uart3-overlay.dts
|
|
@@ -0,0 +1,38 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+#include <dt-bindings/clock/bcm2835.h>
|
|
+
|
|
+/*
|
|
+ * Fake a higher clock rate to get a larger divisor, and thereby a lower
|
|
+ * baudrate. The real clock is 48MHz, which we scale so that requesting
|
|
+ * 38.4kHz results in an actual 31.25kHz.
|
|
+ *
|
|
+ * 48000000*38400/31250 = 58982400
|
|
+ */
|
|
+
|
|
+/{
|
|
+ compatible = "brcm,bcm2835";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/";
|
|
+ __overlay__ {
|
|
+ midi_clk: midi_clk3 {
|
|
+ compatible = "fixed-clock";
|
|
+ #clock-cells = <0>;
|
|
+ clock-output-names = "uart3_pclk";
|
|
+ clock-frequency = <58982400>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&uart3>;
|
|
+ __overlay__ {
|
|
+ clocks = <&midi_clk>,
|
|
+ <&clocks BCM2835_CLOCK_VPU>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+
|
|
diff --git a/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..5819df1a6b2e
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/midi-uart4-overlay.dts
|
|
@@ -0,0 +1,38 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+#include <dt-bindings/clock/bcm2835.h>
|
|
+
|
|
+/*
|
|
+ * Fake a higher clock rate to get a larger divisor, and thereby a lower
|
|
+ * baudrate. The real clock is 48MHz, which we scale so that requesting
|
|
+ * 38.4kHz results in an actual 31.25kHz.
|
|
+ *
|
|
+ * 48000000*38400/31250 = 58982400
|
|
+ */
|
|
+
|
|
+/{
|
|
+ compatible = "brcm,bcm2835";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/";
|
|
+ __overlay__ {
|
|
+ midi_clk: midi_clk4 {
|
|
+ compatible = "fixed-clock";
|
|
+ #clock-cells = <0>;
|
|
+ clock-output-names = "uart4_pclk";
|
|
+ clock-frequency = <58982400>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&uart4>;
|
|
+ __overlay__ {
|
|
+ clocks = <&midi_clk>,
|
|
+ <&clocks BCM2835_CLOCK_VPU>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+
|
|
diff --git a/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts b/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..a1d37f7103ff
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/midi-uart5-overlay.dts
|
|
@@ -0,0 +1,38 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+#include <dt-bindings/clock/bcm2835.h>
|
|
+
|
|
+/*
|
|
+ * Fake a higher clock rate to get a larger divisor, and thereby a lower
|
|
+ * baudrate. The real clock is 48MHz, which we scale so that requesting
|
|
+ * 38.4kHz results in an actual 31.25kHz.
|
|
+ *
|
|
+ * 48000000*38400/31250 = 58982400
|
|
+ */
|
|
+
|
|
+/{
|
|
+ compatible = "brcm,bcm2835";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/";
|
|
+ __overlay__ {
|
|
+ midi_clk: midi_clk5 {
|
|
+ compatible = "fixed-clock";
|
|
+ #clock-cells = <0>;
|
|
+ clock-output-names = "uart5_pclk";
|
|
+ clock-frequency = <58982400>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&uart5>;
|
|
+ __overlay__ {
|
|
+ clocks = <&midi_clk>,
|
|
+ <&clocks BCM2835_CLOCK_VPU>;
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+
|
|
--
|
|
2.33.0
|
|
|