dm: exynos: sound: Convert to use driver model

Update snow's device tree and config to use driver model for sound. Also
update the others as best we can.

Spring does not appear to have audio support in the kernel. The smdk5250
and smdk5420 boards use a wolfson codec which I cannot test with. So the
only boards that is tested and known to work are snow, pit and pi.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2018-12-10 10:37:44 -07:00
parent 8cad63c74d
commit 93a98a6ff3
15 changed files with 145 additions and 22 deletions

View file

@ -60,10 +60,26 @@
};
i2c@12C70000 {
soundcodec@1a {
wm8994: soundcodec@1a {
reg = <0x1a>;
u-boot,i2c-offset-len = <2>;
compatible = "wolfson,wm8994-codec";
compatible = "wolfson,wm8994";
#sound-dai-cells = <1>;
};
};
sound {
compatible = "google,smdk5250-audio-wm8994";
samsung,model = "SMDK5250-I2S-WM8994";
samsung,audio-codec = <&wm8994>;
cpu {
sound-dai = <&i2s0 0>;
};
codec {
sound-dai = <&wm8994 0>;
};
};

View file

@ -40,7 +40,6 @@
mmc3 = "/mmc@12230000";
serial0 = "/serial@12C30000";
console = "/serial@12C30000";
i2s = "/sound@3830000";
};
memory {
@ -214,9 +213,10 @@
};
};
soundcodec@11 {
max98095: codec@11 {
compatible = "maxim,max98095";
reg = <0x11>;
compatible = "maxim,max98095-codec";
#sound-dai-cells = <1>;
};
};
@ -273,9 +273,20 @@
};
};
sound@3830000 {
samsung,codec-type = "max98095";
sound {
compatible = "google,snow-audio-max98095";
samsung,model = "Snow-I2S-MAX98095";
samsung,audio-codec = <&max98095>;
codec-enable-gpio = <&gpx1 7 GPIO_ACTIVE_HIGH>;
cpu {
sound-dai = <&i2s0 0>;
};
codec {
sound-dai = <&max98095 0>;
};
};
sound@12d60000 {

View file

@ -34,7 +34,6 @@
mmc0 = "/mmc@12200000";
serial0 = "/serial@12C30000";
console = "/serial@12C30000";
i2s = "/sound@3830000";
};
memory {
@ -639,10 +638,27 @@
};
};
soundcodec@20 {
reg = <0x20>;
compatible = "maxim,max98088-codec";
max98095: soundcodec@10 {
reg = <0x10>;
compatible = "maxim,max98095";
#sound-dai-cells = <1>;
};
sound {
compatible = "google,spring-audio-max98095";
samsung,model = "Spring-I2S-MAX98095";
samsung,audio-codec = <&max98095>;
cpu {
sound-dai = <&i2s0 0>;
};
codec {
sound-dai = <&max98095 0>;
};
};
};
#include "cros-ec-keyboard.dtsi"

View file

@ -78,9 +78,12 @@
#size-cells = <0>;
};
sound@3830000 {
compatible = "samsung,exynos-sound";
reg = <0x3830000 0x50>;
i2s0: i2s@3830000 {
compatible = "samsung,s5pv210-i2s";
reg = <0x03830000 0x100>;
samsung,idma-addr = <0x03000000>;
#clock-cells = <1>;
#sound-dai-cells = <1>;
samsung,i2s-epll-clock-frequency = <192000000>;
samsung,i2s-sampling-rate = <48000>;
samsung,i2s-bits-per-sample = <16>;
@ -90,9 +93,11 @@
samsung,i2s-id = <0>;
};
sound@12d60000 {
compatible = "samsung,exynos-sound";
i2s1: i2s@12d60000 {
compatible = "samsung,s5pv210-i2s";
reg = <0x12d60000 0x20>;
#clock-cells = <1>;
#sound-dai-cells = <1>;
samsung,i2s-epll-clock-frequency = <192000000>;
samsung,i2s-sampling-rate = <48000>;
samsung,i2s-bits-per-sample = <16>;

View file

@ -67,11 +67,27 @@
};
};
sound {
compatible = "google,peach-audio-max98090";
samsung,model = "PEACH-I2S-MAX98090";
samsung,audio-codec = <&max98090>;
cpu {
sound-dai = <&i2s0 0>;
};
codec {
sound-dai = <&max98090 0>;
};
};
i2c@12CD0000 { /* i2c7 */
clock-frequency = <100000>;
soundcodec@10 {
max98090: soundcodec@10 {
reg = <0x10>;
compatible = "maxim,max98090-codec";
compatible = "maxim,max98090";
#sound-dai-cells = <1>;
};
edp-lvds-bridge@48 {

View file

@ -82,10 +82,26 @@
};
i2c@12C70000 {
soundcodec@1a {
wm8994: soundcodec@1a {
reg = <0x1a>;
u-boot,i2c-offset-len = <2>;
compatible = "wolfson,wm8994-codec";
compatible = "wolfson,wm8994";
#sound-dai-cells = <1>;
};
};
sound {
compatible = "samsung,smdk5420-audio-wm8994";
samsung,model = "Snow-I2S-MAX98095";
samsung,audio-codec = <&wm8994>;
cpu {
sound-dai = <&i2s0 0>;
};
codec {
sound-dai = <&wm8994 0>;
};
};

View file

@ -104,6 +104,20 @@
interrupts = <0 203 0>;
};
i2s0: i2s@3830000 {
compatible = "samsung,s5pv210-i2s";
reg = <0x03830000 0x100>;
#sound-dai-cells = <1>;
samsung,idma-addr = <0x03000000>;
samsung,i2s-epll-clock-frequency = <192000000>;
samsung,i2s-sampling-rate = <48000>;
samsung,i2s-bits-per-sample = <16>;
samsung,i2s-channels = <2>;
samsung,i2s-lr-clk-framesize = <256>;
samsung,i2s-bit-clk-framesize = <32>;
samsung,i2s-id = <0>;
};
mmc@12200000 {
samsung,bus-width = <8>;
samsung,timing = <1 3 3>;

View file

@ -79,11 +79,27 @@
};
};
sound {
compatible = "google,peach-audio-max98090";
samsung,model = "PEACH-I2S-MAX98090";
samsung,audio-codec = <&max98090>;
cpu {
sound-dai = <&i2s0 0>;
};
codec {
sound-dai = <&max98090 0>;
};
};
i2c@12CD0000 { /* i2c7 */
clock-frequency = <100000>;
soundcodec@10 {
max98090: soundcodec@10 {
reg = <0x10>;
compatible = "maxim,max98090-codec";
compatible = "maxim,max98090";
#sound-dai-cells = <1>;
};
};

View file

@ -31,6 +31,7 @@ CONFIG_MMC_SDHCI_S5P=y
CONFIG_SMC911X=y
CONFIG_SMC911X_BASE=0x5000000
CONFIG_SOUND=y
CONFIG_DM_SOUND=y
CONFIG_I2S=y
CONFIG_I2S_SAMSUNG=y
CONFIG_SOUND_MAX98095=y

View file

@ -21,6 +21,7 @@ CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_TIME=y
CONFIG_CMD_SOUND=y
CONFIG_CMD_PMIC=y
CONFIG_CMD_REGULATOR=y
CONFIG_CMD_TPM=y
@ -50,8 +51,10 @@ CONFIG_REGULATOR_TPS65090=y
CONFIG_DM_PWM=y
CONFIG_PWM_EXYNOS=y
CONFIG_SOUND=y
CONFIG_DM_SOUND=y
CONFIG_I2S=y
CONFIG_I2S_SAMSUNG=y
CONFIG_SOUND_MAX98090=y
CONFIG_SOUND_MAX98095=y
CONFIG_SOUND_WM8994=y
CONFIG_EXYNOS_SPI=y

View file

@ -20,6 +20,7 @@ CONFIG_CMD_USB=y
# CONFIG_CMD_SETEXPR is not set
CONFIG_CMD_CACHE=y
CONFIG_CMD_TIME=y
CONFIG_CMD_SOUND=y
CONFIG_CMD_PMIC=y
CONFIG_CMD_REGULATOR=y
CONFIG_CMD_TPM=y
@ -49,8 +50,10 @@ CONFIG_REGULATOR_TPS65090=y
CONFIG_DM_PWM=y
CONFIG_PWM_EXYNOS=y
CONFIG_SOUND=y
CONFIG_DM_SOUND=y
CONFIG_I2S=y
CONFIG_I2S_SAMSUNG=y
CONFIG_SOUND_MAX98090=y
CONFIG_SOUND_MAX98095=y
CONFIG_SOUND_WM8994=y
CONFIG_EXYNOS_SPI=y

View file

@ -44,6 +44,7 @@ CONFIG_DM_PMIC_MAX77686=y
CONFIG_DM_REGULATOR=y
CONFIG_DM_REGULATOR_MAX77686=y
CONFIG_SOUND=y
CONFIG_DM_SOUND=y
CONFIG_I2S=y
CONFIG_I2S_SAMSUNG=y
CONFIG_SOUND_MAX98095=y

View file

@ -61,6 +61,7 @@ CONFIG_DM_PWM=y
CONFIG_PWM_EXYNOS=y
CONFIG_DEBUG_UART_S5P=y
CONFIG_SOUND=y
CONFIG_DM_SOUND=y
CONFIG_I2S=y
CONFIG_I2S_SAMSUNG=y
CONFIG_SOUND_MAX98095=y

View file

@ -61,6 +61,7 @@ CONFIG_DM_PWM=y
CONFIG_PWM_EXYNOS=y
CONFIG_DEBUG_UART_S5P=y
CONFIG_SOUND=y
CONFIG_DM_SOUND=y
CONFIG_I2S=y
CONFIG_I2S_SAMSUNG=y
CONFIG_SOUND_MAX98095=y

View file

@ -89,6 +89,9 @@ static const struct sound_ops samsung_sound_ops = {
static const struct udevice_id samsung_sound_ids[] = {
{ .compatible = "google,snow-audio-max98095" },
{ .compatible = "google,spring-audio-max98095" },
{ .compatible = "samsung,smdk5420-audio-wm8994" },
{ .compatible = "google,peach-audio-max98090" },
{ }
};