Changes

Jump to: navigation, search

DESK-MX6-L/Peripherals/Audio

568 bytes removed, 17:57, 8 October 2020
no edit summary
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|X1.Y0.Z0|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|Month YearOct 2020|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|TBD|-|-|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|[TBD_link X.Y.Z]|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|Month Year|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|TBD|-|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|...|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|...|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|...|-First DESK release
|}
<section end=History/>
==Peripheral Audio ==
''TBD: sostituire tutti i dump con le informazioni sull'uso della periferica''Access to the audio interface is provided by ALSA (Advanced Linux Sound Architecture), which consists in a kernel driver and a users space library for application developers. A set of standard tools (alsa-utils) can be used for simple management of the audio codec.
=== Device tree configuration ===
Here below an example of device tree configuration used on standard DAVE's kit for the AXEL Lite SOM:
From <code>''carrierimx6qdl-sbcx-revb-common.dts''dtsi</code>it is possible to find the codec SSI interface configuration:
<pre>
sound { compatible = "fsl,imx-audio-tlv320aic31xx"; model = "sbcx-audio-tlv320aic3100"; ssi-controller = <&can1 ssi1>; audio-codec = <&codec>; audio-routing = "Speaker", "SPK", "Headphone Jack", "HPL", "Headphone Jack", "HPR", "MIC1LP", "Line In", "MIC1LM", "Line In", "MIC1RP", "Mic Jack", "Mic Jack", "MICBIAS"; mux-int-port = <1>; mux-ext-port = <3>; status = "okay"; };......&audmux {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_flexcan1_axelpinctrl_tlv320aic3x_1>;
status = "okay";
};
</pre>
From &ssi1 { status = "okay";};......&iomuxc { pinctrl-names = "default"; pinctrl-0 = <code&pinctrl_hog_sbcx>''carrier;...... tlv320aic3x { pinctrl_tlv320aic3x_1: tlv320aic3x_codecgrp-common.dtsi''1{ fsl,pins = </code>: MX6QDL_PAD_CSI0_DAT5__AUD3_TXD 0x130b0 MX6QDL_PAD_CSI0_DAT6__AUD3_TXFS 0x130b0 MX6QDL_PAD_CSI0_DAT7__AUD3_RXD 0x130b0 MX6QDL_PAD_CSI0_DAT4__AUD3_TXC 0x130b0 MX6QDL_PAD_GPIO_3__XTALOSC_REF_CLK_24M 0x130b0
<pre> can1 { pinctrl_flexcan1_axel: flexcan1axelgrp-1 { fsl,pins = < MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x80000000 MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x80000000MX6QDL_PAD_GPIO_4__GPIO1_IO04 0x130b0
>;
};
};
 
</pre>
===Accessing the peripheral===
 
Access to the audio interface is provided by ALSA (Advanced Linux Sound Architecture), which consists in a kernel driver and a users space library for application developers. A set of standard tools ''alsa-utils'' can be used for simple management of the audio codec.
 
====Linux messages at boot time====
...
...
[ 14.807495497470] flexcan 2090000fsl-ssi-dai 2028000.flexcanssi: 2090000.flexcan supply xceiver not foundNo cache defaults, using dummy regulatorreading back from HW[ 14.817366507593] flexcan 2090000imx-tlv320aic31xx sound: tlv320aic31xx-hifi <-> 2028000.flexcan: device registered (reg_base=c0a30000, irq=31)ssi mapping ok
...
...
[ 34.952659843623] canALSA device list: controller area network core (rev 20170425 abi 9)[ 34.963413846599] can #0: raw protocol (rev 20170425)[ 3.967717] can: broadcast manager protocol (rev 20170425 t)[ 3.973397] can: netlink gateway (rev 20170425) max_hops=1sbcx-audio-tlv320aic3100
</pre>
====Enable To list the interface and check status====audio sound cards just use the <code>aplay</code> utility: 
<pre class="workstation-terminal">
root@imx6qxelk:~# ip link set can0 type can bitrate 500000aplay -lroot@imx6qxelk:~# ifconfig can0 up**** List of PLAYBACK Hardware Devices ****root@imx6qxelk:~# ifconfig can0can0 Link encapcard 0:UNSPEC HWaddr 00sbcxaudiotlv320 [sbcx-00audio-tlv320aic3100], device 00-00-00-00-00-00-00-00-00-00-00-00-00-00 UP RUNNING NOARP MTU:16 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0HiFi TX packets:0 errors:0 dropped:0 overruns:0 carrier:sgtl5000-0[] collisions Subdevices:0 txqueuelen:101/1 RX bytes:0 (0. Subdevice #0 B) TX bytes:subdevice #0 (0.0 B) Interrupt:31 root@imx6qxelk:~#
</pre>
==== Usage with [https://githubalsa-project.comorg/linux-canwiki/can-utils canDocumentation alsa-utils] ==== ''TBD: reference verso eventuali informazioni sul web''
<pre class="workstation-terminal">
root@imx6qxelk:~# ip link set can0 type can bitrate 500000 triple-sampling onaplay audio8k16S.wav root@imx6qxelkPlaying WAVE 'audio8k16S.wav' :~# ifconfig can0 uproot@imx6qxelk:~# cansend can0 128#1122334455667788root@imx6qxelk:~# candump can0 can0 128 [8] 11 22 33 44 55 66 77 88root@imx6qxelk:~# Signed 16 bit Little Endian, Rate 8000 Hz, Stereo
</pre>
=== Additional information ===
Each CAN port appears like a networking interface in the form <code>canX</code> where <b><i>X</i></b> is the port number.
Information about programming the CAN socket interface is given in the kernel tree under ''Documentationalsa-utils'' can be found on [https:/networking/canalsa-project.txt''org/wiki/Documentation ALSA project wiki pages]
<section end=Body/>
8,226
edits

Navigation menu