Hi All,
I'm working on DRA7x based customised board(reference VAYU Board) using GLSDK-6.0.2 (kernel Version 3.8). i'm configuring the MCASP2 as Tx with following pin configrations(mcasp2_pinconfig):
I modified dra7.dtsi file with following changes: (refer the same from attached files)
atl: atl@0x4843c000 {
compatible = "ti,dra7-atl";
reg = <0x4843c000 0x3ff>;
ti,hwmods = "atl";
ti,atclk1-freq = <5644800>;
ti,atl1-aws-input = <3>; /* McASP2 FSX */
ti,atclk2-freq = <5644800>;
ti,atl2-aws-input = <6>; /* McASP5 FSX */
ti,atclk3-freq = <5644800>;
ti,atl3-bws-input = <0>; /* McASP1 FSR */
ti,atl3-aws-input = <1>; /* McASP1 FSX */
};
mcasp2: mcasp@48464000 {
compatible = "ti,dra7-mcasp-audio";
reg = <0x48464000 0x2000>;
reg-names = "cfg","dat";
interrupts = <0 156 0x4>,
<0 157 0x4>;
interrupt-names = "rx", "tx";
ti,hwmods = "mcasp2";
op-mode = <0>;
tdm-slots = <2>;
num-serializer = <16>;
serial-dir = <0 0 1 0
0 0 0 0
0 0 0 0
0 0 0 0>;
ti,tx-inactive-mode = <2>;
ti,rx-inactive-mode = <2>;
};
outcodec: ds925-lvds-audio-codec {
compatible = "ti,ds925-lvds-audio-codec";
status = "okay";
};
sound_lvds {
compatible = "ti,dra7-evm-sound";
ti,model = "ds925";
ti,always-on;
ti,ds925-codec = <&outcodec>;
ti,ds925-cpu = <&mcasp2>;
ti,ds925-slots = <2>;
ti,ds925-mclk-freq = <5644800>;
};
mcasp2_pins: pinmux_mcasp2_pins {
pinctrl-single,pins = <
0x2F4 0x00000180 /*MCASP2_ACLKX OUTPUT */
0x2F8 0x00000180 /*MCASP2_FSX OUTPUT */
0x30C 0x00000180 /*MCASP2_AXR2 OUTPUT */
>;
};
I modified evm.c the following functions to enable CROSSBAR for sdma and mpu and used the same IRQ numbers in above dtsi file mcasp2.
I created dummy sound codec driver(omap-ds925) and machine driver(dra7-res.c) to configure DAI interfaces.
with the above configurations, able to create Audio interface : ds925 and from aplay -l can list the device interfaces:
[ 7.921539] ALSA device list:
[ 7.924865] #0: ds925
$aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ds925 [ds925], device 0: ds925 omap-ds925-hifi-0 []
Subdevices: 1/1
Subdevice #0: subdevice #0
- when i play wav file using following command, it fails to play:
# aplay /home/WAV/Rear_Right.wav
the MCASP_XRSRCTL_REG is XRDY value is set to 1, i.e Read 0x1: The transmit buffer (MCASP_TXBUFn) is empty and needs to
be written before the start of the next time slot or a transmit underrun occurs.
from cat /proc/interrupts , it shows :
44: 214 0 GIC DMA // DMA interrupts are not increasing.
189: 5 0 GIC 48464000.mcasp // MPU interrupts are increasing with each exection.
This shows that SDMA interrupts are not triggering and CROSSBAR mapping is not proper.
Please guide me the CROSSBAR mappings are fine and what changes do i need to make to enable DMA channel.
Thanks,
Sandesh D