|
|
Line 1: |
Line 1: |
− | Back to [[XMED0030]] main project page
| |
| | | |
− |
| |
− | == VALIDATION OF PROTOTYPES ==
| |
− |
| |
− | See [https://docs.google.com/a/iseebcn.com/spreadsheets/d/1RJzhw9ddZ1iGbP-9Yxmtk0hlEsrqpIhpMCz3csTCDog/edit?usp=sharing Test cases - XMED0030]
| |
− |
| |
− | == ISSUES AND IMPROVEMENTS ==
| |
− |
| |
− | === RA00 version - FULL<br/> (UC20) ===
| |
− | * [http://192.168.2.206/mediawiki/index.php/XMED0030HardwareRABugs http://192.168.2.206/mediawiki/index.php/XMED0030HardwareRABugs]
| |
− |
| |
− | === RA01 version - 3G LITE (UC15) ===
| |
− | * [http://192.168.2.206/mediawiki/index.php/XMED0030HardwareRABugs http://192.168.2.206/mediawiki/index.php/XMED0030HardwareRABugs]
| |
− |
| |
− | === RA02 version - 2G LITE (M10) ===
| |
− | * [http://192.168.2.206/mediawiki/index.php/XMED0030HardwareRABugs http://192.168.2.206/mediawiki/index.php/XMED0030HardwareRABugs]
| |
− |
| |
− | === RA0x common ===
| |
− | * First the mechanical issue: reset microswitch position / SD card into the slot <br/>
| |
− |
| |
− | == TESTS UTILS ==
| |
− |
| |
− | === Preliminary global configuration ===
| |
− | Change igep.ini file to use xmed0030 expansion
| |
− | <pre>buddy=xmed0030</pre>
| |
− |
| |
− | === modem UC20 ( /dev/ttyO0; /dev/ttyUSB3 ... ) ===
| |
− |
| |
− | ==== ON (modem) ====
| |
− | <pre> echo 1 > /sys/class/gpio/gpio71/value ; usleep 2000000; echo 0 > /sys/class/gpio/gpio71/value</pre>
| |
− |
| |
− |
| |
− | === modem UC15 ( /dev/ttyO0; /dev/ttyUSB3 ... ) ===
| |
− |
| |
− | ==== ON (modem) ====
| |
− | <pre> echo 1 > /sys/class/gpio/gpio71/value ; usleep 2000000; echo 0 > /sys/class/gpio/gpio71/value</pre>
| |
− |
| |
− | === modem M10 ( /dev/ttyO0 ) ===
| |
− |
| |
− | ==== ON (modem) ====
| |
− | <pre> echo 1 > /sys/class/gpio/gpio71/value ; usleep 2000000; echo 0 > /sys/class/gpio/gpio71/value</pre>
| |
− |
| |
− | ==== OFF (modem) ====
| |
− | <pre> echo 1 > /sys/class/gpio/gpio71/value ; usleep 1000000; echo 0 > /sys/class/gpio/gpio71/value </pre>
| |
− |
| |
− | ==== RESET (modem) ====
| |
− | <pre>echo 1 > /sys/class/gpio/gpio70/value
| |
− | echo 0 > /sys/class/gpio/gpio70/value</pre>
| |
− |
| |
− | ==== SERIAL LINK ====
| |
− | <pre>microcom -s 115200 /dev/ttyO0</pre>
| |
− |
| |
− | === userleds ===
| |
− |
| |
− | ==== gpio init (export) ====
| |
− | <pre>echo 21 > /sys/class/gpio/export
| |
− | echo 17 > /sys/class/gpio/export
| |
− | echo 14 > /sys/class/gpio/export
| |
− |
| |
− | echo out > /sys/class/gpio/gpio21/direction
| |
− | echo out > /sys/class/gpio/gpio17/direction
| |
− | echo out > /sys/class/gpio/gpio14/direction</pre>
| |
− |
| |
− | ==== gpio test ====
| |
− | <pre>
| |
− | # userled2
| |
− | echo 1 > /sys/class/gpio/gpio21/value
| |
− | sleep 1
| |
− | echo 0 > /sys/class/gpio/gpio21/value
| |
− |
| |
− | # userled3
| |
− | echo 1 > /sys/class/gpio/gpio17/value
| |
− | sleep 1
| |
− | echo 0 > /sys/class/gpio/gpio17/value
| |
− |
| |
− | ** userled1
| |
− | echo 1 > /sys/class/gpio/gpio14/value
| |
− | sleep 1
| |
− | echo 0 > /sys/class/gpio/gpio14/value</pre>
| |
− |
| |
− | === ETH0 ===
| |
− | <pre>ifconfig eth0 up</pre>
| |
− |
| |
− | === ETH1 ===
| |
− | <pre>ifconfig eth1 up</pre>
| |
− |
| |
− |
| |
− | === USBHUB1 ===
| |
− | <pre>lsusb -t</pre>
| |
− | Expected:
| |
− | <pre>root@igep00x0:/sys/class/gpio/gpio163# lsusb -t
| |
− | /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-omap/3p, 480M
| |
− | |__ Port 2: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
| |
− | |__ Port 1: Dev 3, If 0, Class=stor., Driver=usb-storage, 480M
| |
− | |__ Port 2: Dev 4, If 0, Class=stor., Driver=usb-storage, 480M
| |
− | |__ Port 3: Dev 7, If 0, Class=vend., Driver=pl2303, 12M
| |
− | |__ Port 4: Dev 5, If 0, Class=vend., Driver=ftdi_sio, 12M
| |
− | /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=musb-hdrc/1p, 480M
| |
− | |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
| |
− | </pre>
| |
− |
| |
− | ==== reset ====
| |
− | <pre># Reset Hub
| |
− | echo 1 > /sys/class/gpio/gpio69/value
| |
− | echo 0 > /sys/class/gpio/gpio69/value</pre>
| |
− |
| |
− | ==== force power port enables (When gpios are set as outputs)====
| |
− |
| |
− | <pre>echo out > /sys/class/gpio/gpio80/direction
| |
− | echo out > /sys/class/gpio/gpio81/direction
| |
− | echo out > /sys/class/gpio/gpio186/direction
| |
− | echo out > /sys/class/gpio/gpio83/direction
| |
− |
| |
− | echo 0 > /sys/class/gpio/gpio80/value
| |
− | echo 0 > /sys/class/gpio/gpio81/value
| |
− | echo 0 > /sys/class/gpio/gpio186/value
| |
− | echo 0 > /sys/class/gpio/gpio83/value
| |
− |
| |
− | echo 1 > /sys/class/gpio/gpio80/value
| |
− | echo 1 > /sys/class/gpio/gpio81/value
| |
− | echo 1 > /sys/class/gpio/gpio186/value
| |
− | echo 1 > /sys/class/gpio/gpio83/value</pre>
| |
− |
| |
− | === USBHUB2 ===
| |
− | <pre>lsusb -t</pre>
| |
− | Expected (with 3G modem):
| |
− | <pre>root@igep00x0:~# lsusb -t
| |
− | /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-omap/3p, 480M
| |
− | /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=musb-hdrc/1p, 480M
| |
− | |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/4p, 480M
| |
− | |__ Port 1: Dev 5, If 0, Class=stor., Driver=usb-storage, 480M
| |
− | |__ Port 2: Dev 6, If 0, Class=stor., Driver=usb-storage, 480M
| |
− | |__ Port 3: Dev 7, If 0, Class=stor., Driver=usb-storage, 480M
| |
− | |__ Port 4: Dev 3, If 0, Class=vend., Driver=option, 480M
| |
− | |__ Port 4: Dev 3, If 1, Class=vend., Driver=option, 480M
| |
− | |__ Port 4: Dev 3, If 2, Class=vend., Driver=option, 480M
| |
− | |__ Port 4: Dev 3, If 3, Class=vend., Driver=option, 480M
| |
− | |__ Port 4: Dev 3, If 4, Class=vend., Driver=option, 480M
| |
− | </pre>
| |
− |
| |
− |
| |
− | ==== reset ====
| |
− | <pre># Reset Hub
| |
− | echo 1 > /sys/class/gpio/gpio67/value
| |
− | echo 0 > /sys/class/gpio/gpio67/value</pre>
| |
− |
| |
− | ==== force power port enables (When gpios are set as outputs)====
| |
− |
| |
− | <pre>echo out > /sys/class/gpio/gpio79/direction
| |
− | echo out > /sys/class/gpio/gpio77/direction
| |
− | echo out > /sys/class/gpio/gpio78/direction
| |
− |
| |
− | echo 0 > /sys/class/gpio/gpio79/value
| |
− | echo 0 > /sys/class/gpio/gpio77/value
| |
− | echo 0 > /sys/class/gpio/gpio78/value
| |
− |
| |
− | echo 1 > /sys/class/gpio/gpio79/value
| |
− | echo 1 > /sys/class/gpio/gpio77/value
| |
− | echo 1 > /sys/class/gpio/gpio78/value</pre>
| |
− |
| |
− | === 5VUP boost regulator enable ===
| |
− | <pre>echo 86 > /sys/class/gpio/export
| |
− | echo out > /sys/class/gpio/gpio86/direction
| |
− |
| |
− | echo 1 > /sys/class/gpio/gpio86/value
| |
− | echo 0 > /sys/class/gpio/gpio86/value</pre>
| |
− |
| |
− | === Audio in ===
| |
− | ==== Lite ====
| |
− | Configure audio line in:
| |
− | <pre>amixer -c 0 sset 'Analog Right AUXR' cap
| |
− | amixer -c 0 sset 'Analog Left AUXL' cap</pre>
| |
− |
| |
− | Then you can easily record:
| |
− | <pre> arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav</pre>
| |
− |
| |
− | Finally, listen audio recorded:
| |
− | <pre> aplay audio-in.wav</pre>
| |
− |
| |
− | ==== FULL: PMIC MIC IN====
| |
− | Configure mic in and line out (to test):
| |
− | <pre>amixer set -D hw:0 'Analog' 100%
| |
− | amixer -c 0 sset 'Analog Right AUXR' nocap
| |
− | amixer -c 0 sset 'Analog Left AUXL' nocap
| |
− | amixer -c 0 sset 'Analog Left Main Mic' cap
| |
− | amixer -c 0 sset 'Analog Right Sub Mic' cap
| |
− | amixer set -D hw:0 'Headset' 0dB
| |
− | amixer set -D hw:0 'HeadsetL Mixer AudioL2' on
| |
− | amixer set -D hw:0 'HeadsetR Mixer AudioR2' on</pre>
| |
− | Then you can easily record:
| |
− | <pre> arecord -t wav -c 2 -r 44100 -f S16_LE -v audio-in.wav</pre>
| |
− | Finally, listen audio recorded:
| |
− | <pre> aplay audio-in.wav</pre>
| |
− |
| |
− | === Audio out ===
| |
− | ==== audio out jack====
| |
− | Configure audio out:
| |
− | <pre>amixer set -D hw:0 'Headset' 0dB
| |
− | amixer set -D hw:0 'HeadsetL Mixer AudioL2' on
| |
− | amixer set -D hw:0 'HeadsetR Mixer AudioR2' on</pre>
| |
− |
| |
− | Then you can easily play a *.wav sound with the application Aplay, for example:
| |
− |
| |
− | <pre>aplay audio-in.wav</pre>
| |
− |
| |
− | ==== audio out onboard speaker ====
| |
− | Configure audio out:
| |
− | <pre>amixer set -D hw:0 'Headset' 100%
| |
− | amixer set -D hw:0 'HeadsetL Mixer AudioL2' on
| |
− | amixer set -D hw:0 'HeadsetR Mixer AudioR2' on
| |
− | echo out > /sys/class/gpio/gpio82/direction
| |
− | echo 1 > /sys/class/gpio/gpio82/value </pre>
| |
− |
| |
− | Then you can easily play a *.wav sound with the application Aplay, for example:
| |
− |
| |
− | <pre>aplay audio-in.wav</pre>
| |
− |
| |
− | === audio codec Cirrus Logic CS53L30 ===
| |
− | <pre>root@igep00x0:~# i2cdetect -r 3
| |
− | WARNING! This program can confuse your I2C bus, cause data loss and worse!
| |
− | I will probe file /dev/i2c-3 using read byte commands.
| |
− | I will probe address range 0x03-0x77.
| |
− | Continue? [Y/n] Y
| |
− | 0 1 2 3 4 5 6 7 8 9 a b c d e f
| |
− | 00: -- -- -- -- -- -- -- -- -- -- -- -- --
| |
− | 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
| |
− | 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
| |
− | 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
| |
− | 40: -- -- -- -- -- -- -- -- -- 49 4a 4b -- -- -- --
| |
− | 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
| |
− | 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
| |
− | 70: -- -- -- -- -- -- -- --
| |
− | </pre>
| |
− |
| |
− | === temperature sensors (ADC PMIC TPS65950) ===
| |
− |
| |
− | * U900: Temperatura IGEP COM MODULE
| |
− | * U901: Temperatura power
| |
− | * U902: Temperatura modem
| |
− | * U903: Temperatura general
| |
− |
| |
− | <pre>root@igep00x0:~# ./madc-test
| |
− | ** ADCIN2 (channel 2): 0.454102
| |
− | ** ADCIN3 (channel 3): 0.444336
| |
− | ADCIN4 (channel 4): 0.585938
| |
− | ADCIN5 (channel 5): 1.352539
| |
− | ** ADCIN6 (channel 6): 0.434570
| |
− | ** ADCIN7 (channel 7): 0.324707
| |
− | VBUS_USB_OTG (channel 8): 5.202148
| |
− | (VBKP) (channel 9): 2.536230
| |
− | VBATT/3.3V_RAIL (channel 12): 4.294922</pre>
| |
− |
| |
− | === others ===
| |
− | mount -t debugfs none /sys/kernel/debug/
| |
− |
| |
− | Back to [[XMED0030]] main project page
| |
− |
| |
− |
| |
− | === audio jack detect ===
| |
− |
| |
− | '''INFO:''' Only works when MIC_BIAS is enabled, audio_in has 1V8 value aprox (AC)
| |
− |
| |
− | <pre>mount -t debugfs none /sys/kernel/debug
| |
− | echo 0x104 > /sys/kernel/debug/omap_mux/uart3_cts_rctx
| |
− | i2cset -f -y 3 0x49 0X0A 0X36
| |
− | i2cset -f -y 3 0x4a 0X0A 0X06
| |
− | i2cset -f -y 3 0x4b 0X0A 0X06
| |
− | echo 198 > /sys/class/gpio/export
| |
− | echo 163 > /sys/class/gpio/export
| |
− | cat /sys/class/gpio/gpio92/value
| |
− | cat /sys/class/gpio/gpio74/value
| |
− | cat /sys/class/gpio/gpio163/value
| |
− | cat /sys/class/gpio/gpio90/value
| |
− | cat /sys/class/gpio/gpio89/value
| |
− | cat /sys/class/gpio/gpio198/value </pre>
| |
− |
| |
− | === audio input switch ===
| |
− |
| |
− | '''Not used'''
| |