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
Kirill Smelkov
linux
Commits
684d8c51
Commit
684d8c51
authored
Jun 17, 2013
by
Mark Brown
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'asoc/topic/davinci' into asoc-next
parents
9805fe39
4867e99d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
2 additions
and
195 deletions
+2
-195
sound/soc/davinci/Kconfig
sound/soc/davinci/Kconfig
+0
-10
sound/soc/davinci/Makefile
sound/soc/davinci/Makefile
+0
-2
sound/soc/davinci/davinci-mcasp.c
sound/soc/davinci/davinci-mcasp.c
+2
-2
sound/soc/davinci/davinci-sffsdr.c
sound/soc/davinci/davinci-sffsdr.c
+0
-181
No files found.
sound/soc/davinci/Kconfig
View file @
684d8c51
...
...
@@ -54,16 +54,6 @@ config SND_DM6467_SOC_EVM
help
Say Y if you want to add support for SoC audio on TI
config SND_DAVINCI_SOC_SFFSDR
tristate "SoC Audio support for SFFSDR"
depends on SND_DAVINCI_SOC && MACH_SFFSDR
select SND_DAVINCI_SOC_I2S
select SND_SOC_PCM3008
select SFFSDR_FPGA
help
Say Y if you want to add support for SoC audio on
Lyrtech SFFSDR board.
config SND_DA830_SOC_EVM
tristate "SoC Audio support for DA830/OMAP-L137 EVM"
depends on SND_DAVINCI_SOC && MACH_DAVINCI_DA830_EVM
...
...
sound/soc/davinci/Makefile
View file @
684d8c51
...
...
@@ -11,10 +11,8 @@ obj-$(CONFIG_SND_DAVINCI_SOC_VCIF) += snd-soc-davinci-vcif.o
# DAVINCI Machine Support
snd-soc-evm-objs
:=
davinci-evm.o
snd-soc-sffsdr-objs
:=
davinci-sffsdr.o
obj-$(CONFIG_SND_DAVINCI_SOC_EVM)
+=
snd-soc-evm.o
obj-$(CONFIG_SND_DM6467_SOC_EVM)
+=
snd-soc-evm.o
obj-$(CONFIG_SND_DA830_SOC_EVM)
+=
snd-soc-evm.o
obj-$(CONFIG_SND_DA850_SOC_EVM)
+=
snd-soc-evm.o
obj-$(CONFIG_SND_DAVINCI_SOC_SFFSDR)
+=
snd-soc-sffsdr.o
sound/soc/davinci/davinci-mcasp.c
View file @
684d8c51
...
...
@@ -1024,7 +1024,7 @@ static struct snd_platform_data *davinci_mcasp_set_pdata_from_of(
struct
device_node
*
np
=
pdev
->
dev
.
of_node
;
struct
snd_platform_data
*
pdata
=
NULL
;
const
struct
of_device_id
*
match
=
of_match_device
(
of_match_ptr
(
mcasp_dt_ids
)
,
&
pdev
->
dev
);
of_match_device
(
mcasp_dt_ids
,
&
pdev
->
dev
);
const
u32
*
of_serial_dir32
;
u8
*
of_serial_dir
;
...
...
@@ -1257,7 +1257,7 @@ static struct platform_driver davinci_mcasp_driver = {
.
driver
=
{
.
name
=
"davinci-mcasp"
,
.
owner
=
THIS_MODULE
,
.
of_match_table
=
of_match_ptr
(
mcasp_dt_ids
)
,
.
of_match_table
=
mcasp_dt_ids
,
},
};
...
...
sound/soc/davinci/davinci-sffsdr.c
deleted
100644 → 0
View file @
9805fe39
/*
* ASoC driver for Lyrtech SFFSDR board.
*
* Author: Hugo Villeneuve
* Copyright (C) 2008 Lyrtech inc
*
* Based on ASoC driver for TI DAVINCI EVM platform, original copyright follow:
* Copyright: (C) 2007 MontaVista Software, Inc., <source@mvista.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/timer.h>
#include <linux/interrupt.h>
#include <linux/platform_device.h>
#include <linux/gpio.h>
#include <sound/core.h>
#include <sound/pcm.h>
#include <sound/soc.h>
#include <asm/dma.h>
#include <asm/mach-types.h>
#ifdef CONFIG_SFFSDR_FPGA
#include <asm/plat-sffsdr/sffsdr-fpga.h>
#endif
#include <mach/edma.h>
#include "../codecs/pcm3008.h"
#include "davinci-pcm.h"
#include "davinci-i2s.h"
/*
* CLKX and CLKR are the inputs for the Sample Rate Generator.
* FSX and FSR are outputs, driven by the sample Rate Generator.
*/
#define AUDIO_FORMAT (SND_SOC_DAIFMT_DSP_B | \
SND_SOC_DAIFMT_CBM_CFS | \
SND_SOC_DAIFMT_IB_NF)
static
int
sffsdr_hw_params
(
struct
snd_pcm_substream
*
substream
,
struct
snd_pcm_hw_params
*
params
)
{
struct
snd_soc_pcm_runtime
*
rtd
=
substream
->
private_data
;
struct
snd_soc_dai
*
cpu_dai
=
rtd
->
cpu_dai
;
int
fs
;
int
ret
=
0
;
/* Fsref can be 32000, 44100 or 48000. */
fs
=
params_rate
(
params
);
#ifndef CONFIG_SFFSDR_FPGA
/* Without the FPGA module, the Fs is fixed at 44100 Hz */
if
(
fs
!=
44100
)
{
pr_debug
(
"warning: only 44.1 kHz is supported without SFFSDR FPGA module
\n
"
);
return
-
EINVAL
;
}
#endif
/* set cpu DAI configuration */
ret
=
snd_soc_dai_set_fmt
(
cpu_dai
,
AUDIO_FORMAT
);
if
(
ret
<
0
)
return
ret
;
pr_debug
(
"sffsdr_hw_params: rate = %d Hz
\n
"
,
fs
);
#ifndef CONFIG_SFFSDR_FPGA
return
0
;
#else
return
sffsdr_fpga_set_codec_fs
(
fs
);
#endif
}
static
struct
snd_soc_ops
sffsdr_ops
=
{
.
hw_params
=
sffsdr_hw_params
,
};
/* davinci-sffsdr digital audio interface glue - connects codec <--> CPU */
static
struct
snd_soc_dai_link
sffsdr_dai
=
{
.
name
=
"PCM3008"
,
/* Codec name */
.
stream_name
=
"PCM3008 HiFi"
,
.
cpu_dai_name
=
"davinci-mcbsp"
,
.
codec_dai_name
=
"pcm3008-hifi"
,
.
codec_name
=
"pcm3008-codec"
,
.
platform_name
=
"davinci-mcbsp"
,
.
ops
=
&
sffsdr_ops
,
};
/* davinci-sffsdr audio machine driver */
static
struct
snd_soc_card
snd_soc_sffsdr
=
{
.
name
=
"DaVinci SFFSDR"
,
.
owner
=
THIS_MODULE
,
.
dai_link
=
&
sffsdr_dai
,
.
num_links
=
1
,
};
/* sffsdr audio private data */
static
struct
pcm3008_setup_data
sffsdr_pcm3008_setup
=
{
.
dem0_pin
=
GPIO
(
45
),
.
dem1_pin
=
GPIO
(
46
),
.
pdad_pin
=
GPIO
(
47
),
.
pdda_pin
=
GPIO
(
38
),
};
struct
platform_device
pcm3008_codec
=
{
.
name
=
"pcm3008-codec"
,
.
id
=
0
,
.
dev
=
{
.
platform_data
=
&
sffsdr_pcm3008_setup
,
},
};
static
struct
resource
sffsdr_snd_resources
[]
=
{
{
.
start
=
DAVINCI_MCBSP_BASE
,
.
end
=
DAVINCI_MCBSP_BASE
+
SZ_8K
-
1
,
.
flags
=
IORESOURCE_MEM
,
},
};
static
struct
evm_snd_platform_data
sffsdr_snd_data
=
{
.
tx_dma_ch
=
DAVINCI_DMA_MCBSP_TX
,
.
rx_dma_ch
=
DAVINCI_DMA_MCBSP_RX
,
};
static
struct
platform_device
*
sffsdr_snd_device
;
static
int
__init
sffsdr_init
(
void
)
{
int
ret
;
if
(
!
machine_is_sffsdr
())
return
-
EINVAL
;
platform_device_register
(
&
pcm3008_codec
);
sffsdr_snd_device
=
platform_device_alloc
(
"soc-audio"
,
0
);
if
(
!
sffsdr_snd_device
)
{
printk
(
KERN_ERR
"platform device allocation failed
\n
"
);
return
-
ENOMEM
;
}
platform_set_drvdata
(
sffsdr_snd_device
,
&
snd_soc_sffsdr
);
platform_device_add_data
(
sffsdr_snd_device
,
&
sffsdr_snd_data
,
sizeof
(
sffsdr_snd_data
));
ret
=
platform_device_add_resources
(
sffsdr_snd_device
,
sffsdr_snd_resources
,
ARRAY_SIZE
(
sffsdr_snd_resources
));
if
(
ret
)
{
printk
(
KERN_ERR
"platform device add resources failed
\n
"
);
goto
error
;
}
ret
=
platform_device_add
(
sffsdr_snd_device
);
if
(
ret
)
goto
error
;
return
ret
;
error:
platform_device_put
(
sffsdr_snd_device
);
return
ret
;
}
static
void
__exit
sffsdr_exit
(
void
)
{
platform_device_unregister
(
sffsdr_snd_device
);
platform_device_unregister
(
&
pcm3008_codec
);
}
module_init
(
sffsdr_init
);
module_exit
(
sffsdr_exit
);
MODULE_AUTHOR
(
"Hugo Villeneuve"
);
MODULE_DESCRIPTION
(
"Lyrtech SFFSDR ASoC driver"
);
MODULE_LICENSE
(
"GPL"
);
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