ITBOK

From Texas Instruments Embedded Processors Wiki

Jump to: navigation, search


ITBOK stands for Is The Board Ok. It is a collection of level-zero code integrated into U-Boot. It helps users to check the functionality of various devices found on OMAP35x EVM. Currently Memory (DDR, Flash), Audio, Keypad, LCD, TV-OUT and S-Video tests are supported in ITBOK. The user access to ITBOK is through the diag command in U-Boot. You can type diag at the U-Boot prompt to see various supported devices. The procedure for testing the individual interfaces is given below.

Contents

Integrating ITBOK with U-Boot

1. copy the ITBOK source tar to path 'src/u-boot/' in TI package.

2. Untar the ITBOK source as

       tar -xzvf <ITBOK source tar>.tar.gz

3. Change the directory to u-boot source directory and open the file 'lib_arm/board.c' and add function call.

       register_diagnostics();

after mem_malloc_init () function call in function start_armboot().

4. Edit u-boot Makefile to add the ITBOK LIBS, add following line in Makefile at the end of LIBS section.

       LIBS += ../EVM3530_ITBOK/libitbok.a

5. Configure u-boot

       make omap3_evm_config

6. Build the u-boot with ITBOK

       make CROSS_COMPILE=arm-none-linux-gnueabi-

How to run ITBOK tests

The ITBOK tests on OMAP3EVM can be conducted in two ways.

  1. Menu Based testing
  2. Command based testing

Menu Based testing

The menu based ITBOK tests can be conducted by issuing itbok command at the U-Boot prompt.

OMAP3EVM #itbok

It displays the following messages at the U-Boot prompt:


       ITBOK MENU

 1. Run All Tests (Options 2 to 8)
 2. Run Memory Test
 3. Run Audio Test
 4. Run Keypad Test
 5. Run Touchscreen Test
 6. Run LCD Test
 7. Run TV-out Test
 8. Run S-Video
 9. Run Battery Test
10. LCD_BACKLIGHT
11. ETHERNET_TEST
12. EXIT

       ITBOK MENU

Please enter test option:

The tests can be conducted by entering the appropriate number on the console.

Entering '1' (Run All Tests) will run all the tests in sequence and displays the results. Whenever there is user intervention required, message is displayed on the console and the software waits for the user input/actions.

