You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
Merge tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound updates from Takashi Iwai:
"This contains pretty many small commits covering fairly large range of
files in sound/ directory. Partly because of additional API support
and partly because of constantly developed ASoC and ARM stuff.
Some highlights:
- Introduced the helper function and documentation for exposing the
channel map via control API, as discussed in Plumbers; most of PCI
drivers are covered, will follow more drivers later
- Most of drivers have been replaced with the new PM callbacks (if
the bus is supported)
- HD-audio controller got the support of runtime PM and the support
of D3 clock-stop. Also changing the power_save option in sysfs
kicks off immediately to enable / disable the power-save mode.
- Another significant code change in HD-audio is the rewrite of
firmware loading code. Other than that, most of changes in
HD-audio are continued cleanups and standardization for the generic
auto parser and bug fixes (HBR, device-specific fixups), in
addition to the support of channel-map API.
- Addition of ASoC bindings for the compressed API, used by the
mid-x86 drivers.
- Lots of cleanups and API refreshes for ASoC codec drivers and
DaVinci.
- Conversion of OMAP to dmaengine.
- New machine driver for Wolfson Microelectronics Bells.
- New CODEC driver for Wolfson Microelectronics WM0010.
- Enhancements to the ux500 and wm2000 drivers
- A new driver for DA9055 and the support for regulator bypass mode."
Fix up various arm soc header file reorg conflicts.
* tag 'sound-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (339 commits)
ALSA: hda - Add new codec ALC283 ALC290 support
ALSA: hda - avoid unneccesary indices on "Headphone Jack" controls
ALSA: hda - fix indices on boost volume on Conexant
ALSA: aloop - add locking to timer access
ALSA: hda - Fix hang caused by race during suspend.
sound: Remove unnecessary semicolon
ALSA: hda/realtek - Fix detection of ALC271X codec
ALSA: hda - Add inverted internal mic quirk for Lenovo IdeaPad U310
ALSA: hda - make Realtek/Sigmatel/Conexant use the generic unsol event
ALSA: hda - make a generic unsol event handler
ASoC: codecs: Add DA9055 codec driver
ASoC: eukrea-tlv320: Convert it to platform driver
ALSA: ASoC: add DT bindings for CS4271
ASoC: wm_hubs: Ensure volume updates are handled during class W startup
ASoC: wm5110: Adding missing volume update bits
ASoC: wm5110: Add OUT3R support
ASoC: wm5110: Add AEC loopback support
ASoC: wm5110: Rename EPOUT to HPOUT3
ASoC: arizona: Add more clock rates
ASoC: arizona: Add more DSP options for mixer input muxes
...
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
CS4270 audio CODEC
|
||||
|
||||
The driver for this device currently only supports I2C.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible : "cirrus,cs4270"
|
||||
|
||||
- reg : the I2C address of the device for I2C
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpio : a GPIO spec for the reset pin. If specified, it will be
|
||||
deasserted before communication to the codec starts.
|
||||
|
||||
Example:
|
||||
|
||||
codec: cs4270@48 {
|
||||
compatible = "cirrus,cs4270";
|
||||
reg = <0x48>;
|
||||
};
|
||||
@@ -0,0 +1,36 @@
|
||||
Cirrus Logic CS4271 DT bindings
|
||||
|
||||
This driver supports both the I2C and the SPI bus.
|
||||
|
||||
Required properties:
|
||||
|
||||
- compatible: "cirrus,cs4271"
|
||||
|
||||
For required properties on SPI, please consult
|
||||
Documentation/devicetree/bindings/spi/spi-bus.txt
|
||||
|
||||
Required properties on I2C:
|
||||
|
||||
- reg: the i2c address
|
||||
|
||||
|
||||
Optional properties:
|
||||
|
||||
- reset-gpio: a GPIO spec to define which pin is connected to the chip's
|
||||
!RESET pin
|
||||
|
||||
Examples:
|
||||
|
||||
codec_i2c: cs4271@10 {
|
||||
compatible = "cirrus,cs4271";
|
||||
reg = <0x10>;
|
||||
reset-gpio = <&gpio 23 0>;
|
||||
};
|
||||
|
||||
codec_spi: cs4271@0 {
|
||||
compatible = "cirrus,cs4271";
|
||||
reg = <0x0>;
|
||||
reset-gpio = <&gpio 23 0>;
|
||||
spi-max-frequency = <6000000>;
|
||||
};
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
Texas Instruments McASP controller
|
||||
|
||||
Required properties:
|
||||
- compatible :
|
||||
"ti,dm646x-mcasp-audio" : for DM646x platforms
|
||||
"ti,da830-mcasp-audio" : for both DA830 & DA850 platforms
|
||||
"ti,omap2-mcasp-audio" : for OMAP2 platforms (TI81xx, AM33xx)
|
||||
|
||||
- reg : Should contain McASP registers offset and length
|
||||
- interrupts : Interrupt number for McASP
|
||||
- op-mode : I2S/DIT ops mode.
|
||||
- tdm-slots : Slots for TDM operation.
|
||||
- num-serializer : Serializers used by McASP.
|
||||
- serial-dir : A list of serializer pin mode. The list number should be equal
|
||||
to "num-serializer" parameter. Each entry is a number indication
|
||||
serializer pin direction. (0 - INACTIVE, 1 - TX, 2 - RX)
|
||||
|
||||
|
||||
Optional properties:
|
||||
|
||||
- ti,hwmods : Must be "mcasp<n>", n is controller instance starting 0
|
||||
- tx-num-evt : FIFO levels.
|
||||
- rx-num-evt : FIFO levels.
|
||||
- sram-size-playback : size of sram to be allocated during playback
|
||||
- sram-size-capture : size of sram to be allocated during capture
|
||||
|
||||
Example:
|
||||
|
||||
mcasp0: mcasp0@1d00000 {
|
||||
compatible = "ti,da830-mcasp-audio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
reg = <0x100000 0x3000>;
|
||||
interrupts = <82 83>;
|
||||
op-mode = <0>; /* MCASP_IIS_MODE */
|
||||
tdm-slots = <2>;
|
||||
num-serializer = <16>;
|
||||
serial-dir = <
|
||||
0 0 0 0 /* 0: INACTIVE, 1: TX, 2: RX */
|
||||
0 0 0 0
|
||||
0 0 0 1
|
||||
2 0 0 0 >;
|
||||
tx-num-evt = <1>;
|
||||
rx-num-evt = <1>;
|
||||
};
|
||||
@@ -0,0 +1,91 @@
|
||||
* Texas Instruments OMAP4+ and twl6040 based audio setups
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,abe-twl6040"
|
||||
- ti,model: Name of the sound card ( for example "SDP4430")
|
||||
- ti,mclk-freq: MCLK frequency for HPPLL operation
|
||||
- ti,mcpdm: phandle for the McPDM node
|
||||
- ti,twl6040: phandle for the twl6040 core node
|
||||
- ti,audio-routing: List of connections between audio components.
|
||||
Each entry is a pair of strings, the first being the connection's sink,
|
||||
the second being the connection's source.
|
||||
|
||||
Optional properties:
|
||||
- ti,dmic: phandle for the OMAP dmic node if the machine have it connected
|
||||
- ti,jack_detection: Need to be set to <1> if the board capable to detect jack
|
||||
insertion, removal.
|
||||
|
||||
Available audio endpoints for the audio-routing table:
|
||||
|
||||
Board connectors:
|
||||
* Headset Stereophone
|
||||
* Earphone Spk
|
||||
* Ext Spk
|
||||
* Line Out
|
||||
* Vibrator
|
||||
* Headset Mic
|
||||
* Main Handset Mic
|
||||
* Sub Handset Mic
|
||||
* Line In
|
||||
* Digital Mic
|
||||
|
||||
twl6040 pins:
|
||||
* HSOL
|
||||
* HSOR
|
||||
* EP
|
||||
* HFL
|
||||
* HFR
|
||||
* AUXL
|
||||
* AUXR
|
||||
* VIBRAL
|
||||
* VIBRAR
|
||||
* HSMIC
|
||||
* MAINMIC
|
||||
* SUBMIC
|
||||
* AFML
|
||||
* AFMR
|
||||
|
||||
* Headset Mic Bias
|
||||
* Main Mic Bias
|
||||
* Digital Mic1 Bias
|
||||
* Digital Mic2 Bias
|
||||
|
||||
Digital mic pins:
|
||||
* DMic
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "ti,abe-twl6040";
|
||||
ti,model = "SDP4430";
|
||||
|
||||
ti,jack-detection = <1>;
|
||||
ti,mclk-freq = <38400000>;
|
||||
|
||||
ti,mcpdm = <&mcpdm>;
|
||||
ti,dmic = <&dmic>;
|
||||
|
||||
ti,twl6040 = <&twl6040>;
|
||||
|
||||
/* Audio routing */
|
||||
ti,audio-routing =
|
||||
"Headset Stereophone", "HSOL",
|
||||
"Headset Stereophone", "HSOR",
|
||||
"Earphone Spk", "EP",
|
||||
"Ext Spk", "HFL",
|
||||
"Ext Spk", "HFR",
|
||||
"Line Out", "AUXL",
|
||||
"Line Out", "AUXR",
|
||||
"Vibrator", "VIBRAL",
|
||||
"Vibrator", "VIBRAR",
|
||||
"HSMIC", "Headset Mic",
|
||||
"Headset Mic", "Headset Mic Bias",
|
||||
"MAINMIC", "Main Handset Mic",
|
||||
"Main Handset Mic", "Main Mic Bias",
|
||||
"SUBMIC", "Sub Handset Mic",
|
||||
"Sub Handset Mic", "Main Mic Bias",
|
||||
"AFML", "Line In",
|
||||
"AFMR", "Line In",
|
||||
"DMic", "Digital Mic",
|
||||
"Digital Mic", "Digital Mic1 Bias";
|
||||
};
|
||||
@@ -0,0 +1,37 @@
|
||||
* Texas Instruments OMAP2+ McBSP module
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,omap2420-mcbsp" for McBSP on OMAP2420
|
||||
"ti,omap2430-mcbsp" for McBSP on OMAP2430
|
||||
"ti,omap3-mcbsp" for McBSP on OMAP3
|
||||
"ti,omap4-mcbsp" for McBSP on OMAP4 and newer SoC
|
||||
- reg: Register location and size, for OMAP4+ as an array:
|
||||
<MPU access base address, size>,
|
||||
<L3 interconnect address, size>;
|
||||
- reg-names: Array of strings associated with the address space
|
||||
- interrupts: Interrupt numbers for the McBSP port, as an array in case the
|
||||
McBSP IP have more interrupt lines:
|
||||
<OCP compliant irq>,
|
||||
<TX irq>,
|
||||
<RX irq>;
|
||||
- interrupt-names: Array of strings associated with the interrupt numbers
|
||||
- interrupt-parent: The parent interrupt controller
|
||||
- ti,buffer-size: Size of the FIFO on the port (OMAP2430 and newer SoC)
|
||||
- ti,hwmods: Name of the hwmod associated to the McBSP port
|
||||
|
||||
Example:
|
||||
|
||||
mcbsp2: mcbsp@49022000 {
|
||||
compatible = "ti,omap3-mcbsp";
|
||||
reg = <0x49022000 0xff>,
|
||||
<0x49028000 0xff>;
|
||||
reg-names = "mpu", "sidetone";
|
||||
interrupts = <0 17 0x4>, /* OCP compliant interrupt */
|
||||
<0 62 0x4>, /* TX interrupt */
|
||||
<0 63 0x4>, /* RX interrupt */
|
||||
<0 4 0x4>; /* Sidetone */
|
||||
interrupt-names = "common", "tx", "rx", "sidetone";
|
||||
interrupt-parent = <&intc>;
|
||||
ti,buffer-size = <1280>;
|
||||
ti,hwmods = "mcbsp2";
|
||||
};
|
||||
@@ -0,0 +1,17 @@
|
||||
* Texas Instruments SoC with twl4030 based audio setups
|
||||
|
||||
Required properties:
|
||||
- compatible: "ti,omap-twl4030"
|
||||
- ti,model: Name of the sound card (for example "omap3beagle")
|
||||
- ti,mcbsp: phandle for the McBSP node
|
||||
- ti,codec: phandle for the twl4030 audio node
|
||||
|
||||
Example:
|
||||
|
||||
sound {
|
||||
compatible = "ti,omap-twl4030";
|
||||
ti,model = "omap3beagle";
|
||||
|
||||
ti,mcbsp = <&mcbsp2>;
|
||||
ti,codec = <&twl_audio>;
|
||||
};
|
||||
@@ -0,0 +1,20 @@
|
||||
Texas Instruments - tlv320aic3x Codec module
|
||||
|
||||
The tlv320aic3x serial control bus communicates through I2C protocols
|
||||
|
||||
Required properties:
|
||||
- compatible - "string" - "ti,tlv320aic3x"
|
||||
- reg - <int> - I2C slave address
|
||||
|
||||
|
||||
Optional properties:
|
||||
|
||||
- gpio-reset - gpio pin number used for codec reset
|
||||
- ai3x-gpio-func - <array of 2 int> - AIC3X_GPIO1 & AIC3X_GPIO2 Functionality
|
||||
|
||||
Example:
|
||||
|
||||
tlv320aic3x: tlv320aic3x@1b {
|
||||
compatible = "ti,tlv320aic3x";
|
||||
reg = <0x1b>;
|
||||
};
|
||||
@@ -860,8 +860,14 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||
|
||||
[Multiple options for each card instance]
|
||||
model - force the model name
|
||||
position_fix - Fix DMA pointer (0 = auto, 1 = use LPIB, 2 = POSBUF,
|
||||
3 = VIACOMBO, 4 = COMBO)
|
||||
position_fix - Fix DMA pointer
|
||||
-1 = system default: choose appropriate one per controller
|
||||
hardware
|
||||
0 = auto: falls back to LPIB when POSBUF doesn't work
|
||||
1 = use LPIB
|
||||
2 = POSBUF: use position buffer
|
||||
3 = VIACOMBO: VIA-specific workaround for capture
|
||||
4 = COMBO: use LPIB for playback, auto for capture stream
|
||||
probe_mask - Bitmask to probe codecs (default = -1, meaning all slots)
|
||||
When the bit 8 (0x100) is set, the lower 8 bits are used
|
||||
as the "fixed" codec slots; i.e. the driver probes the
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
ALSA PCM channel-mapping API
|
||||
============================
|
||||
Takashi Iwai <tiwai@suse.de>
|
||||
|
||||
GENERAL
|
||||
-------
|
||||
|
||||
The channel mapping API allows user to query the possible channel maps
|
||||
and the current channel map, also optionally to modify the channel map
|
||||
of the current stream.
|
||||
|
||||
A channel map is an array of position for each PCM channel.
|
||||
Typically, a stereo PCM stream has a channel map of
|
||||
{ front_left, front_right }
|
||||
while a 4.0 surround PCM stream has a channel map of
|
||||
{ front left, front right, rear left, rear right }.
|
||||
|
||||
The problem, so far, was that we had no standard channel map
|
||||
explicitly, and applications had no way to know which channel
|
||||
corresponds to which (speaker) position. Thus, applications applied
|
||||
wrong channels for 5.1 outputs, and you hear suddenly strange sound
|
||||
from rear. Or, some devices secretly assume that center/LFE is the
|
||||
third/fourth channels while others that C/LFE as 5th/6th channels.
|
||||
|
||||
Also, some devices such as HDMI are configurable for different speaker
|
||||
positions even with the same number of total channels. However, there
|
||||
was no way to specify this because of lack of channel map
|
||||
specification. These are the main motivations for the new channel
|
||||
mapping API.
|
||||
|
||||
|
||||
DESIGN
|
||||
------
|
||||
|
||||
Actually, "the channel mapping API" doesn't introduce anything new in
|
||||
the kernel/user-space ABI perspective. It uses only the existing
|
||||
control element features.
|
||||
|
||||
As a ground design, each PCM substream may contain a control element
|
||||
providing the channel mapping information and configuration. This
|
||||
element is specified by:
|
||||
iface = SNDRV_CTL_ELEM_IFACE_PCM
|
||||
name = "Playback Channel Map" or "Capture Channel Map"
|
||||
device = the same device number for the assigned PCM substream
|
||||
index = the same index number for the assigned PCM substream
|
||||
|
||||
Note the name is different depending on the PCM substream direction.
|
||||
|
||||
Each control element provides at least the TLV read operation and the
|
||||
read operation. Optionally, the write operation can be provided to
|
||||
allow user to change the channel map dynamically.
|
||||
|
||||
* TLV
|
||||
|
||||
The TLV operation gives the list of available channel
|
||||
maps. A list item of a channel map is usually a TLV of
|
||||
type data-bytes ch0 ch1 ch2...
|
||||
where type is the TLV type value, the second argument is the total
|
||||
bytes (not the numbers) of channel values, and the rest are the
|
||||
position value for each channel.
|
||||
|
||||
As a TLV type, either SNDRV_CTL_TLVT_CHMAP_FIXED,
|
||||
SNDRV_CTL_TLV_CHMAP_VAR or SNDRV_CTL_TLVT_CHMAP_PAIRED can be used.
|
||||
The _FIXED type is for a channel map with the fixed channel position
|
||||
while the latter two are for flexible channel positions. _VAR type is
|
||||
for a channel map where all channels are freely swappable and _PAIRED
|
||||
type is where pair-wise channels are swappable. For example, when you
|
||||
have {FL/FR/RL/RR} channel map, _PAIRED type would allow you to swap
|
||||
only {RL/RR/FL/FR} while _VAR type would allow even swapping FL and
|
||||
RR.
|
||||
|
||||
These new TLV types are defined in sound/tlv.h.
|
||||
|
||||
The available channel position values are defined in sound/asound.h,
|
||||
here is a cut:
|
||||
|
||||
/* channel positions */
|
||||
enum {
|
||||
SNDRV_CHMAP_UNKNOWN = 0,
|
||||
SNDRV_CHMAP_NA, /* N/A, silent */
|
||||
SNDRV_CHMAP_MONO, /* mono stream */
|
||||
/* this follows the alsa-lib mixer channel value + 3 */
|
||||
SNDRV_CHMAP_FL, /* front left */
|
||||
SNDRV_CHMAP_FR, /* front right */
|
||||
SNDRV_CHMAP_RL, /* rear left */
|
||||
SNDRV_CHMAP_RR, /* rear right */
|
||||
SNDRV_CHMAP_FC, /* front center */
|
||||
SNDRV_CHMAP_LFE, /* LFE */
|
||||
SNDRV_CHMAP_SL, /* side left */
|
||||
SNDRV_CHMAP_SR, /* side right */
|
||||
SNDRV_CHMAP_RC, /* rear center */
|
||||
/* new definitions */
|
||||
SNDRV_CHMAP_FLC, /* front left center */
|
||||
SNDRV_CHMAP_FRC, /* front right center */
|
||||
SNDRV_CHMAP_RLC, /* rear left center */
|
||||
SNDRV_CHMAP_RRC, /* rear right center */
|
||||
SNDRV_CHMAP_FLW, /* front left wide */
|
||||
SNDRV_CHMAP_FRW, /* front right wide */
|
||||
SNDRV_CHMAP_FLH, /* front left high */
|
||||
SNDRV_CHMAP_FCH, /* front center high */
|
||||
SNDRV_CHMAP_FRH, /* front right high */
|
||||
SNDRV_CHMAP_TC, /* top center */
|
||||
SNDRV_CHMAP_TFL, /* top front left */
|
||||
SNDRV_CHMAP_TFR, /* top front right */
|
||||
SNDRV_CHMAP_TFC, /* top front center */
|
||||
SNDRV_CHMAP_TRL, /* top rear left */
|
||||
SNDRV_CHMAP_TRR, /* top rear right */
|
||||
SNDRV_CHMAP_TRC, /* top rear center */
|
||||
SNDRV_CHMAP_LAST = SNDRV_CHMAP_TRC,
|
||||
};
|
||||
|
||||
When a PCM stream can provide more than one channel map, you can
|
||||
provide multiple channel maps in a TLV container type. The TLV data
|
||||
to be returned will contain such as:
|
||||
SNDRV_CTL_TLVT_CONTAINER 96
|
||||
SNDRV_CTL_TLVT_CHMAP_FIXED 4 SNDRV_CHMAP_FC
|
||||
SNDRV_CTL_TLVT_CHMAP_FIXED 8 SNDRV_CHMAP_FL SNDRV_CHMAP_FR
|
||||
SNDRV_CTL_TLVT_CHMAP_FIXED 16 NDRV_CHMAP_FL SNDRV_CHMAP_FR \
|
||||
SNDRV_CHMAP_RL SNDRV_CHMAP_RR
|
||||
|
||||
The channel position is provided in LSB 16bits. The upper bits are
|
||||
used for bit flags.
|
||||
|
||||
#define SNDRV_CHMAP_POSITION_MASK 0xffff
|
||||
#define SNDRV_CHMAP_PHASE_INVERSE (0x01 << 16)
|
||||
#define SNDRV_CHMAP_DRIVER_SPEC (0x02 << 16)
|
||||
|
||||
SNDRV_CHMAP_PHASE_INVERSE indicates the channel is phase inverted,
|
||||
(thus summing left and right channels would result in almost silence).
|
||||
Some digital mic devices have this.
|
||||
|
||||
When SNDRV_CHMAP_DRIVER_SPEC is set, all the channel position values
|
||||
don't follow the standard definition above but driver-specific.
|
||||
|
||||
* READ OPERATION
|
||||
|
||||
The control read operation is for providing the current channel map of
|
||||
the given stream. The control element returns an integer array
|
||||
containing the position of each channel.
|
||||
|
||||
When this is performed before the number of the channel is specified
|
||||
(i.e. hw_params is set), it should return all channels set to
|
||||
UNKNOWN.
|
||||
|
||||
* WRITE OPERATION
|
||||
|
||||
The control write operation is optional, and only for devices that can
|
||||
change the channel configuration on the fly, such as HDMI. User needs
|
||||
to pass an integer value containing the valid channel positions for
|
||||
all channels of the assigned PCM substream.
|
||||
|
||||
This operation is allowed only at PCM PREPARED state. When called in
|
||||
other states, it shall return an error.
|
||||
@@ -74,7 +74,8 @@ CMI9880
|
||||
|
||||
AD1882 / AD1882A
|
||||
================
|
||||
3stack 3-stack mode (default)
|
||||
3stack 3-stack mode
|
||||
3stack-automute 3-stack with automute front HP (default)
|
||||
6stack 6-stack mode
|
||||
|
||||
AD1884A / AD1883 / AD1984A / AD1984B
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
/*
|
||||
* TI DaVinci Audio definitions
|
||||
*/
|
||||
#ifndef __ASM_ARCH_DAVINCI_ASP_H
|
||||
#define __ASM_ARCH_DAVINCI_ASP_H
|
||||
|
||||
/* Bases of dm644x and dm355 register banks */
|
||||
#define DAVINCI_ASP0_BASE 0x01E02000
|
||||
#define DAVINCI_ASP1_BASE 0x01E04000
|
||||
|
||||
/* Bases of dm365 register banks */
|
||||
#define DAVINCI_DM365_ASP0_BASE 0x01D02000
|
||||
|
||||
/* Bases of dm646x register banks */
|
||||
#define DAVINCI_DM646X_MCASP0_REG_BASE 0x01D01000
|
||||
#define DAVINCI_DM646X_MCASP1_REG_BASE 0x01D01800
|
||||
|
||||
/* Bases of da850/da830 McASP0 register banks */
|
||||
#define DAVINCI_DA8XX_MCASP0_REG_BASE 0x01D00000
|
||||
|
||||
/* Bases of da830 McASP1 register banks */
|
||||
#define DAVINCI_DA830_MCASP1_REG_BASE 0x01D04000
|
||||
|
||||
/* EDMA channels of dm644x and dm355 */
|
||||
#define DAVINCI_DMA_ASP0_TX 2
|
||||
#define DAVINCI_DMA_ASP0_RX 3
|
||||
#define DAVINCI_DMA_ASP1_TX 8
|
||||
#define DAVINCI_DMA_ASP1_RX 9
|
||||
|
||||
/* EDMA channels of dm646x */
|
||||
#define DAVINCI_DM646X_DMA_MCASP0_AXEVT0 6
|
||||
#define DAVINCI_DM646X_DMA_MCASP0_AREVT0 9
|
||||
#define DAVINCI_DM646X_DMA_MCASP1_AXEVT1 12
|
||||
|
||||
/* EDMA channels of da850/da830 McASP0 */
|
||||
#define DAVINCI_DA8XX_DMA_MCASP0_AREVT 0
|
||||
#define DAVINCI_DA8XX_DMA_MCASP0_AXEVT 1
|
||||
|
||||
/* EDMA channels of da830 McASP1 */
|
||||
#define DAVINCI_DA830_DMA_MCASP1_AREVT 2
|
||||
#define DAVINCI_DA830_DMA_MCASP1_AXEVT 3
|
||||
|
||||
/* Interrupts */
|
||||
#define DAVINCI_ASP0_RX_INT IRQ_MBRINT
|
||||
#define DAVINCI_ASP0_TX_INT IRQ_MBXINT
|
||||
#define DAVINCI_ASP1_RX_INT IRQ_MBRINT
|
||||
#define DAVINCI_ASP1_TX_INT IRQ_MBXINT
|
||||
|
||||
#endif /* __ASM_ARCH_DAVINCI_ASP_H */
|
||||
@@ -22,10 +22,10 @@
|
||||
#include <linux/davinci_emac.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/spi/spi.h>
|
||||
|
||||
#include <mach/asp.h>
|
||||
#include <linux/platform_data/davinci_asp.h>
|
||||
#include <linux/platform_data/keyscan-davinci.h>
|
||||
#include <mach/hardware.h>
|
||||
#include <mach/edma.h>
|
||||
|
||||
#include <media/davinci/vpfe_capture.h>
|
||||
#include <media/davinci/vpif_types.h>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
#include <mach/cpuidle.h>
|
||||
|
||||
#include "clock.h"
|
||||
#include "asp.h"
|
||||
|
||||
#define DA8XX_TPCC_BASE 0x01c00000
|
||||
#define DA8XX_TPTC0_BASE 0x01c08000
|
||||
@@ -505,15 +506,8 @@ static struct platform_device da850_mcasp_device = {
|
||||
.resource = da850_mcasp_resources,
|
||||
};
|
||||
|
||||
static struct platform_device davinci_pcm_device = {
|
||||
.name = "davinci-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
void __init da8xx_register_mcasp(int id, struct snd_platform_data *pdata)
|
||||
{
|
||||
platform_device_register(&davinci_pcm_device);
|
||||
|
||||
/* DA830/OMAP-L137 has 3 instances of McASP */
|
||||
if (cpu_is_davinci_da830() && id == 1) {
|
||||
da830_mcasp1_device.dev.platform_data = pdata;
|
||||
|
||||
@@ -313,16 +313,6 @@ static void davinci_init_wdt(void)
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
static struct platform_device davinci_pcm_device = {
|
||||
.name = "davinci-pcm-audio",
|
||||
.id = -1,
|
||||
};
|
||||
|
||||
static void davinci_init_pcm(void)
|
||||
{
|
||||
platform_device_register(&davinci_pcm_device);
|
||||
}
|
||||
|
||||
/*-------------------------------------------------------------------------*/
|
||||
|
||||
struct davinci_timer_instance davinci_timer_instance[2] = {
|
||||
@@ -345,7 +335,6 @@ static int __init davinci_init_devices(void)
|
||||
/* please keep these calls, and their implementations above,
|
||||
* in alphabetical order so they're easier to sort through.
|
||||
*/
|
||||
davinci_init_pcm();
|
||||
davinci_init_wdt();
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -26,13 +26,13 @@
|
||||
#include <mach/time.h>
|
||||
#include <mach/serial.h>
|
||||
#include <mach/common.h>
|
||||
#include <mach/asp.h>
|
||||
#include <linux/platform_data/spi-davinci.h>
|
||||
#include <mach/gpio-davinci.h>
|
||||
|
||||
#include "davinci.h"
|
||||
#include "clock.h"
|
||||
#include "mux.h"
|
||||
#include "asp.h"
|
||||
|
||||
#define DM355_UART2_BASE (IO_PHYS + 0x206000)
|
||||
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
#include <mach/time.h>
|
||||
#include <mach/serial.h>
|
||||
#include <mach/common.h>
|
||||
#include <mach/asp.h>
|
||||
#include <linux/platform_data/keyscan-davinci.h>
|
||||
#include <linux/platform_data/spi-davinci.h>
|
||||
#include <mach/gpio-davinci.h>
|
||||
@@ -37,6 +36,7 @@
|
||||
#include "davinci.h"
|
||||
#include "clock.h"
|
||||
#include "mux.h"
|
||||
#include "asp.h"
|
||||
|
||||
#define DM365_REF_FREQ 24000000 /* 24 MHz on the DM365 EVM */
|
||||
|
||||
|
||||
@@ -23,12 +23,12 @@
|
||||
#include <mach/time.h>
|
||||
#include <mach/serial.h>
|
||||
#include <mach/common.h>
|
||||
#include <mach/asp.h>
|
||||
#include <mach/gpio-davinci.h>
|
||||
|
||||
#include "davinci.h"
|
||||
#include "clock.h"
|
||||
#include "mux.h"
|
||||
#include "asp.h"
|
||||
|
||||
/*
|
||||
* Device specific clocks
|
||||
|
||||
@@ -24,12 +24,12 @@
|
||||
#include <mach/time.h>
|
||||
#include <mach/serial.h>
|
||||
#include <mach/common.h>
|
||||
#include <mach/asp.h>
|
||||
#include <mach/gpio-davinci.h>
|
||||
|
||||
#include "davinci.h"
|
||||
#include "clock.h"
|
||||
#include "mux.h"
|
||||
#include "asp.h"
|
||||
|
||||
#define DAVINCI_VPIF_BASE (0x01C12000)
|
||||
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/davinci_emac.h>
|
||||
#include <linux/spi/spi.h>
|
||||
#include <linux/platform_data/davinci_asp.h>
|
||||
|
||||
#include <mach/serial.h>
|
||||
#include <mach/edma.h>
|
||||
#include <mach/asp.h>
|
||||
#include <mach/pm.h>
|
||||
#include <linux/platform_data/i2c-davinci.h>
|
||||
#include <linux/platform_data/mmc-davinci.h>
|
||||
|
||||
@@ -348,4 +348,5 @@ void __init eukrea_mbimx27_baseboard_init(void)
|
||||
imx27_add_imx_keypad(&eukrea_mbimx27_keymap_data);
|
||||
|
||||
gpio_led_register_device(-1, &eukrea_mbimx27_gpio_led_info);
|
||||
imx_add_platform_device("eukrea_tlv320", 0, NULL, 0, NULL, 0);
|
||||
}
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user