Now, you can copy a video to /media and play it. This will perform a simple SD test.

Preparing SD card for a filesystem

These steps described creating a new filesystem SD card on the iMX6 Rex board. Check if the link is fit on the jumper JP3. If not fit them and reset the board.
Download the filesystem, the default kernel and the wifi and modem support version. Be sure, you have the latest files. Copy all these files e.g. to the USB stick. Plug the USB, insert SD card to the hinged card holder (J39). Folow these steps to prepare the SD card first.
After you plug the usb find out where the USB is mapped. At the end of the list you will see sometihing like this:

HDMI

To setup the HDMI monitor as a default video output (e.g. x window will be shown here) use following commands. Note: If you use Linaro filesystem, use the default kernel (both was shipped on the SD card with your board).

Start the X-session on HDMI from the console (Note: These commands may not work on every filesystem - tested with Ubuntu 13.04)

# export DISPLAY=:0.0
# startx &

LVDS

Playing a video file into the LVDS display (setup in u-boot as a default)

# mplayer -vo fbdev2 -vf scale -zoom -xy 1024 78.avi

Start the X-session on LVDS from the console (Note: These commands may not work on every filesystem - tested with Ubuntu 13.04)

# export DISPLAY=:0.0
# startx &

Adding custom LVDS display support

If you need to add a custom display support, you can specify settings (e.g. the resolution or the timing) directly in the kernel. Set these parameters in the structure ldb_modedb[] which is located in the file drivers/video/mxc/ldb.c As an example we will setup the display ETV570G6DHU.

!!!BE AWARE: This step is important for displays with small resolution (pixelclock lower than 38.7MHz)
The default internal LVDS clock may be for some displays with lower resolution too high. This results in a loss of the part of the screen (screen goes over the edge of the display).To correct this issue you will need to change the source of the internal LVDS clock (in the file arch/arm/mach-mx6/clock.c)

I2C Touchscreen TSC2007

To use this TSC2007 touchscreen we need to add few lines into the boardfile located at arch/arm/mach-mx6/board-mx6q_sabresd.c You can find all the changes in this Github commit.

First you need to include the TSC2007 header file:

#include <linux/i2c/tsc2007.h>

Select the signal for the touchscreen interrupt (iMX6 use the pin NANDF_WP_B as gpio6_GPIO[9] - pad E15).Note: SabreSD board use this pin for another purpose (SABRESD_AUX_3V15_EN or SABRESD_DISP0_WR_REVB). You may need to disable the definitions of these constant to avoid the collision (e.g. the direction of the GPIO).

Insert the TSC 2007 into the list of available I2C devices (we are still working with board-mx6q_sabresd.c) TSC2007 is connected to I2C2 and uses 7-bit address 0x48. This address is defined in the structure mxc_i2c1_board_info[]):

Recompile the kernel (or use this one) and start the board with the LVDS display which supports touchscreen. Note: Check if the interrupt signal is connected to the TSC2007 chip - check if resistor R174 on Rex Development BB is fitted. Power up the board and stop the booting. Setup in u-boot:

Audio SGTL5000

Record audio from microphone
Before recording open alsamixer and set the microphone gain to the maximum level. Connect a microphone to the PINK jack and run:

# arecord -f dat -d 10 -D hw:0,0 test.wav

Play the recorded file:

# aplay -f dat test.wav

Record audio from line in
In alsamixer enable Line In function and set the Capture Mux to "Line In" option. For this test, we use a loop back cable and connect Line Out -> Line In. We play an audio file to the Line Out and record it from Line in. Run these two commands in different terminals (or use '&' at the end of the first aplay command):

*Note: For a different USB to serial port chip (e.g. FTDI), try to find it in the "make menuconfig -> Device Drivers -> USB Support -> USB Serial Converter Support ->" list
Compile the new Kernel and run it. When fully booted up, plug in your USB to serial port device. We used STLAB "U-350 USB to Serial adapter 1 Port". Run "dmesg" and check what device was created (in our case "/dev/ttyUSB0"):

Thank you very much for leaving your feedback, so we see our work makes sense and helps others

Javier Marto

thanks, really REALLY usefull!

http://www.fedevel.com Robert Feranec

Thank you very much Javier Do you use a different iMX6 board or you have Rex?

Javier Marto

Yeah, we are usign a sabre board from freescale as a development board in order to test some of the SW (we bougth the board a long time ago, before we know about the Rex), but usign a lot for references the imx6 Rex and the baseboard. Regards

http://www.fedevel.com Robert Feranec

It’s very nice to see, that this website also helps users of Sabre SD. Thats why we created it (also we created it because we are HW developers and I keep forgetting some things from Linux and it would take me a long time to find them again, so we write everything down on our blog – so we can use it next time

Ashwin Kirpalani

what does it mean for duplicate rows in the output of dump_clocks.sh. For example, ipu_di_clk_0 has at least two entries. Another example is ecspi0_clk

Hello Robert, I need to put one full HD panel 1920×1080 to work with sabre kit.
My LCD panel has 2 chanel LVDS. I dont have a clue of how to bring them together…

http://www.fedevel.com Robert Feranec

Hello Eduardo. Try to search Freescale (NXP) forum. I usually find there what I need – or try to ask there. We are hardware guys … and I know exactly what you are talking about when you say “I do not have a clue …”