Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
a2fbbbf1
Commit
a2fbbbf1
authored
Jun 03, 2014
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branches 'asoc/topic/wm8804' and 'asoc/topic/wm9713' into asoc-next
parents
32539443
06109f47
a7f0b839
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
5 deletions
+19
-5
sound/soc/codecs/wm8804.c
sound/soc/codecs/wm8804.c
+14
-3
sound/soc/codecs/wm8804.h
sound/soc/codecs/wm8804.h
+4
-0
sound/soc/codecs/wm9713.c
sound/soc/codecs/wm9713.c
+1
-2
No files found.
sound/soc/codecs/wm8804.c
View file @
a2fbbbf1
...
...
@@ -63,6 +63,7 @@ struct wm8804_priv {
struct
regmap
*
regmap
;
struct
regulator_bulk_data
supplies
[
WM8804_NUM_SUPPLIES
];
struct
notifier_block
disable_nb
[
WM8804_NUM_SUPPLIES
];
int
mclk_div
;
};
static
int
txsrc_get
(
struct
snd_kcontrol
*
kcontrol
,
...
...
@@ -318,7 +319,7 @@ static struct {
#define FIXED_PLL_SIZE ((1ULL << 22) * 10)
static
int
pll_factors
(
struct
pll_div
*
pll_div
,
unsigned
int
target
,
unsigned
int
source
)
unsigned
int
source
,
unsigned
int
mclk_div
)
{
u64
Kpart
;
unsigned
long
int
K
,
Ndiv
,
Nmod
,
tmp
;
...
...
@@ -330,7 +331,8 @@ static int pll_factors(struct pll_div *pll_div, unsigned int target,
*/
for
(
i
=
0
;
i
<
ARRAY_SIZE
(
post_table
);
i
++
)
{
tmp
=
target
*
post_table
[
i
].
div
;
if
(
tmp
>=
90000000
&&
tmp
<=
100000000
)
{
if
((
tmp
>=
90000000
&&
tmp
<=
100000000
)
&&
(
mclk_div
==
post_table
[
i
].
mclkdiv
))
{
pll_div
->
freqmode
=
post_table
[
i
].
freqmode
;
pll_div
->
mclkdiv
=
post_table
[
i
].
mclkdiv
;
target
*=
post_table
[
i
].
div
;
...
...
@@ -387,8 +389,12 @@ static int wm8804_set_pll(struct snd_soc_dai *dai, int pll_id,
}
else
{
int
ret
;
struct
pll_div
pll_div
;
struct
wm8804_priv
*
wm8804
;
ret
=
pll_factors
(
&
pll_div
,
freq_out
,
freq_in
);
wm8804
=
snd_soc_codec_get_drvdata
(
codec
);
ret
=
pll_factors
(
&
pll_div
,
freq_out
,
freq_in
,
wm8804
->
mclk_div
);
if
(
ret
)
return
ret
;
...
...
@@ -452,6 +458,7 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
int
div_id
,
int
div
)
{
struct
snd_soc_codec
*
codec
;
struct
wm8804_priv
*
wm8804
;
codec
=
dai
->
codec
;
switch
(
div_id
)
{
...
...
@@ -459,6 +466,10 @@ static int wm8804_set_clkdiv(struct snd_soc_dai *dai,
snd_soc_update_bits
(
codec
,
WM8804_PLL5
,
0x30
,
(
div
&
0x3
)
<<
4
);
break
;
case
WM8804_MCLK_DIV
:
wm8804
=
snd_soc_codec_get_drvdata
(
codec
);
wm8804
->
mclk_div
=
div
;
break
;
default:
dev_err
(
dai
->
dev
,
"Unknown clock divider: %d
\n
"
,
div_id
);
return
-
EINVAL
;
...
...
sound/soc/codecs/wm8804.h
View file @
a2fbbbf1
...
...
@@ -57,5 +57,9 @@
#define WM8804_CLKOUT_SRC_OSCCLK 4
#define WM8804_CLKOUT_DIV 1
#define WM8804_MCLK_DIV 2
#define WM8804_MCLKDIV_256FS 0
#define WM8804_MCLKDIV_128FS 1
#endif
/* _WM8804_H */
sound/soc/codecs/wm9713.c
View file @
a2fbbbf1
...
...
@@ -74,8 +74,7 @@ static const char *wm9713_rec_src[] =
"Mono Out"
,
"Zh"
};
static
const
char
*
wm9713_rec_gain
[]
=
{
"+1.5dB Steps"
,
"+0.75dB Steps"
};
static
const
char
*
wm9713_alc_select
[]
=
{
"None"
,
"Left"
,
"Right"
,
"Stereo"
};
static
const
char
*
wm9713_mono_pga
[]
=
{
"Vmid"
,
"Zh"
,
"Mono"
,
"Inv"
,
"Mono Vmid"
,
"Inv Vmid"
};
static
const
char
*
wm9713_mono_pga
[]
=
{
"Vmid"
,
"Zh"
,
"Mono"
,
"Inv"
};
static
const
char
*
wm9713_spk_pga
[]
=
{
"Vmid"
,
"Zh"
,
"Headphone"
,
"Speaker"
,
"Inv"
,
"Headphone Vmid"
,
"Speaker Vmid"
,
"Inv Vmid"
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment