From: Simon Glass Date: Thu, 27 Dec 2018 20:24:39 +0000 (-0700) Subject: sound: Allow audio codecs to be used by other SoCs X-Git-Url: http://git.dujemihanovic.xyz/?a=commitdiff_plain;h=afcd64579486e1745a3cb964bfe36267d90b4c3e;p=u-boot.git sound: Allow audio codecs to be used by other SoCs At present there is still some samsung-specific code in the audio codecs. Remove it so that these can be used by other SoCs. Signed-off-by: Simon Glass --- diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig index bd72dd335e..40f4f7598a 100644 --- a/drivers/sound/Kconfig +++ b/drivers/sound/Kconfig @@ -32,7 +32,7 @@ config I2S_ROCKCHIP config I2S_SAMSUNG bool "Enable I2C support for Samsung SoCs" - depends on SOUND + depends on I2S help Samsung Exynos SoCs support an I2S interface for sending audio data to an audio codec. This option enables support for this, @@ -42,7 +42,7 @@ config I2S_SAMSUNG config SOUND_MAX98088 bool "Support Maxim max98088 audio codec" - depends on I2S_SAMSUNG + depends on I2S help Enable the max98088 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works @@ -50,7 +50,7 @@ config SOUND_MAX98088 config SOUND_MAX98090 bool "Support Maxim max98090 audio codec" - depends on I2S_SAMSUNG + depends on I2S help Enable the max98090 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works @@ -58,7 +58,7 @@ config SOUND_MAX98090 config SOUND_MAX98095 bool "Support Maxim max98095 audio codec" - depends on I2S_SAMSUNG + depends on I2S help Enable the max98095 audio codec. This is connected via I2S for audio data and I2C for codec control. At present it only works diff --git a/drivers/sound/max98088.c b/drivers/sound/max98088.c index 08f0bf861e..332254d5aa 100644 --- a/drivers/sound/max98088.c +++ b/drivers/sound/max98088.c @@ -16,10 +16,6 @@ #include #include #include -#include -#include -#include -#include #include "maxim_codec.h" #include "max98088.h" @@ -288,9 +284,6 @@ static int max98088_device_init(struct maxim_priv *priv) unsigned char id; int error = 0; - /* Enable codec clock */ - set_xclkout(); - /* reset the codec, the DSP core, and disable all interrupts */ error = max98088_reset(priv); if (error != 0) { diff --git a/drivers/sound/max98090.c b/drivers/sound/max98090.c index 346ff5ffbe..5505c35166 100644 --- a/drivers/sound/max98090.c +++ b/drivers/sound/max98090.c @@ -13,10 +13,6 @@ #include #include #include -#include -#include -#include -#include #include "maxim_codec.h" #include "max98090.h" @@ -240,9 +236,6 @@ int max98090_device_init(struct maxim_priv *priv) unsigned char id; int error = 0; - /* Enable codec clock */ - set_xclkout(); - /* reset the codec, the DSP core, and disable all interrupts */ error = max98090_reset(priv); if (error != 0) { diff --git a/drivers/sound/max98095.c b/drivers/sound/max98095.c index 99c0e996b4..9e08e96670 100644 --- a/drivers/sound/max98095.c +++ b/drivers/sound/max98095.c @@ -15,10 +15,6 @@ #include #include #include -#include -#include -#include -#include #include "i2s.h" #include "max98095.h" @@ -306,9 +302,6 @@ static int max98095_device_init(struct maxim_priv *priv) unsigned char id; int ret; - /* Enable codec clock */ - set_xclkout(); - /* reset the codec, the DSP core, and disable all interrupts */ ret = max98095_reset(priv); if (ret != 0) { diff --git a/drivers/sound/maxim_codec.c b/drivers/sound/maxim_codec.c index dcaf081988..5480dce108 100644 --- a/drivers/sound/maxim_codec.c +++ b/drivers/sound/maxim_codec.c @@ -12,9 +12,6 @@ #include #include #include -#include -#include -#include #include "maxim_codec.h" /* diff --git a/drivers/sound/samsung_sound.c b/drivers/sound/samsung_sound.c index 84064ebd0f..b6952675bd 100644 --- a/drivers/sound/samsung_sound.c +++ b/drivers/sound/samsung_sound.c @@ -10,6 +10,7 @@ #include #include #include +#include static int samsung_sound_setup(struct udevice *dev) { @@ -79,6 +80,9 @@ static int samsung_sound_probe(struct udevice *dev) debug("Probed sound '%s' with codec '%s' and i2s '%s'\n", dev->name, uc_priv->codec->name, uc_priv->i2s->name); + /* Enable codec clock */ + set_xclkout(); + return 0; }