11.3 Connectivity
11.3.1 Enhanced Configurable Serial Peripheral Interface (ECSPI)
11.3.1.1 Test Name
- mxc_spi_test1.out
11.3.1.1.1 Location
/unit_tests/ECSPI/
11.3.1.1.2 Functionality
이 테스트는 마지막 파라미터의 바이트를 특정 SPI 디바이스로 보낸다. 최대 전송 바이트는 8(8 포함)보다 작은 워드당 비트의 경우 4096바이트, 9 ~ 16 사이의 워드당 비트의 경우 2048바이트, 17(17 포함)보다 큰 워드당 비트의 경우 1024바이트이다. SPI는 사용자로부터 받은 데이터를 Tx FIFO에 쓰고, Rx FIFO에서 데이터를 기다린다. Rx FIFO에서 데이터가 준비되면, 읽어서 사용자에게 보낸다.
11.3.1.1.3 Configuration
i.MX 6QuadPlus/Quad/Dual 자동 보드의 경우 ecspi 디바이스 트리가 필요하다. 이 기능은 기본 디바이스 트리에서 비활성화되어 있다.
11.3.1.1.4 Use Case and Expected Output
./mxc_spi_test1.out -D 0 -s 1000000 -b 8 E6E0
./mxc_spi_test1.out -D 1 -s 1000000 -b 8 -H -O -C
E6E0E6E00001E6E00000
Usage:
./mxc_spi_test1.out [-D spi_no] [-s speed] [-b bits_per_word]
[-H] [-O] [-C] $lt;value>
<spi_no> - CSPI Module number in [0, 1, 2]
<speed> - Max transfer speed
<bits_per_word> - bits per word
-H - Phase 1 operation of clock
-O - Active low polarity of clock
-C - Active high for chip select
<value> - Actual values to be sent
11.3.2 ETM
11.3.2.1 Test Name
- etm
11.3.2.1.1 Location
/unit_tests/ETM/
11.3.2.1.2 Functionality
Embedded Trace Macrocell, ETM은 프로그램 실행을 재구성할 수 있는 선택적 디버그 컴포넌트이다. ETM은 인스트럭션 트레이스만 지원하는 고속, 저전력 디버그 도구로 디자인되어 있다. 이렇게 하면 영역이 최소화되고 게이트 수가 줄어든다.
11.3.2.1.3 Configuration
11.3.2.1.4 Use Case and Expected Output
# ./etm -h
Usage: ./etm [options]
Options:
--etm-3.3 ETM v3.3 trace data
--etm-3.4-alt-branch ETM v3.4 trace data with alternative
branch encoding
--pft-1.1 PFT v1.1 trace data
--cycle-accurate Cycle-accurate tracing was enabled (Default 1)
--contextid-bytes Number of Context ID bytes (Default 4)
--formatter Enable Formatter Unpacking
--sourceid-match Enable Source ID from formatter. Also enables
formatter
--print-long-waits Highlight long waits
--print-input Print input data
--print-config Print configuration data
--help Print usage information
11.3.3 Inter-IC (I2C)
11.3.3.1 Test Name
- mxc_i2c_slave_test.out
11.3.3.1.1 Location
/unit_tests/I2C/
11.3.3.1.2 Functionality
11.3.3.1.3 Configuration
None
11.3.3.1.4 Use Case and Expected Output
11.3.4 IIM
11.3.4.1 Test Name
- mxc_iim_test.out
11.3.4.1.1 Location
/unit_tests/IIM_Driver/
11.3.4.1.2 Functionality
이 테스트는 뱅크에서 iim 값을 읽거나 뱅크에 값을 융합할 수 있다.
11.3.4.1.3 Configuration
None
11.3.4.1.4 Use Case and Expected Output
읽기와 퓨즈 테스트 입력 값은 모두 16진수 형식이어야 한다.
Below is the usage for the read case.
./mxc_iim_test read -d <bank_addr>
<bank_addr> - bank address in fuse map file.
read - Indicate that this is a read operation.
Example:
./mxc_iim_test.out read -d 0xc30
Below is the usage for the fuse case.
./mxc_iim_test fuse -d <bank_addr> -v <value>
<bank_addr> - bank address in fuse map file.
<value> - Value to be writen to a bank.
fuse - Indicate that this is a write operation.
Example:
./mxc_iim_test.out fuse 0xc30 -v 0x40
11.3.5 Keyboard
11.3.5.1 Test Name
- autorun-keypad.sh
- mxc_keyb_test.sh
11.3.5.1.1 Location
/unit_tests/Keyboard/
11.3.5.1.2 Functionality
USB를 통한 키보드 입력을 테스트한다.
11.3.5.1.3 Configuration
USB OTG 포트에 Keyboard를 연결한다.
11.3.5.1.4 Use Case and Expected Output
./autorun-keypad.sh
Outputs:
Print "PASS" status
./mxc_keyb_test.sh
Output:
An event will occur when a key is pressed
11.3.6 Low Power Universal Asynchronous Receiver/Transmitter (LPUART)
11.3.6.1 Test Name
- autorun-mxc_uart.sh
- mxc_uart_stress_test.out
- mxc_uart_test.out
- mxc_uart_xmit_test.out
11.3.6.1.1 Location
/unit_tests/UART/
11.3.6.1.2 Functionality
이러한 테스트는 코어 UART 드라이버에 UART 포트 정보와 일련의 컨트롤 함수와 같은 정보를 제공하는 역할을 하는 로우 레벨 UART 드라이버를 실행한다.
11.3.6.1.3 Configuration
None
11.3.6.1.4 Use Case and Expected Output
./autorun-mxc_uart.sh
./mxc_uart_stress_test.out /dev/ttymxc#
./mxc_uart_test.out /dev/ttymxc#
./mxc_uart_xmit_test.out /dev/ttymxc#
11.3.7 USB
11.3.7.1 Test Name
- autorun-usb-gadget.sh
- autorun-usb-host.sh
11.3.7.1.1 Location
/unit_tests/USB/
11.3.7.1.2 Functionality
이 테스트는 CHIPIDEA USB-HS OTG 컨트롤러에 대한 표준 Linux 드라이버 인터페이스를 구현하는 범용 시리얼 버스(USB) 드라이버를 실행한다. USB는 광범위한 PC-주변 기기 상호 연결에서 사용할 수 있는 범용 링크를 제공한다. 플러그 앤 플레이, 포트 확장 그리고 동일 유형의 포트를 사용하는 새로운 USB 주변 기기를 지원한다.
11.3.7.1.3 Configuration
필요한 모듈:
- /lib/modules/$(kernel_version)/kernel/drivers/usb/gadget/g_ether.ko
- /lib/modules/$(kernel_version)/kernel/drivers/usb/gadget/arcotg_udc.ko
- /lib/modules/$(kernel_version)/kernel/drivers/usb/host/ehci-hcd.ko
11.3.7.1.4 Use Case and Expected Output
./autorun-usb-gadget.sh
or
./autorun-usb-host.sh