Changes

Jump to: navigation, search

DESK-MX6UL-L/Peripherals/Audio

121 bytes removed, 09:18, 21 April 2021
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 YearApr 2021|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
|-
|}
==Peripheral Audio ==
 
''TBD: sostituire tutti i dump con le informazioni sull'uso della periferica''
=== Device tree configuration ===
Here below an example of device tree configuration used on standard DAVE's kit for the AXEL ULite SOM:
From <code>''carrierimx6ul-axelulite-cb006c.dts''</code>:
<pre>
sound { compatible = "fsl,imx-audio-tlv320aic31xx"; model = "axelulite-audio-tlv320aic3100"; cpu-dai = <&sai2>; 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"; status = "okay"; }; &can1 i2c4 { clock-frequency = <100000>; pinctrl-names = "default", "recovery"; pinctrl-0 = <&pinctrl_flexcan1_axelpinctrl_i2c4>; pinctrl-1 = <&pinctrl_i2c4_recovery>; recovery-gpios = <&gpio1 20 0>, <&gpio1 21 0>; status = "okay";} codec: tlv320aic31xx@18 { compatible = "ti,tlv320aic3100"; reg = <0x18>; clocks = </pre&clks IMX6UL_CLK_SAI2>, <&clks IMX6UL_CLK_DUMMY>; clock-names = "mclk1", "mclk2";
From gpio-reset = <&gpio1 27 1>; HPVDD-supply = <code&reg_3p3v>''carrier; SPRVDD-commonsupply = <&reg_3p3v>; SPLVDD-supply = <&reg_3p3v>; AVDD-supply = <&reg_3p3v>; IOVDD-supply = <&reg_3p3v>; DVDD-supply = <&reg_1p8v>; };......dtsi''&iomuxc { pinctrl-0 = </code&pinctrl_hog_gpios>:; imx6ul-axelulite {
<pre> can1 tlv320aic3x { pinctrl_flexcan1_axel pinctrl_tlv320aic3x_1: flexcan1axelgrptlv320aic3x_codecgrp-1 { fsl,pins = < MX6QDL_PAD_GPIO_7__FLEXCAN1_TX 0x80000000 MX6UL_PAD_JTAG_TDI__SAI2_TX_BCLK 0x17088 MX6UL_PAD_JTAG_TDO__SAI2_TX_SYNC 0x17088 MX6UL_PAD_JTAG_TRST_B__SAI2_TX_DATA 0x11088 MX6UL_PAD_JTAG_TCK__SAI2_RX_DATA 0x11088 MX6UL_PAD_JTAG_TMS__SAI2_MCLK 0x17088 MX6QDL_PAD_GPIO_8__FLEXCAN1_RX 0x80000000 MX6UL_PAD_UART3_RTS_B__GPIO1_IO27 0x130b0 /* codec reset */ >; };
};
};
</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====
...
...
[ 13.807495314515] flexcan 2090000.flexcanimx-tlv320aic31xx sound: 2090000tlv320aic31xx-hifi <-> 202c000.flexcan supply xceiver not found, using dummy regulator[ 1.817366] flexcan 2090000.flexcan: device registered (reg_base=c0a30000, irq=31)sai mapping ok
...
...
[ 3.952659545396] canALSA device list: controller area network core (rev 20170425 abi 9)[ 3.963413548401] can #0: raw protocol (rev 20170425)[ 3.967717] can: broadcast manager protocol (rev 20170425 t)[ 3.973397] can: netlink gateway (rev 20170425) max_hops=1axelulite-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@imx6qxelkdesk-mx6ul-axelulite:~# ip link set can0 type can bitrate 500000aplay -lroot@imx6qxelk:~# ifconfig can0 up**** List of PLAYBACK Hardware Devices ****root@imx6qxelkcard 0:~# ifconfig can0can0 Link encap:UNSPEC HWaddr 00axeluliteaudiot [axelulite-00audio-00tlv320aic3100], device 0: HiFi tlv320aic31xx-00hifi-00-00-00-00-00-00-00-00-00-00-00-000 [] UP RUNNING NOARP MTU:16 Metric Subdevices:1/1 RX packets: Subdevice #0 errors:subdevice #0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:10 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Interrupt:31 root@imx6qxelkdesk-mx6ul-axelulite:~#
</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 tripledesk-mx6ul-sampling onroot@imx6qxelkaxelulite:~# ifconfig can0 upaplay audio8k16S.wav root@imx6qxelkPlaying WAVE 'audio8k16S.wav' :~# 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 ''Documentation/networking/can.txt''
<section end=Body/>
----
[[Category:AXEL ULite]]
8,226
edits

Navigation menu