mirror of
https://github.com/Fishwaldo/build.git
synced 2025-07-24 05:48:41 +00:00
* Attach Meson64 to mainline with a bunch of patches. Tested, but need further work. * Enable DVFS on N2 which sometimes works, sometime doesn't, cleanup * Enable beta targets for Meson64 kernel family * Bump with version
351 lines
7.1 KiB
Diff
351 lines
7.1 KiB
Diff
From 9fcd9fe08086f0e70f066c7c9d91b6b83a5a4978 Mon Sep 17 00:00:00 2001
|
|
From: Jerome Brunet <jbrunet@baylibre.com>
|
|
Date: Mon, 18 Mar 2019 13:46:06 +0100
|
|
Subject: [PATCH 48/94] WIP: arm64: dts: meson: u200: add audio support
|
|
|
|
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
|
|
---
|
|
arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts | 292 ++++++++++++++++++++++++
|
|
1 file changed, 292 insertions(+)
|
|
|
|
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
|
|
index 2a324f0..0dc2476 100644
|
|
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
|
|
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
|
|
@@ -8,6 +8,8 @@
|
|
#include "meson-g12a.dtsi"
|
|
#include <dt-bindings/gpio/gpio.h>
|
|
#include <dt-bindings/gpio/meson-g12a-gpio.h>
|
|
+#include <dt-bindings/sound/meson-g12a-tohdmitx.h>
|
|
+#include <dt-bindings/sound/meson-g12a-toacodec.h>
|
|
|
|
/ {
|
|
compatible = "amlogic,u200", "amlogic,g12a";
|
|
@@ -18,6 +20,20 @@
|
|
ethernet0 = ðmac;
|
|
};
|
|
|
|
+ dioo2133: audio-amplifier-0 {
|
|
+ compatible = "simple-audio-amplifier";
|
|
+ enable-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>;
|
|
+ VCC-supply = <&vcc_5v>;
|
|
+ sound-name-prefix = "10U2";
|
|
+ };
|
|
+
|
|
+ spdif_dit: audio-codec-1 {
|
|
+ #sound-dai-cells = <0>;
|
|
+ compatible = "linux,spdif-dit";
|
|
+ status = "okay";
|
|
+ sound-name-prefix = "DIT";
|
|
+ };
|
|
+
|
|
chosen {
|
|
stdout-path = "serial0:115200n8";
|
|
};
|
|
@@ -147,6 +163,182 @@
|
|
regulator-boot-on;
|
|
regulator-always-on;
|
|
};
|
|
+
|
|
+ sound {
|
|
+ compatible = "amlogic,axg-sound-card";
|
|
+ model = "G12A-U200";
|
|
+ audio-aux-devs = <&tdmout_a>, <&tdmout_b>, <&tdmout_c>,
|
|
+ <&tdmin_a>, <&tdmin_b>, <&tdmin_c>,
|
|
+ <&tdmin_lb>, <&dioo2133>;
|
|
+ audio-routing = "TDMOUT_A IN 0", "FRDDR_A OUT 0",
|
|
+ "TDMOUT_A IN 1", "FRDDR_B OUT 0",
|
|
+ "TDMOUT_A IN 2", "FRDDR_C OUT 0",
|
|
+ "TDM_A Playback", "TDMOUT_A OUT",
|
|
+ "TDMOUT_B IN 0", "FRDDR_A OUT 1",
|
|
+ "TDMOUT_B IN 1", "FRDDR_B OUT 1",
|
|
+ "TDMOUT_B IN 2", "FRDDR_C OUT 1",
|
|
+ "TDM_B Playback", "TDMOUT_B OUT",
|
|
+ "TDMOUT_C IN 0", "FRDDR_A OUT 2",
|
|
+ "TDMOUT_C IN 1", "FRDDR_B OUT 2",
|
|
+ "TDMOUT_C IN 2", "FRDDR_C OUT 2",
|
|
+ "TDM_C Playback", "TDMOUT_C OUT",
|
|
+ "SPDIFOUT IN 0", "FRDDR_A OUT 3",
|
|
+ "SPDIFOUT IN 1", "FRDDR_B OUT 3",
|
|
+ "SPDIFOUT IN 2", "FRDDR_C OUT 3",
|
|
+ "TDMIN_A IN 0", "TDM_A Capture",
|
|
+ "TDMIN_A IN 1", "TDM_B Capture",
|
|
+ "TDMIN_A IN 3", "TDM_A Loopback",
|
|
+ "TDMIN_A IN 4", "TDM_B Loopback",
|
|
+ "TDMIN_B IN 0", "TDM_A Capture",
|
|
+ "TDMIN_B IN 1", "TDM_B Capture",
|
|
+ "TDMIN_B IN 3", "TDM_A Loopback",
|
|
+ "TDMIN_B IN 4", "TDM_B Loopback",
|
|
+ "TDMIN_C IN 0", "TDM_A Capture",
|
|
+ "TDMIN_C IN 1", "TDM_B Capture",
|
|
+ "TDMIN_C IN 3", "TDM_A Loopback",
|
|
+ "TDMIN_C IN 4", "TDM_B Loopback",
|
|
+ "TDMIN_LB IN 3", "TDM_A Capture",
|
|
+ "TDMIN_LB IN 4", "TDM_B Capture",
|
|
+ "TDMIN_LB IN 0", "TDM_A Loopback",
|
|
+ "TDMIN_LB IN 1", "TDM_B Loopback",
|
|
+ "TODDR_A IN 0", "TDMIN_A OUT",
|
|
+ "TODDR_B IN 0", "TDMIN_A OUT",
|
|
+ "TODDR_C IN 0", "TDMIN_A OUT",
|
|
+ "TODDR_A IN 1", "TDMIN_B OUT",
|
|
+ "TODDR_B IN 1", "TDMIN_B OUT",
|
|
+ "TODDR_C IN 1", "TDMIN_B OUT",
|
|
+ "TODDR_A IN 2", "TDMIN_C OUT",
|
|
+ "TODDR_B IN 2", "TDMIN_C OUT",
|
|
+ "TODDR_C IN 2", "TDMIN_C OUT",
|
|
+ "TODDR_A IN 6", "TDMIN_LB OUT",
|
|
+ "TODDR_B IN 6", "TDMIN_LB OUT",
|
|
+ "TODDR_C IN 6", "TDMIN_LB OUT",
|
|
+ "10U2 INL", "ACODEC LOLP",
|
|
+ "10U2 INR", "ACODEC LORP";
|
|
+
|
|
+ assigned-clocks = <&clkc CLKID_HIFI_PLL>,
|
|
+ <&clkc CLKID_MPLL0>,
|
|
+ <&clkc CLKID_MPLL1>;
|
|
+ assigned-clock-parents = <0>, <0>, <0>;
|
|
+ assigned-clock-rates = <589824000>,
|
|
+ <270950400>,
|
|
+ <393216000>;
|
|
+
|
|
+ status = "okay";
|
|
+
|
|
+ dai-link-0 {
|
|
+ sound-dai = <&frddr_a>;
|
|
+ };
|
|
+
|
|
+ dai-link-1 {
|
|
+ sound-dai = <&frddr_b>;
|
|
+ };
|
|
+
|
|
+ dai-link-2 {
|
|
+ sound-dai = <&frddr_c>;
|
|
+ };
|
|
+
|
|
+ dai-link-3 {
|
|
+ sound-dai = <&toddr_a>;
|
|
+ };
|
|
+
|
|
+ dai-link-4 {
|
|
+ sound-dai = <&toddr_b>;
|
|
+ };
|
|
+
|
|
+ dai-link-5 {
|
|
+ sound-dai = <&toddr_c>;
|
|
+ };
|
|
+
|
|
+ dai-link-6 {
|
|
+ sound-dai = <&tdmif_b>;
|
|
+ dai-format = "i2s";
|
|
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
+ mclk-fs = <256>;
|
|
+
|
|
+ codec@0 {
|
|
+ sound-dai = <&toacodec TOACODEC_IN_B>;
|
|
+ };
|
|
+
|
|
+ codec@1 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_B>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ dai-link-7 {
|
|
+ sound-dai = <&tdmif_a>;
|
|
+ dai-format = "i2s";
|
|
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
+ mclk-fs = <256>;
|
|
+
|
|
+ codec@0 {
|
|
+ sound-dai = <&toacodec TOACODEC_IN_A>;
|
|
+ };
|
|
+
|
|
+ codec@1 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_A>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ dai-link-8 {
|
|
+ sound-dai = <&tdmif_c>;
|
|
+ dai-format = "i2s";
|
|
+ dai-tdm-slot-tx-mask-0 = <1 1>;
|
|
+ mclk-fs = <256>;
|
|
+
|
|
+ codec@0 {
|
|
+ sound-dai = <&toacodec TOACODEC_IN_C>;
|
|
+ };
|
|
+
|
|
+ codec@1 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_IN_C>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ dai-link-9 {
|
|
+ sound-dai = <&spdifout>;
|
|
+
|
|
+ codec@0 {
|
|
+ sound-dai = <&spdif_dit>;
|
|
+ };
|
|
+
|
|
+ codec@1 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_A>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ dai-link-10 {
|
|
+ sound-dai = <&spdifout_b>;
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_SPDIF_IN_B>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ dai-link-11 {
|
|
+ sound-dai = <&tohdmitx TOHDMITX_I2S_OUT>;
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&hdmi_tx>;
|
|
+ };
|
|
+ };
|
|
+
|
|
+ dai-link-12 {
|
|
+ sound-dai = <&toacodec TOACODEC_OUT>;
|
|
+
|
|
+ codec {
|
|
+ sound-dai = <&acodec>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
+
|
|
+&acodec {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&arb {
|
|
+ status = "okay";
|
|
};
|
|
|
|
&cec_AO {
|
|
@@ -191,6 +383,10 @@
|
|
clock-latency = <50000>;
|
|
};
|
|
|
|
+&clkc_audio {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
&cvbs_vdac_port {
|
|
cvbs_vdac_out: endpoint {
|
|
remote-endpoint = <&cvbs_connector_in>;
|
|
@@ -203,6 +399,18 @@
|
|
phy-mode = "rmii";
|
|
};
|
|
|
|
+&frddr_a {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&frddr_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&frddr_c {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
&hdmi_tx {
|
|
status = "okay";
|
|
pinctrl-0 = <&hdmitx_hpd_pins>, <&hdmitx_ddc_pins>;
|
|
@@ -288,6 +496,90 @@
|
|
vqmmc-supply = <&flash_1v8>;
|
|
};
|
|
|
|
+&spdifout {
|
|
+ pinctrl-0 = <&spdif_ao_out_pins>;
|
|
+ pinctrl-names = "default";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&spdifout_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmif_a {
|
|
+ pinctrl-0 = <&tdm_a_fs_pins>, <&tdm_a_sclk_pins>, <&tdm_a_dout0_pins> ;
|
|
+ pinctrl-names = "default";
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmif_b {
|
|
+ pinctrl-0 = <&mclk0_a_pins>, <&tdm_b_fs_pins>, <&tdm_b_sclk_pins>,
|
|
+ <&tdm_b_dout0_pins>;
|
|
+ pinctrl-names = "default";
|
|
+ status = "okay";
|
|
+
|
|
+ assigned-clocks = <&clkc_audio AUD_CLKID_TDM_MCLK_PAD0>,
|
|
+ <&clkc_audio AUD_CLKID_TDM_SCLK_PAD1>,
|
|
+ <&clkc_audio AUD_CLKID_TDM_LRCLK_PAD1>;
|
|
+ assigned-clock-parents = <&clkc_audio AUD_CLKID_MST_B_MCLK>,
|
|
+ <&clkc_audio AUD_CLKID_MST_B_SCLK>,
|
|
+ <&clkc_audio AUD_CLKID_MST_B_LRCLK>;
|
|
+ assigned-clock-rates = <0>, <0>, <0>;
|
|
+};
|
|
+
|
|
+&tdmif_c {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmin_a {
|
|
+ inctrl-0 = <&tdm_a_dout0_pins>, <&tdm_a_fs_pins>, <&tdm_a_sclk_pins>;
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmin_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmin_c {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmin_lb {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmout_a {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmout_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tdmout_c {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&toacodec {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&toddr_a {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&toddr_b {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&toddr_c {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
+&tohdmitx {
|
|
+ status = "okay";
|
|
+};
|
|
+
|
|
&uart_AO {
|
|
status = "okay";
|
|
pinctrl-0 = <&uart_ao_a_pins>;
|
|
--
|
|
2.7.1
|
|
|