Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5c8261e4 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'topic/asoc' into to-push

parents facef868 472346da
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ the audio subsystem with the kernel as a platform device and is represented by
the following struct:-

/* SoC machine */
struct snd_soc_machine {
struct snd_soc_card {
	char *name;

	int (*probe)(struct platform_device *pdev);
@@ -67,10 +67,10 @@ static struct snd_soc_dai_link corgi_dai = {
	.ops = &corgi_ops,
};

struct snd_soc_machine then sets up the machine with it's DAIs. e.g.
struct snd_soc_card then sets up the machine with it's DAIs. e.g.

/* corgi audio machine driver */
static struct snd_soc_machine snd_soc_machine_corgi = {
static struct snd_soc_card snd_soc_corgi = {
	.name = "Corgi",
	.dai_link = &corgi_dai,
	.num_links = 1,
@@ -90,7 +90,7 @@ static struct wm8731_setup_data corgi_wm8731_setup = {

/* corgi audio subsystem */
static struct snd_soc_device corgi_snd_devdata = {
	.machine = &snd_soc_machine_corgi,
	.machine = &snd_soc_corgi,
	.platform = &pxa2xx_soc_platform,
	.codec_dev = &soc_codec_dev_wm8731,
	.codec_data = &corgi_wm8731_setup,
+1 −1
Original line number Diff line number Diff line
@@ -3977,7 +3977,7 @@ M: tiwai@suse.de
L:	alsa-devel@alsa-project.org (subscribers-only)
S:	Maintained

SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT
SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)
P:	Liam Girdwood
M:	lrg@slimlogic.co.uk
P:	Mark Brown
+13 −0
Original line number Diff line number Diff line
#ifndef _INCLUDE_PALMASOC_H_
#define _INCLUDE_PALMASOC_H_
struct palm27x_asoc_info {
	int	jack_gpio;
};

#ifdef CONFIG_SND_PXA2XX_SOC_PALM27X
void __init palm27x_asoc_set_pdata(struct palm27x_asoc_info *data);
#else
static inline void palm27x_asoc_set_pdata(struct palm27x_asoc_info *data) {}
#endif

#endif
+34 −4
Original line number Diff line number Diff line
/*
 * audio.h  --  Audio Driver for Wolfson WM8350 PMIC
 *
 * Copyright 2007 Wolfson Microelectronics PLC
 * Copyright 2007, 2008 Wolfson Microelectronics PLC
 *
 *  This program is free software; you can redistribute  it and/or modify it
 *  under  the terms of  the GNU General  Public License as published by the
@@ -70,9 +70,9 @@
#define WM8350_CODEC_ISEL_0_5                   3	/* x0.5 */

#define WM8350_VMID_OFF                         0
#define WM8350_VMID_500K                        1
#define WM8350_VMID_100K                        2
#define WM8350_VMID_10K                         3
#define WM8350_VMID_300K                        1
#define WM8350_VMID_50K                         2
#define WM8350_VMID_5K                          3

/*
 * R40 (0x28) - Clock Control 1
@@ -591,8 +591,38 @@
#define WM8350_IRQ_CODEC_MICSCD			41
#define WM8350_IRQ_CODEC_MICD			42

/*
 * WM8350 Platform data.
 *
 * This must be initialised per platform for best audio performance.
 * Please see WM8350 datasheet for information.
 */
struct wm8350_audio_platform_data {
	int vmid_discharge_msecs;	/* VMID --> OFF discharge time */
	int drain_msecs;	/* OFF drain time */
	int cap_discharge_msecs;	/* Cap ON (from OFF) discharge time */
	int vmid_charge_msecs;	/* vmid power up time */
	u32 vmid_s_curve:2;	/* vmid enable s curve speed */
	u32 dis_out4:2;		/* out4 discharge speed */
	u32 dis_out3:2;		/* out3 discharge speed */
	u32 dis_out2:2;		/* out2 discharge speed */
	u32 dis_out1:2;		/* out1 discharge speed */
	u32 vroi_out4:1;	/* out4 tie off */
	u32 vroi_out3:1;	/* out3 tie off */
	u32 vroi_out2:1;	/* out2 tie off */
	u32 vroi_out1:1;	/* out1 tie off */
	u32 vroi_enable:1;	/* enable tie off */
	u32 codec_current_on:2;	/* current level ON */
	u32 codec_current_standby:2;	/* current level STANDBY */
	u32 codec_current_charge:2;	/* codec current @ vmid charge */
};

struct snd_soc_codec;

struct wm8350_codec {
	struct platform_device *pdev;
	struct snd_soc_codec *codec;
	struct wm8350_audio_platform_data *platform_data;
};

#endif

include/sound/l3.h

0 → 100644
+18 −0
Original line number Diff line number Diff line
#ifndef _L3_H_
#define _L3_H_ 1

struct l3_pins {
	void (*setdat)(int);
	void (*setclk)(int);
	void (*setmode)(int);
	int data_hold;
	int data_setup;
	int clock_high;
	int mode_hold;
	int mode;
	int mode_setup;
};

int l3_write(struct l3_pins *adap, u8 addr, u8 *data, int len);

#endif
Loading