Note: Memory Test will not erase the x-loader, u-boot and kernel memory space from NAND flash. To erase complete Nand Flash at u-boot prompt [OMAP3EVM #] execute following commands

OMAP3EVM # nand unlock 
OMAP3EVM # nand erase

Command Based Testing

Command based testing can be conducted using the diag command. Note that diag or diagnose - both the commands are recognized by the system and have the same effect.

The following test can also be carried out using Menu Based Testing as explained above.

MEMORY Test

This section covers the testing of PoP memories on OMAP3EVM.

The memories can be tested by issuing the commands at U-Boot prompt

  • To test DDR memory issue command diag memory RAMtest
Expected Result: Should run DDR data bus test, address bus test and memory Read/Write tests.
  • To test NAND/OneNAND memory issue command diag memory nand
NOTE: This command runs NAND or OneNAND test automatically based on the flash type.
Expected Result: Should run NAND/OneNAND erase, read and write tests and display results

Note: Memory Test will not erase the x-loader, u-boot and kernel memory space from NAND flash. To erase complete Nand Flash at u-boot prompt [OMAP3EVM #] execute following commands

OMAP3EVM # nand unlock 
OMAP3EVM # nand erase

Test Log:

OMAP3EVM # diag memory RAMtest
Testing SDRAM
SDRAM Start address 0x81800000, End address 0x87ffffff
Running data bus test...PASSED
Running address bus test...PASSED
Running memory Read/Write test... Please wait... PASSED
SDRAM Test Completed... PASS

OMAP3EVM # diag memory nand

Testing NAND
Running Erase Test...Please wait...Start Block : 60, End Block : 2047

nand_erase: skipping bad block # 1905 at offset 0x0ee20000
PASSED
Running Write test...Please wait...Start Block : 60, End Block : 2047
PASSED
Running Read test...Please wait...Start Block : 60, End Block : 2047
PASSED
Nand Test Completed... PASS
	
NOTE: This log is with OneNAND based board
OMAP3EVM # diag memory nand
Testing ONENAND
Running Erase Test...Please wait...Start Block : 60, End Block : 1023
onenand_erase: not erasing bad block @0x2860000
onenand_read_ecc: detected bad block  @0x2860000, skipping
onenand_erase: not erasing bad block @0x5c40000
onenand_read_ecc: detected bad block  @0x5c40000, skipping
onenand_erase: not erasing bad block @0x6ea0000
onenand_read_ecc: detected bad block  @0x6ea0000, skipping
PASSED
Running Write test...Please wait...Start Block : 60, End Block : 1023
onenand_write_ecc: detected bad block  @0x2860000, skipping
onenand_write_ecc: detected bad block  @0x5c40000, skipping
onenand_write_ecc: detected bad block  @0x6ea0000, skipping
PASSED
Running Read test...Please wait...Start Block : 60, End Block : 1023
onenand_read_ecc: detected bad block  @0x2860000, skipping
onenand_read_ecc: detected bad block  @0x5c40000, skipping
onenand_read_ecc: detected bad block  @0x6ea0000, skipping
PASSED
Onenand Test Completed... PASS

LCD Display Test

This section covers the testing of LCD display of OMAP3EVM.

The LCD can be tested by issuing commands at U-Boot prompt

  • To Display VGA Bitmap issue command diag lcd displayBMP vga
  • To display QVGA Bitmap issue command diag lcd displayBMP qvga
Expected Result: Should display Bitmap image on LCD display after issuing any of the above command.
  • To execute the fill colour test, issue command diag lcd fillclr green
Expected Result: Should display Green colour on the LCD display

Test Log:

OMAP3EVM # diag lcd displayBMP VGA
OMAP3EVM # diag lcd displayBMP QVGA
OMAP3EVM # diag lcd fillclr red
LCD display filled with red colour.
OMAP3EVM # diag lcd fillclr green
LCD display filled with green colour.
  

Audio Stereo Headset OUT

This section covers the testing of Audio interface of OMAP3EVM.

Play Audio file/song on the Host PC using Music player.

  • Audio Playback test can be done by issuing commands at U-Boot prompt
  1. Issue command diag audio fmloopback 20
  2. Listen for the same Audio file/song in the Headset.
Expected Result: The Audio file/song running in the Host PC should be played in the Headset.
  • Play a fixed tone from the processor by issuing the following command at U-Boot prompt
  1. Issue command diag audio tone 10 20
  2. Listen for the tone in the headset
Expected Result: Fixed tone should be played for the specified duration
  • Record for a given duration & playback
  1. Issue command diag audio rcdplay 5 20, once after connecting the output of PC to OMAP3EVM Audio IN Connector (P11)
  2. Listen for the recorded Audio file/song in the headset once after the completion of recording time (5 sec)
Expected Result: The recorded Audio file/song from the Host PC should be played in the Headset.

Test Log:

OMAP3EVM # diagnose audio tone 5 5
Audio play fixed tone test done.

OMAP3EVM # diagnose audio rcdplay 10 5
Recording from audio-in...diagnose audio rcdplay 5 10
Recording from audio-in...done.
Playing back on audio-out...done.
Audio record and playback test done.

OMAP3EVM # diagnose audio fmloopback 10
Audio loopback test done.

Keypad Test

This test validates the keypad interface of OMAP3EVM.

  • Keypad test can be done by issuing command at U-Boot prompt
  1. Issue command diag keypad scan
  2. Press all the keys on the OMAP3EVM main board keypad.
Expected Result: Keypad Test Passed message should be displayed at prompt

Test Log:

OMAP3EVM # diagnose keypad scan

Press one key at a time.
Press all keys atleast once.
	Key S06: [0 1] Pressed
	Key S16: [2 2] Pressed
	Key S17: [1 1] Pressed
	Key S18: [0 0] Pressed
	Key S18: [0 0] Pressed
	Key S13: [3 2] Pressed
	Key S14: [2 1] Pressed
	Key S15: [1 0] Pressed
	Key S10: [1 3] Pressed
	Key S11: [3 1] Pressed
	Key ?: [2 0] Pressed
	Key ?: [2 0] Pressed
	Key S07: [2 3] Pressed
	Key S08: [0 2] Pressed
	Key S09: [3 0] Pressed
	Key S09: [3 0] Pressed
	Key S04: [3 3] Pressed
	Key S05: [1 2] Pressed
All keys pressed at least once.
Keypad scan test success.

Touch-screen Test

This test validates the touch-screen interface of OMAP3EVM.

Procedure:

  • Touch-screen reference test can be done by issuing commands at U-Boot prompt
  1. Issue command diag ts test
  2. Touch any location on LCD using a stylus
  3. Press Enter at U-Boot prompt
  4. Press q to exit the test.
Expected Result: The co-ordinates as per the position of Stylus on touchscreen should be displayed on the console.
  • Touch-screen pen (stylus) detection test can be done by issuing commands at U-Boot prompt
  1. Issue the command diag ts pendetect
  2. Touch four different locations on LCD using a stylus.
Expected Result: Pen status shall be displayed. It shall display "Down" when stylus is positioned on touchscreen, and shall display "Up" when stylus is lifted.

Test Log:

OMAP3EVM # diagnose ts test
Place the stylus on lcd panel and press ENTER
Type 'q' to abort the test
[x y] = [ 0xb4 0xfffffffb]
[x y] = [ 0xd8 0x25]
[x y] = [ 0x71 0x2c]
[x y] = [ 0x16 0x2c]
[x y] = [ 0xce 0x106]
[x y] = [ 0x75 0x10d]
[x y] = [ 0x14 0x10d]
[x y] = [ 0x77 0x9d]
Touchscreen Test Aboterd by user...

OMAP3EVM # diagnose ts pendetect
Up	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	
DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	DownUp	

TV-OUT Test

This test validates the TV_OUT interface of OMAP3EVM.

Note: Make sure that the 6th switch in SW1 of the processor module is in OFF position

  • TV-OUT test can be done by issuing commands at U-Boot prompt diag tvout colorbar NTSC-M
Expected Result: Vertical color Bar consisting of 8 colors shall be displayed on TV.
  • To conduct the test for PAL, issue command diag tvout colorbar PAL-60
Expected Result: Vertical color Bar consisting of 8 colors shall be displayed on TV.
  • To execute the fill colour test, issue command diag tvout fillclr <red/green/blue/yellow> <PAL-60/NTSC-M>
Expected Result: The specified color shall be displayed on TV.

Test Log:

OMAP3EVM # diagnose tvout fillclr red NTSC-M
OMAP3EVM # diagnose tvout fillclr green PAL-60
OMAP3EVM # diagnose tvout colorbar PAL-60
OMAP3EVM # diagnose tvout colorbar NTSC-M

S-Video Test

This test validates the S-Video interface of OMAP3EVM.

Note: Make sure that the 6th switch in SW1 of the processor module is in ON position

  • S-Video test can be done by issuing commands at U-Boot prompt diag svideo colorbar NTSC-M
Expected Result: Vertical color Bar consisting of 8 colors shall be displayed on TV.
  • To conduct the test for PAL, issue command diag svideo colorbar PAL-60
Expected Result: Vertical color Bar consisting of 8 colors shall be displayed on TV.
  • To execute the fill colour test, issue command diag svideo fillclr <red/green/blue/yellow> <PAL-60/NTSC-M>
Expected Result: The specified color shall be displayed on TV.

Test Log:

OMAP3EVM # diagnose svideo fillclr red NTSC-M
OMAP3EVM # diagnose svideo fillclr magenta PAL-60
OMAP3EVM # diagnose svideo colorbar PAL-60
OMAP3EVM # diagnose svideo colorbar NTSC-M

Menu Based Tests

Following test cases are Menu based and can be executed using ITBOK and are explained below:

Battery Test

This is Test Case 9. It will read the internal battery specification and displays them

Expected Result: The battery specification are being read and displayed.
  • To execute 'the Battery Test', run the itbok and select test case 9.

Test Log:

Please enter test option: 9
Starting Battery Test...
Charge Type : AC Charge
ac charger voltage = 0.009775
Battery voltage = 0.017595
Battery charger current = -0.845608
Battery Test Completed... PASS

LCD_BACKLIGHT Test

This is test case 10. It will test LCD back light by turning LCD back light OFF and then turning ON with user verification.

Expected Result: The LCD back light should go OFF and ON.
  • To execute 'LCD_BACKLIGHT Test', run the itbok and from itbok menu select test case 10.

Test Log:

Please enter test option: 10
Starting LCD backlight Test...
Press y to turn OFF the LCD backlight...
 y
Turned OFF the LCD back light...
Press y to turn ON the LCD backlight...
 y
Turned ON the LCD back light...
Is the LCD backlight working properly (y/n): y
LCD Back Light Test... PASS
LCD back light Test Completed... PASS

ETHERNET_TEST

This is test case 11. It test the Ethernet functionality by executing Ping Utility. To test Ethernet, the server ip and ip address of EVM should be set in environment variable before running Ethernet Test using 'setenv'. Pass condition is EVM should ping to server successfully.

Expected Result: The LCD back light should go OFF and ON.

  • To execute 'ETHERNET_TEST', run the itbok, and itbok menu select test case 11.

Test Log:

  Please enter test option: 11
  Starting Ethernet Test...
  Server IP address is 192.168.15.53
  smc911x: initializing
  smc911x: detected LAN9220 controller
  smc911x: phy initialized
  smc911x: MAC 00:11:22:33:44:55
  host is alive
  Ethernet Test Completed... PASS

For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article ITBOK here.
Leave a Comment

Comments

I have U-Boot 1.1.4 (May 2 2008) and there is no "diag" or itbok command. The response unknown command for both. Are these tests available? If so how do I run them?

DavidMeixner said ...

Is there ITBOK source for AM35xx?

--DavidMeixner 15:29, 23 February 2010 (CST)

Personal tools