diff --git a/arch/arm/boot/dts/amlogic/meson8b_m400.dts b/arch/arm/boot/dts/amlogic/meson8b_m400.dts index 14f1433fa209..b8b185a42d4b 100644 --- a/arch/arm/boot/dts/amlogic/meson8b_m400.dts +++ b/arch/arm/boot/dts/amlogic/meson8b_m400.dts @@ -522,6 +522,7 @@ mute_gpio-gpios = <&gpio GPIOH_5 0>; mute_inv; hp_disable; + i2sclk_disable_startup; hp_paraments = <800 300 0 5 1>; pinctrl-names = "aml_audio_i2s"; pinctrl-0 = <&audio_i2s_pins>; diff --git a/arch/arm/configs/meson32_defconfig b/arch/arm/configs/meson32_defconfig index 6b7ea7e8c2ee..09f7301e849c 100644 --- a/arch/arm/configs/meson32_defconfig +++ b/arch/arm/configs/meson32_defconfig @@ -269,6 +269,7 @@ CONFIG_AMLOGIC_SND_CODEC_AMLT9015=y CONFIG_AMLOGIC_SND_CODEC_PMU3=y CONFIG_AMLOGIC_SND_SOC=y CONFIG_AMLOGIC_SND_SPLIT_MODE=y +CONFIG_AMLOGIC_SND_SOC_MESON=y CONFIG_USB_HIDDEV=y CONFIG_USB=y CONFIG_USB_ANNOUNCE_NEW_DEVICES=y diff --git a/sound/soc/amlogic/meson/meson.c b/sound/soc/amlogic/meson/meson.c index e8c977b5dc9b..f0113693391e 100644 --- a/sound/soc/amlogic/meson/meson.c +++ b/sound/soc/amlogic/meson/meson.c @@ -68,7 +68,6 @@ static void aml_i2s_play(void) audio_out_i2s_enable(1); } - static void aml_audio_start_timer(struct aml_audio_private_data *p_aml_audio, unsigned long delay) { @@ -764,8 +763,11 @@ static int aml_audio_probe(struct platform_device *pdev) goto err; } - aml_i2s_play(); - + ret = of_property_read_bool(np, "i2sclk_disable_startup"); + if (!ret) { + pr_info("enable i2sclk in startup\n"); + aml_i2s_play(); + } p_aml_audio->data = (void *)card; INIT_WORK(&p_aml_audio->pinmux_work, aml_pinmux_work_func); schedule_work(&p_aml_audio->pinmux_work);