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
f20eca1c
Commit
f20eca1c
authored
Dec 10, 2012
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/cs4271' into asoc-next
parents
93ac820d
293750f9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
21 additions
and
3 deletions
+21
-3
Documentation/devicetree/bindings/sound/cs4271.txt
Documentation/devicetree/bindings/sound/cs4271.txt
+2
-0
include/sound/cs4271.h
include/sound/cs4271.h
+1
-0
sound/soc/codecs/cs4271.c
sound/soc/codecs/cs4271.c
+18
-3
No files found.
Documentation/devicetree/bindings/sound/cs4271.txt
View file @
f20eca1c
...
...
@@ -18,6 +18,8 @@ Optional properties:
- reset-gpio: a GPIO spec to define which pin is connected to the chip's
!RESET pin
- cirrus,amuteb-eq-bmutec: When given, the Codec's AMUTEB=BMUTEC flag
is enabled.
Examples:
...
...
include/sound/cs4271.h
View file @
f20eca1c
...
...
@@ -19,6 +19,7 @@
struct
cs4271_platform_data
{
int
gpio_nreset
;
/* GPIO driving Reset pin, if any */
int
amutec_eq_bmutec
:
1
;
/* flag to enable AMUTEC=BMUTEC */
};
#endif
/* __CS4271_H */
sound/soc/codecs/cs4271.c
View file @
f20eca1c
...
...
@@ -474,15 +474,25 @@ static int cs4271_probe(struct snd_soc_codec *codec)
struct
cs4271_platform_data
*
cs4271plat
=
codec
->
dev
->
platform_data
;
int
ret
;
int
gpio_nreset
=
-
EINVAL
;
int
amutec_eq_bmutec
=
0
;
#ifdef CONFIG_OF
if
(
of_match_device
(
cs4271_dt_ids
,
codec
->
dev
))
if
(
of_match_device
(
cs4271_dt_ids
,
codec
->
dev
))
{
gpio_nreset
=
of_get_named_gpio
(
codec
->
dev
->
of_node
,
"reset-gpio"
,
0
);
if
(
!
of_get_property
(
codec
->
dev
->
of_node
,
"cirrus,amutec-eq-bmutec"
,
NULL
))
amutec_eq_bmutec
=
1
;
}
#endif
if
(
cs4271plat
&&
gpio_is_valid
(
cs4271plat
->
gpio_nreset
))
gpio_nreset
=
cs4271plat
->
gpio_nreset
;
if
(
cs4271plat
)
{
if
(
gpio_is_valid
(
cs4271plat
->
gpio_nreset
))
gpio_nreset
=
cs4271plat
->
gpio_nreset
;
amutec_eq_bmutec
=
cs4271plat
->
amutec_eq_bmutec
;
}
if
(
gpio_nreset
>=
0
)
if
(
devm_gpio_request
(
codec
->
dev
,
gpio_nreset
,
"CS4271 Reset"
))
...
...
@@ -528,6 +538,11 @@ static int cs4271_probe(struct snd_soc_codec *codec)
/* Power-up sequence requires 85 uS */
udelay
(
85
);
if
(
amutec_eq_bmutec
)
snd_soc_update_bits
(
codec
,
CS4271_MODE2
,
CS4271_MODE2_MUTECAEQUB
,
CS4271_MODE2_MUTECAEQUB
);
return
snd_soc_add_codec_controls
(
codec
,
cs4271_snd_controls
,
ARRAY_SIZE
(
cs4271_snd_controls
));
}
...
...
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