Message ID | 55D259B7.90703@tul.cz (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Petr Cvek <petr.cvek@tul.cz> writes: > +/* > + * Magician Audio controller > + */ > + > +static struct platform_device magician_audio_device = { > + .name = "magician-audio", Is this already upstream or is it a submission in progress ? Other than that detail, I'll queue it in a week probably. Cheers. -- Robert
Dne 20.8.2015 v 21:51 Robert Jarzmik napsal(a): > Petr Cvek <petr.cvek@tul.cz> writes: > >> +/* >> + * Magician Audio controller >> + */ >> + >> +static struct platform_device magician_audio_device = { >> + .name = "magician-audio", > Is this already upstream or is it a submission in progress ? Other than that > detail, I'll queue it in a week probably. This one is problematic. Vanilla version did not work from at least 3.4 (where I started, but probably even more in past). Somewhere between 3.13 and ~4.1 there is a change which causes it to fail after driver reload (bad pointers I think). UDA codec routes are not constructed completely and in ~4.1 they are refused, there are some swapped control registers and bad DMA definitions. Oh and recording stopped to work too (maybe it is caused by that routes). I tried to send initial separate patches (for DMA and registers), but it got stuck somewhere (at least it is not in 4.2rcX and I sent them around start of this year). I can add some of these patches to this patchset (but I didn't started yet on failing reload, record and fixing the routes). > > Cheers. > > -- > Robert >
Petr Cvek <petr.cvek@tul.cz> writes: > Dne 20.8.2015 v 21:51 Robert Jarzmik napsal(a): >> Petr Cvek <petr.cvek@tul.cz> writes: >> >>> +/* >>> + * Magician Audio controller >>> + */ >>> + >>> +static struct platform_device magician_audio_device = { >>> + .name = "magician-audio", >> Is this already upstream or is it a submission in progress ? Other than that >> detail, I'll queue it in a week probably. > > This one is problematic. Vanilla version did not work from at least 3.4 (where I > started, but probably even more in past). Somewhere between 3.13 and ~4.1 there > is a change which causes it to fail after driver reload (bad pointers I > think). UDA codec routes are not constructed completely and in ~4.1 they are > refused, there are some swapped control registers and bad DMA definitions. Oh > and recording stopped to work too (maybe it is caused by that routes). > > I tried to send initial separate patches (for DMA and registers), but it got > stuck somewhere (at least it is not in 4.2rcX and I sent them around start of > this year). > > I can add some of these patches to this patchset (but I didn't started yet on > failing reload, record and fixing the routes). Ok, but not for this patchset. This would be an apart submission to sound/soc and Mark Brown more likely. So I presume my answer is "no, it is not upstream yet, it is a submission under review". In that case, I'll take it in my "held" tree until you tell me your patches have been queued up by Mark, and then I'll move them to the for-next tree. Cheers.
diff --git a/arch/arm/mach-pxa/magician.c b/arch/arm/mach-pxa/magician.c index 63604e1..9decd86 100644 --- a/arch/arm/mach-pxa/magician.c +++ b/arch/arm/mach-pxa/magician.c @@ -94,6 +94,8 @@ #include <linux/platform_data/camera-pxa.h> #include <media/soc_camera.h> +#include <sound/uda1380.h> + #include "devices.h" #include "generic.h" @@ -887,6 +889,31 @@ static struct pxamci_platform_data magician_mci_info = { .gpio_power = EGPIO_MAGICIAN_SD_POWER, }; +/* + * AUDIO codec UDA1380 + */ + +static struct uda1380_platform_data uda1380_info = { + .gpio_power = EGPIO_MAGICIAN_CODEC_POWER, + .gpio_reset = EGPIO_MAGICIAN_CODEC_RESET, + .dac_clk = UDA1380_DAC_CLK_WSPLL, +}; + +static struct i2c_board_info magician_audio_i2c_devices[] = { + { + I2C_BOARD_INFO("uda1380", 0x18), + .platform_data = &uda1380_info, + }, +}; + +/* + * Magician Audio controller + */ + +static struct platform_device magician_audio_device = { + .name = "magician-audio", + .id = -1, +}; /* * USB OHCI @@ -1096,6 +1123,7 @@ static struct platform_device *devices[] __initdata = { &power_supply, &leds_gpio, &magician_camera, + &magician_audio_device, /* NOTICE mutually exclusive with PXA I2C */ &i2c_gpio_bus_alt, @@ -1143,6 +1171,9 @@ static void __init magician_init(void) pxa_set_ficp_info(&magician_ficp_info); pxa27x_set_i2c_power_info(&magician_i2c_power_info); pxa_set_i2c_info(&i2c_info); + i2c_register_board_info(0, + ARRAY_AND_SIZE(magician_audio_i2c_devices)); + pxa_set_mci_info(&magician_mci_info); pxa_set_ohci_info(&magician_ohci_info);
Add support for UDA1380 sound. Signed-off-by: Petr Cvek <petr.cvek@tul.cz> --- arch/arm/mach-pxa/magician.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+)