This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

x-loader and u-boot for OMAP 35x

Other Parts Discussed in Thread: OMAP3530

The README for the latest x-loader (from OMAP 35x EVM SDK 1.0.2) states that x-loader was modified in Dec. 2006 to support 3430SDP board.  Was it ever modified to specifically support the 3530 EVM board, and if so, is that version of x-loader available?  The code only seems to reference 34xx variants, and no 35xx variants.

The same questions apply to the u-boot code.  Was it ever specifically modified to support the 3530 EVM?

This makes me wonder if I should use SDK x-loader + u-boot or look to use something more up-to-date for 35xx like maybe omap zoom git?  Any suggestions?

My hardware is based on OMAP 35x EVM, but I'd like to get latest support for 3530 as possible.

Thanks

  • Both the x-loader and U-boot included in the SDK do specifically function with the OMAP3530 EVM, it is possible that any necessary updates from the SDP just never had the note updated to say so.

    Note that the OMAP34x is very similar to the OMAP35x, so most of the configuration work that was done for the OMAP34x SDP will apply to the OMAP35x EVM, what you receive with the SDK is what I would generally suggest using. Taking updates from the open source community makes it harder for you to receive support directly from TI, though sometimes the benefit of additional features and the community support may make it worth while, however I would not do so until you have a particular feature that is not included in the SDK version.

    Are you running into compatibility issues with the x-loader and U-boot from the SDK?

  • No compatibility issues.   Just wanted to be confident that the SDK source for x-loader and u-boot was the best starting point.  Thanks.

     

  • I am trying to write a boot loader for a RTOS. This RTOS runs on ARM 9 based TMS320DM320 Board.

    I am trying to port the OS to OMAP3530. Can u give the Uboot code for OMAP3530.

    I am using CCSv4 and JTAG emulator for connecting to the board and then debugging.

    How do i compile out the uboot code and  finally download to the board

    This is just to trace the code flow which will help me write a small boot loader.

     

    I am a newbie to this field. Please help Me.

     

    Regards

    Jack

  • Jack,

    The u-boot code is included as part of DVSDK; it is likely present inside a directory names PSP_XX_XX_XX_XXX or similar.  There should be a readme file in the root u-boot directory that has instructions on building it.

  • As Juan mentions, the U-Boot source is included with the OMAP35x EVM software package (the SDK in particular not the DVSDK, on our other Davinci platforms it would be in the DVSDK), take a look in OMAP35x_SDK_1.0.2\board_utilities\u-boot-1.1.4.tar.gz for the source. The Getting Started Guide included with the EVM has instructions for both rebuilding the U-Boot and downloading it to the board through the UART downloader. Note that out of the box, the OMAP3 EVM does not expect you to use CCS for loading or debugging, so I do not know of any collateral that would help you to trace through U-Boot with CCS.

  • Hi,

    When i went through the directory structure I found EVM3530_ITBOK folder inside board utilities. What is that ? "OMAP35x_SDK_1.0.0\board_utilities\EVM3530_ITBOK\"

    Basically i was looking for a lcd driver. OMAP 3530 has a lcd pannel and i wanted to diplay an image through lcd pannel. 

    Have u worked on  lcd part of it ? like configuring and Displaying data through LCD etc...? Can anyone help me on this?

    Thanks

    Jack

  • jack said:
    When i went through the directory structure I found EVM3530_ITBOK folder inside board utilities. What is that ? "OMAP35x_SDK_1.0.0\board_utilities\EVM3530_ITBOK\"

    ITBOK stands for "Is The Board Ok", it is essentially a low level hardware test suite used by Mistral to verify the board's functionality.

    jack said:
    Have u worked on  lcd part of it ? like configuring and Displaying data through LCD etc...? Can anyone help me on this?

    Typically you would boot up Linux and use the included display drivers to work with the LCD, though you can also display without booting Linux, there is code in the ITBOK utility to do this, and I believe there is also code to do so in the newer U-Boot for the EVM as it loads up a Mistral logo. If you are trying to port to a RTOS than starting with the ITBOK or the U-Boot, or even the Linux drivers should be suitable, the ITBOK is probably the simplest code though as it is essentially a direct executable.

  • jack said:

    Have u worked on  lcd part of it ? like configuring and Displaying data through LCD etc...? Can anyone help me on this?

    Are you trying to use LCD from u-boot OR use your OS to do so?

    ~sanjeev

  • I am trying to use LCD from our OS. I am trying to view a .bmp file through LCD. is it possible?

    Sanjeev Premi said:

    Have u worked on  lcd part of it ? like configuring and Displaying data through LCD etc...? Can anyone help me on this?

    Are you trying to use LCD from u-boot OR use your OS to do so?

    ~sanjeev

    [/quote]

     

  • Take a look at OMAP35x_SDK_1.0.2\board_utilities\EVM3530_ITBOK\diagnostics\src\dg_lcd.c, it appears to have code that displays a bitmap file.

  • Hi Bernie,

    I went through the code which is available in ITBOK. In LCD part i see some initilaizations and configuration of I2C and GPIO. What are their roles.?Can you just breif me on that?

    These terms sound new for me.

     

     

     

  • Jack,

    I am not looking at the ITBOK code right now, but here is what I believe the code is doing:

    - LCD needs to be powered on. The commands for doing so needs to be sent over I2C to the Power IC.

    - Touchscreen is connected to the GPIO (either 175 or 176). Depends upon how the ITBOK tests are organized. This GPIO may be getting initialized.

    Best regards,
    Sanjeev

  • jack said:
    These terms sound new for me.

    Just for some added detail, I2C or Inter Integrated Circuit, is a serial protocol for communicating between devices on a board, typically I2C is just for configuring things as it is not incredibly fast, but it is simple with two wires and minimal overhead, with the addressing scheme it does a fine job at allowing a master processor access to external peripheral's registers.

    GPIO or general purpose input/output are simply pins that you can drive high or low and that can be read if they are being driven high or low, you often see these used for simple communication between devices.

  • Thanks for that.

    In the configuring part of I2C there is a mux set up part . What is this mux set up? Any idea on this ?

     

     

     

  • It may have to do with the fact that I2C pins are muxed with GPIO pins (per data-sheet); therefore proper mux settings are required to tell the hardware how you are using those pins.

  • I believe you are looking at code that configures the pin multiplexing on the OMAP3 itself, though without knowing which particular c file and line I could not say for sure. Assuming this is a pinmux configuration than you can determine more specifically what is being done based on section 2.3 of the datasheet which gives the pin muxing options and section 7.4.4 of the TRM which describes the actual registers.

  • Bernie,

    I am looking at the ITBOK code. In the diagnostics part of LCD they are configuring the LCD and showing a bmp image(Mistral Logo) on LCD.

    /* Pin and Pad settings for LCD. */
        mux_setup_lcd_bk_vdd();
        mux_setup_lcd();

    these are the calls made in the lcd_configure. What is being done here? Any idea?

     

     

  • jack said:

    I am looking at the ITBOK code. In the diagnostics part of LCD they are configuring the LCD and showing a bmp image(Mistral Logo) on LCD.

    /* Pin and Pad settings for LCD. */
        mux_setup_lcd_bk_vdd();
        mux_setup_lcd();

    these are the calls made in the lcd_configure. What is being done here? Any idea?

    These functions are defined in the same file that lcd_configure() is.  Looking at this functions, they are writing to the PAD configuration registers in the System Control Module.  This is defined in the OMAP3530 Technical Reference Manual (SPRUF98) in Chapter 7.
    The LCD on the OMAP35x EVM is connected to the DSS interface pins.  These PAD configuration registers configure the specific pins to support connecting the LCD signals to either the DSS signals or GPIOs, etc to support controlling the LCD.  I would suggest reviewing the OMAP35x EVM schematics to see how these particular pins are used to control the LCD.

  • Hi ,

     

    When i Switch on the OMAP3530 based Mistral board Xloader and then uboot comes up . When this happens the Mistral logo comes up. Display initialization is done in uboot to display the logo.

    Question : Does the ITBOK code get executed as a part of xloader or uboot? do we have to run the ITBOK seperately once uboot is up.?

     

    Please help

    Jack

  • ITBOK can be viewed as application created to run in the u-boot environment.

    I doesn't run automatically.

    If you are loading ITBOK.bin, then  ITBOK (uboot + diagnostics) is getting loaded. However, to run tests you need to issue commands on the console prompt e.g.

    diagnose uart write 1 hello

    diagnose uart write 2 hello

    diagnose lcd displayBMP vga

    diagnose lcd displayBMP qvga