— Template tabs_new not found.


How-to

The barebox bootloader supports update of

  • bootloader
  • kernel
  • devicetree
  • root FS

To update bootloader / kernel / root FS in a running system you have to copy the images in your tftp directory and rename them to the names that the bootloader environment expects.

To see the names needed type
$ cat /env/config  

at the bootloader prompt.

You can use the update scripts from the barebox environment for update:

  • update_kernel
  • update_barebox
  • update_rootfs

To update parts of the barebox environment or the device tree during development you can use also the barebox tftp command.

The u-boot bootloader support update of

  • bootloader
  • kernel
  • devicetree
  • root FS (only for root FS that fits RAM)

You can use the update scripts from the u-boot environment for update:

  • run update_kernel
  • run update_uboot
  • run update_dtb

To update parts of the uboot environment or the device tree during development you can use also the uboot tftp command.

To boot the MBa53 from network you need a working bootloader in SD-card or eMMC which is able to get the kernel image over tftp and to provide the kernel with commandline settigns for NFS. Depending on the bootloader location the board has to be configured to load the bootloader. See SD-card and eMMC. You have to provide the images via tftp and nfs and to configure the bootloader to work with your tftp-server and your nfs-server

The following example is given for the barebox loader used in the BSP:

barebox@TQ tqma53: edit /env/config

The following settings have to be configured in the script:

# or set your networking parameters here
eth0.ipaddr=<tqma53 IP> 
eth0.netmask=<tqma53 netmask>
eth0.serverip=<nfs / tftp server ip>
#eth0.gateway=a.b.c.d
#eth0.ethaddr=de:ad:be:ef:00:00
 
ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask::eth0:off

Save environment and reset to make it active:

barebox@TQ tqma53: saveenv
barebox@TQ tqma53: reset

Verify environment settings:

barebox@TQ tqma53: printenv

Verify eth0 configuration:

barebox@TQ tqma53: devinfo eth0

To initialize the eMMC with an newly created image follow the instructions below:

  • Use SD-card boot
  • on your development host add an additional ext3 partition to the SD card
  • copy the uboot_hd.img file to this partition
  • insert the SD card in MBa53 and boot
  • copy the image to the eMMC using the following commands:
root@tqm:~ mount /dev/mmcblk0p4 /mnt
root@tqm:~ cd /mnt
root@tqm:/mnt dd if=uboot_hd.img of=/dev/mmcblk1 bs=1M conv=fsync
root@tqm:/mnt poweroff
  • remove SD card
  • configure for eMMC boot (see table)

You can also establish an workflow using the Freescale Manufacturing tool.

To boot the MBa53 from an initialized eMMC you have to set the switches S1, S2 and S3. Therfor please have a look at MBa53 DIP switch settings.

Power up the MBa53. The login is root without any password. If you connect a DVI monitor to X5 you can see the login prompt.

Copy the hd.img to an SD-card to boot the module via SD-card.

$ dd if=platform-MBa53/images/hd.img of=/dev/sd<n> bs=1M conv=fsync
You have to use the raw device of the SD card not a partition!

To boot the MBa53 from a previously generated SD Card you have to set the switches S1, S2 and S3. Therfor please have a look at MBa53 DIP switch settings.

Insert the SDcard in X6 and power up the MBa53. The login is root without any password. If you connect a DVI monitor to X5 you can see the login prompt.

GPU support needs additional libraries in userspace. To activate GPU support, you need to select the AMD GPU binary package.

For BSP rev. 0104

Follow the instructions under Configuration and select “amd gpu binaries” entry.

For BSP rev. 0105

GPU support is preconfigured in the hardware platform and can be found under

$ ptxdist menu
=> select "Configure Hardware Platform"
  => select "architecture"
    => i.MX53 OpenGL

GPU support fro software development is preconfigured in the software platform and can be found under

$ ptxdist menu
=> select "Graphics and Multimedia"
  => select "libs"
    => platform support for OPENGL

The package will install following stuff in sysroot-target

  • shared libraries
  • includes
  • static libraries

So that development and compilation of OpenVG / EGL based applications is supported. On the target the following will be installed:

  • sample binaries
  • shared libraries

You can find the barebox documentation at the barebox homepage. Look for the available commands.

Barebox uses a config file which is fully documented to store its environment. To make changes on the target system use the barebox edit command:

barebox@TQ tqma53: edit /env/config

Attention: the editor is limited in width and height. Use arrow keys to navigate.

Barebox uses shell like script files to automate configurable tasks like boot and update. The scripts can be found under

/env/bin

and can be edited as well.

Extending and / or overwriting the barebox default environment is also possible. Please refer the Barebox and ptxdist documentation.

The hardware is configured using device tree. The device tree file for TQMa53 / MBa53 is located in platform-MBa53/build-target/linux-3.5/arch/arm/boot/dts/imx53-<MB|mb>a53.dts after the prepare step of the kernel package.

$ ptxdist drop dtc extract
$ ptxdist go
$ ptxdist images

If you only want to update the kernel image you also need to transfer the resulting device tree blob to your device. It has to be copied to your tftp directory:

$ cp platform-MBa53/images/imx53-<MB|mb>a53.dtb <your tftp dir>

And can than be loaded to the device. After saving and resetting the new device tree will be used.

Barebox

barebox@TQ tqma53: tftp imx53-<MB|mb>.dtb /env/imx53-<MB|mb>a53.dtb
barebox@TQ tqma53: saveenv
barebox@TQ tqma53: reset

u-boot

TQMa53[MBa53] > setenv dtb imx53-<MB|mb>.dtb
TQMa53[MBa53] > saveenv
TQMa53[MBa53] > run update_dtb

Follow the instrunction fro Device tree bindings found under

