ITBOK
From Texas Instruments Embedded Processors Wiki
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.
- Menu Based testing
- 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
- Issue command diag audio fmloopback 20
- 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
- Issue command diag audio tone 10 20
- Listen for the tone in the headset
- Expected Result: Fixed tone should be played for the specified duration
- Record for a given duration & playback
- Issue command diag audio rcdplay 5 20, once after connecting the output of PC to OMAP3EVM Audio IN Connector (P11)
- 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
- Issue command diag keypad scan
- 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
- Issue command diag ts test
- Touch any location on LCD using a stylus
- Press Enter at U-Boot prompt
- 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
- Issue the command diag ts pendetect
- 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
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?


Is there ITBOK source for AM35xx?
--DavidMeixner 15:29, 23 February 2010 (CST)