mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 04:10:18 +09:00
audio: add spdif/HDMI mute ctrl [1/1]
PD#TV-3016 Problem: HDMI SPDIF mute interface has no effect. Solution: Add these interfaces for auge platform. Verify: Tested locally. Change-Id: I168c0940e0f2b3d94091d43c6b8190f6f833c0f1 Signed-off-by: Shuai Li <shuai.li@amlogic.com> Conflicts: arch/arm64/boot/dts/amlogic/tm2_t962e2_ab311.dts sound/soc/amlogic/auge/spdif.c
This commit is contained in:
@@ -855,8 +855,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1078,6 +1080,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -799,8 +799,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1022,6 +1024,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -986,8 +986,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1236,6 +1238,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -990,8 +990,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1240,6 +1242,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -942,8 +942,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1166,6 +1168,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -946,8 +946,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1170,6 +1172,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -957,8 +957,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1181,6 +1183,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -916,8 +916,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1110,6 +1112,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -907,8 +907,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1101,6 +1103,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -903,8 +903,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1097,6 +1099,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -943,8 +943,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1137,6 +1139,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -956,8 +956,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1150,6 +1152,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -952,8 +952,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1146,6 +1148,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -943,8 +943,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1137,6 +1139,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -899,8 +899,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1115,6 +1117,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -862,8 +862,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1078,6 +1080,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -975,8 +975,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1207,6 +1209,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -955,8 +955,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1187,6 +1189,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -942,8 +942,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1166,6 +1168,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -922,8 +922,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1146,6 +1148,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -1045,8 +1045,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1277,6 +1279,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -1014,8 +1014,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1246,6 +1248,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -939,8 +939,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1163,6 +1165,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -926,8 +926,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1150,6 +1152,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -1015,8 +1015,11 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "irq_spdifin";
|
||||
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
|
||||
pinctrl-0 = <&spdifout_a &spdifin_a>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
|
||||
/*
|
||||
* whether do asrc for pcm and resample a or b
|
||||
@@ -1259,6 +1262,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIODV_4 */
|
||||
groups = "GPIODV_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* GPIOZ_7, GPIOZ_8, pdm_din2_z4 */
|
||||
groups = "pdm_dclk_z",
|
||||
|
||||
@@ -1326,8 +1326,11 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "irq_spdifin";
|
||||
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout_a>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
|
||||
|
||||
/*
|
||||
* whether do asrc for pcm and resample a or b
|
||||
@@ -1523,6 +1526,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIODV_4 */
|
||||
groups = "GPIODV_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* GPIOZ_7, GPIOZ_8, pdm_din2_z4 */
|
||||
groups = "pdm_dclk_z",
|
||||
|
||||
@@ -1018,8 +1018,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
interrupt-names = "irq_spdifin";
|
||||
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout_a>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
|
||||
/*
|
||||
* whether do asrc for pcm and resample a or b
|
||||
@@ -1250,6 +1252,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIODV_4 */
|
||||
groups = "GPIODV_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* GPIOZ_7, GPIOZ_8, pdm_din2_z4 */
|
||||
groups = "pdm_dclk_z",
|
||||
|
||||
@@ -855,8 +855,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1078,6 +1080,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -799,8 +799,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1022,6 +1024,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -984,8 +984,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1234,6 +1236,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -984,8 +984,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1234,6 +1236,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -942,8 +942,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1166,6 +1168,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -946,8 +946,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1170,6 +1172,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -957,8 +957,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1181,6 +1183,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -916,8 +916,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1110,6 +1112,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -907,8 +907,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1101,6 +1103,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -903,8 +903,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1097,6 +1099,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -943,8 +943,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1137,6 +1139,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -956,8 +956,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1150,6 +1152,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -948,8 +948,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1142,6 +1144,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -943,8 +943,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1137,6 +1139,13 @@
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* GPIOH_4 */
|
||||
groups = "GPIOH_4";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
|
||||
pdmin: pdmin {
|
||||
mux { /* gpioa_5, gpioa_6, gpioa_7, gpioa_8, gpioa_9*/
|
||||
groups = "pdm_din0_a",
|
||||
|
||||
@@ -899,8 +899,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1115,6 +1117,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -860,8 +860,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1076,6 +1078,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&audio_data {
|
||||
|
||||
@@ -975,8 +975,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1207,6 +1209,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -955,8 +955,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1187,6 +1189,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -941,8 +941,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1165,6 +1167,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -921,8 +921,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1145,6 +1147,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -1044,8 +1044,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1276,6 +1278,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -1013,8 +1013,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1245,6 +1247,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -939,8 +939,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1163,6 +1165,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -926,8 +926,10 @@
|
||||
<GIC_SPI 151 IRQ_TYPE_EDGE_RISING>;
|
||||
|
||||
interrupt-names = "irq_spdifin";
|
||||
pinctrl-names = "spdif_pins";
|
||||
pinctrl-names = "spdif_pins",
|
||||
"spdif_pins_mute";
|
||||
pinctrl-0 = <&spdifout &spdifin>;
|
||||
pinctrl-1 = <&spdifout_a_mute>;
|
||||
status = "okay";
|
||||
};
|
||||
aml_spdif_b: spdif_b {
|
||||
@@ -1150,6 +1152,13 @@
|
||||
function = "spdif_out_ao";
|
||||
};
|
||||
};
|
||||
|
||||
spdifout_a_mute: spdifout_a_mute {
|
||||
mux { /* gpiao_10 */
|
||||
groups = "GPIOAO_10";
|
||||
function = "gpio_periphs";
|
||||
};
|
||||
};
|
||||
}; /* end of pinctrl_aobus */
|
||||
|
||||
&irblaster {
|
||||
|
||||
@@ -45,4 +45,10 @@ extern int spdif_format_get_enum(
|
||||
extern int spdif_format_set_enum(
|
||||
struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol);
|
||||
#ifdef CONFIG_AMLOGIC_HDMITX
|
||||
int aml_get_hdmi_out_audio(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol);
|
||||
int aml_set_hdmi_out_audio(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -74,6 +74,13 @@ struct spdif_chipinfo {
|
||||
bool same_src_spdif_reen;
|
||||
};
|
||||
|
||||
enum SPDIF_SRC {
|
||||
SPDIFIN_PAD = 0,
|
||||
SPDIFOUT,
|
||||
NOAP,
|
||||
HDMIRX
|
||||
};
|
||||
|
||||
struct aml_spdif {
|
||||
struct pinctrl *pin_ctl;
|
||||
struct aml_audio_controller *actrl;
|
||||
@@ -125,7 +132,10 @@ struct aml_spdif {
|
||||
/* last value for pc, pd */
|
||||
int pc_last;
|
||||
int pd_last;
|
||||
bool on;
|
||||
|
||||
/* mixer control vals */
|
||||
bool mute;
|
||||
enum SPDIF_SRC spdifin_src;
|
||||
};
|
||||
|
||||
static const struct snd_pcm_hardware aml_spdif_hardware = {
|
||||
@@ -268,21 +278,44 @@ static int spdifin_audio_type_get_enum(
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* For fake */
|
||||
static bool is_mute;
|
||||
static int spdifin_src;
|
||||
static int aml_audio_set_spdif_mute(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
is_mute =
|
||||
ucontrol->value.integer.value[0];
|
||||
struct snd_soc_dai *dai = snd_kcontrol_chip(kcontrol);
|
||||
struct aml_spdif *p_spdif = snd_soc_dai_get_drvdata(dai);
|
||||
struct pinctrl_state *state = NULL;
|
||||
bool mute = !!ucontrol->value.integer.value[0];
|
||||
|
||||
if (IS_ERR_OR_NULL(p_spdif->pin_ctl)) {
|
||||
pr_err("%s(), no pinctrl", __func__);
|
||||
return 0;
|
||||
}
|
||||
if (mute) {
|
||||
state = pinctrl_lookup_state
|
||||
(p_spdif->pin_ctl, "spdif_pins_mute");
|
||||
|
||||
if (!IS_ERR_OR_NULL(state))
|
||||
pinctrl_select_state(p_spdif->pin_ctl, state);
|
||||
} else {
|
||||
state = pinctrl_lookup_state
|
||||
(p_spdif->pin_ctl, "spdif_pins");
|
||||
|
||||
if (!IS_ERR_OR_NULL(state))
|
||||
pinctrl_select_state(p_spdif->pin_ctl, state);
|
||||
}
|
||||
|
||||
p_spdif->mute = mute;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int aml_audio_get_spdif_mute(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
ucontrol->value.integer.value[0] = is_mute;
|
||||
struct snd_soc_dai *dai = snd_kcontrol_chip(kcontrol);
|
||||
struct aml_spdif *p_spdif = snd_soc_dai_get_drvdata(dai);
|
||||
|
||||
ucontrol->value.integer.value[0] = p_spdif->mute;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -298,7 +331,11 @@ int spdifin_source_get_enum(
|
||||
struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
ucontrol->value.enumerated.item[0] = spdifin_src;
|
||||
struct snd_soc_dai *dai = snd_kcontrol_chip(kcontrol);
|
||||
struct aml_spdif *p_spdif = snd_soc_dai_get_drvdata(dai);
|
||||
|
||||
ucontrol->value.enumerated.item[0] = p_spdif->spdifin_src;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -306,6 +343,8 @@ int spdifin_source_set_enum(
|
||||
struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
struct snd_soc_dai *dai = snd_kcontrol_chip(kcontrol);
|
||||
struct aml_spdif *p_spdif = snd_soc_dai_get_drvdata(dai);
|
||||
int src = ucontrol->value.enumerated.item[0];
|
||||
|
||||
if (src > 3) {
|
||||
@@ -313,7 +352,8 @@ int spdifin_source_set_enum(
|
||||
return -1;
|
||||
}
|
||||
spdifin_set_src(src);
|
||||
spdifin_src = src;
|
||||
p_spdif->spdifin_src = src;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -340,7 +380,11 @@ static const struct snd_kcontrol_new snd_spdif_controls[] = {
|
||||
spdifin_src_enum,
|
||||
spdifin_source_get_enum,
|
||||
spdifin_source_set_enum),
|
||||
|
||||
#ifdef CONFIG_AMLOGIC_HDMITX
|
||||
SOC_SINGLE_BOOL_EXT("Audio hdmi-out mute",
|
||||
0, aml_get_hdmi_out_audio,
|
||||
aml_set_hdmi_out_audio),
|
||||
#endif
|
||||
};
|
||||
|
||||
static bool spdifin_check_audiotype_by_sw(struct aml_spdif *p_spdif)
|
||||
|
||||
@@ -20,6 +20,9 @@
|
||||
|
||||
#include <linux/amlogic/media/sound/aout_notify.h>
|
||||
#include <linux/amlogic/media/sound/spdif_info.h>
|
||||
#ifdef CONFIG_AMLOGIC_HDMITX
|
||||
#include <linux/amlogic/media/vout/hdmi_tx/hdmi_tx_ext.h>
|
||||
#endif
|
||||
|
||||
/*
|
||||
* 0 -- other formats except(DD,DD+,DTS)
|
||||
@@ -191,3 +194,29 @@ int spdif_format_set_enum(
|
||||
IEC958_mode_codec = index;
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_AMLOGIC_HDMITX
|
||||
unsigned int aml_audio_hdmiout_mute_flag;
|
||||
/* call HDMITX API to enable/disable internal audio out */
|
||||
int aml_get_hdmi_out_audio(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
ucontrol->value.integer.value[0] = !hdmitx_ext_get_audio_status();
|
||||
|
||||
aml_audio_hdmiout_mute_flag =
|
||||
ucontrol->value.integer.value[0];
|
||||
return 0;
|
||||
}
|
||||
|
||||
int aml_set_hdmi_out_audio(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
bool mute = ucontrol->value.integer.value[0];
|
||||
|
||||
if (aml_audio_hdmiout_mute_flag != mute) {
|
||||
hdmitx_ext_set_audio_output(!mute);
|
||||
aml_audio_hdmiout_mute_flag = mute;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -166,29 +166,6 @@ static int aml_audio_get_spdif_mute(struct snd_kcontrol *kcontrol,
|
||||
}
|
||||
|
||||
#ifdef CONFIG_AMLOGIC_HDMITX
|
||||
/* call HDMITX API to enable/disable internal audio out */
|
||||
static int aml_get_hdmi_out_audio(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
ucontrol->value.integer.value[0] = !hdmitx_ext_get_audio_status();
|
||||
|
||||
v_spdif_codec.aml_audio_hdmiout_mute_flag =
|
||||
ucontrol->value.integer.value[0];
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int aml_set_hdmi_out_audio(struct snd_kcontrol *kcontrol,
|
||||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
bool mute = ucontrol->value.integer.value[0];
|
||||
|
||||
if (v_spdif_codec.aml_audio_hdmiout_mute_flag != mute) {
|
||||
hdmitx_ext_set_audio_output(!mute);
|
||||
v_spdif_codec.aml_audio_hdmiout_mute_flag = mute;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
static const char * const hdmi_out_channel_mask_texts[] = {
|
||||
"SPDIF",
|
||||
"2CH_I2S_0/1",
|
||||
|
||||
Reference in New Issue
Block a user