<linux-src>/Documentation/devicetree/bindings/usb/ci13xxx-imx.txt

The default configuration of the BSP is to use DVI so that the STKa53 (TQMa53 on MBa53) will work out of the box without needing special display hardware. To change the primary display you have to edit the device tree.

BSP rev 0105: Samples for device tree are in the BSP under {BSPROOT}/local_src/dts-tqma53-3.9

see here how to change device tree.

To configure have to edit the parallel display node. This is the node with the compatible = “fsl,imx-parallel-display” property.

  • To use DVI
    • BSP rev. 0104: set the edid property
    • BSP rev. 0105: set the ddc property to
       ddc = <&i2c3>;
  • To use parallel display add display-timing property and delete edid and ddc property

Hitachi / KAOHSIUNG TX14D11VM1CPD

  <code>
       disp1: display@disp1 {
           compatible = "fsl,imx-parallel-display";
           pinctrl-names = "default";
           pinctrl-0 = <&pinctrl_disp1_1>;
           crtcs = <&ipu 1>;
           interface-pix-fmt = "rgb24";
           status = "okay";
           display-timings {
               tx14d11vm1cpd {
                   clock-frequency = <5847953>;
                   hactive = <320>;
                   vactive = <240>;
                   hfront-porch = <30>;
                   hback-porch = <30>;
                   hsync-len = <5>;
                   vback-porch = <5>;
                   vfront-porch = <6>;
                   vsync-len = <2>;
                   pixelclk-active = <1>;
                   hsync-active = <0>;
                   vsync-active = <0>;
                   de-active = <1>;
               };
           };
       };
  </code>

To disable the DVI output you have to disable in the parallel display node. This is the node with the compatible = “fsl,imx-parallel-display” property

Change

                display@di1 {
                        compatible = "fsl,imx-parallel-display";
                        status = "ok"
                        crtcs = <&ipu 1>;
                        interface_pix_fmt = "rgb24";
                        
                        ...

                };

to

                display@di1 {
                        compatible = "fsl,imx-parallel-display";
                        status = "disabled";
                        crtcs = <&ipu 1>;
                        interface_pix_fmt = "rgb24";
                        
                        ...

                };

Also please deselect the “Enable DVI” service in the software configuration. Otherwise the DVI transmitter will be enabled always.

    ldb@53fa8008 {
         status = "okay";

         lvds-channel@0 {
              status = "okay";
  • configure display timing, resolution and format to the correct values of the display to use.

AUO G156 (1366 x 768)

                        ldb@53fa8008 {
                                status = "okay";

                                lvds-channel@0 {
                                        status = "okay";
                                        fsl,data-mapping = "spwg";
                                        fsl,data-width = <24>;
                                        
                                        clock = <76000000>;
                                        xres = <1366>;
                                        yres = <768>;
                                        left-margin = <10>;
                                        right-margin = <10>;
                                        hsync-len = <200>;
                                        lower-margin = <10>;
                                        upper-margin = <10>;
                                        vsync-len = <38>;
                                };
                        };

ChiMei G104X1-L04 (1024 x 768)

                        ldb@53fa8008 {
                                status = "okay";

                                lvds-channel@0 {
                                        status = "okay";
                                        fsl,data-mapping = "spwg";
                                        fsl,data-width = <24>;
                                        
					/* ChiMei G104X1-L04 */
					clock = <65000000>;
					xres = <1024>;
                                        yres = <768>;
                                        left-margin = <10>;
                                        right-margin = <10>;
                                        hsync-len = <200>;
                                        lower-margin = <10>;
                                        upper-margin = <10>;
                                        vsync-len = <38>;
                                };
                        };
    @tve {
         pinctrl-names = "default";
         pinctrl-0 = <&pinctrl_vga_sync_1>;
         ddc = <&i2c3>;
         fsl,tve-mode = "vga";
         fsl,hsync-pin = <4>;
         fsl,vsync-pin = <6>;
         status = "okay";
   };


TQMa53 Hardware rev. 0300

Works out of the Box with BSP Revision ≥ 0105. Support for older BSP on Request.
Please have a look at our audio tutorial, too.

TQMa53 Hardware rev. 0200

Beginning with hardware revision 0300 the clock source for the audio codec is changed from CKO1 to SSI1_EXT1_CLK. To use older hardware revisions with BSP beginning with rev. 0105 sample device tree files are supplied under

{bsp-root}/local_src/dts-tqma53-3.9/rev.0200

Change device tree following these instructions to use audio output.

VPU / CODA driver is implemented as V4L2 device. To make the device usable a gstreamer plugin can be used. To test the VPU you need a media file with H264 content (for instance a matroska container). To play the following gstreamer pipeline can be used:

  gst-launch-0.11 \
                 filesrc location=/root/test.mkv \
                 ! matroskademux \
                 ! h264parse \
                 ! video/x-h264,stream-format=byte-stream,alignment=au \
                 ! v4l2filter device=/dev/video/by-name/coda \
                 ! v4l2sink device=/dev/video/by-name/vout

Known limitations:

  • The V4L2 vout device is hardwired to the LVDS Display bridge (LDB).
  • Not all variants the video standards playing smoothly
  • large displays and large video resolutions can cause bandwidth problems on the system bus


To compile the kernel/bootloader outside of the BSP, please have a look at the corresponding tutorial.

Disclaimer
TQ-Systems GmbH provides the Board Support Packages (BSP) free of charge. The software included in the shipment has been configured individually for the starter kits. The software is only intended to evaluate the module. The use of the Board Support Packages (BSP) is only allowed within the scope of functionality described by TQ-Systems GmbH. TQ-Systems GmbH does not accept any liability for all further changes of the Board Support Package and for any damage resulting from its use.