diff --git a/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi b/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi index 6b78e0b8f495..1ae0371d372e 100644 --- a/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi +++ b/arch/arm64/boot/dts/amlogic/mesong12_odroid_common.dtsi @@ -92,8 +92,8 @@ auge_sound { compatible = "amlogic, g12a-sound-card"; aml-audio-card,name = "AML-AUGESOUND"; - /*avout mute gpio*/ - avout_mute-gpios = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_HIGH>; + /*line-out mute gpio*/ + mute_gpio = <&gpio_ao GPIOAO_2 GPIO_ACTIVE_LOW>; /*for audio effect ,eqdrc */ aml-audio-card,effect = <&audio_effect>; diff --git a/sound/soc/amlogic/auge/card.c b/sound/soc/amlogic/auge/card.c index f69a49c82c12..1bf5aa6d69cf 100644 --- a/sound/soc/amlogic/auge/card.c +++ b/sound/soc/amlogic/auge/card.c @@ -735,7 +735,7 @@ static int spk_mute_get(struct snd_kcontrol *kcontrol, } static const struct snd_kcontrol_new card_controls[] = { - SOC_SINGLE_BOOL_EXT("SPK mute", 0, + SOC_SINGLE_BOOL_EXT("LINE_OUT mute", 0, spk_mute_get, spk_mute_set), }; @@ -750,7 +750,7 @@ static int aml_card_parse_gpios(struct device_node *node, bool active_low; int ret; - gpio = of_get_named_gpio_flags(node, "spk_mute", 0, &flags); + gpio = of_get_named_gpio_flags(node, "mute_gpio", 0, &flags); priv->spk_mute_gpio = gpio; if (gpio_is_valid(gpio)) { @@ -758,14 +758,16 @@ static int aml_card_parse_gpios(struct device_node *node, flags = active_low ? GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW; priv->spk_mute_active_low = active_low; - ret = devm_gpio_request_one(dev, gpio, flags, "spk_mute"); + ret = devm_gpio_request_one(dev, gpio, flags, "line_mute"); if (ret < 0) return ret; ret = snd_soc_add_card_controls(soc_card, card_controls, ARRAY_SIZE(card_controls)); - } + pr_info("add line-out mute controls\n"); + } +#if !defined(CONFIG_ARCH_MESON64_ODROID_COMMON) priv->avout_mute_desc = gpiod_get(dev, "avout_mute", GPIOD_OUT_HIGH); @@ -773,6 +775,7 @@ static int aml_card_parse_gpios(struct device_node *node, gpiod_direction_output(priv->avout_mute_desc, GPIOF_OUT_INIT_HIGH); pr_info("set av out GPIOF_OUT_INIT_HIGH!\n"); +#endif return 0; }