User`s guide
Porting the On-Board-Diagnostic-Suite (OBDS) to a Custom Board
i.MX53 System Development User’s Guide, Rev. 1
10-2 Freescale Semiconductor
10.2 Customizing OBDS for Specific Hardware
This section explains how to customize the OBDS for the following hardware modules:
• Section 10.2.1, “UART (serial port) Test”
• Section 10.2.2, “DDR Test”
• Section 10.2.3, “Audio Test”
• Section 10.2.4, “IPU Display Test”
• Section 10.2.5, “I
2
C Test”
• Section 10.2.6, “SD/MMC Test”
• Section 10.2.7, “LED Test”
• Section 10.2.8, “Ethernet (FEC) Loopback Test”
• Section 10.2.9, “SPI-NOR Test”
10.2.1 UART (serial port) Test
The UART port is the primary communications channel between the reference board and host PC. The
UART test tests the transmission capabilities of the serial port and verifies its receive capabilities by
prompting the user to input a character from the host PC to the serial port. Typing the character “X” exits
this test and moves to the next test.
On the i.MX53 reference boards (with the exception of the ARD), the UART1 TXD and RXD pins are
routed to the CSI0_DAT10 and CSI0_DAT11 pins via the IOMUX (see the
~/diag-obds/src/mx53/hardware.c file). In addition, the file mx53.c defines the “debug_uart” variable to
UART1 as static struct hw_module *debug_uart = &uart1; If a different UART port is used, make the
required IOMUX changes to the routine debug_uart_iomux(), using the following code:
void debug_uart_iomux(void)
{
// UART1 mux'd on CSI0_DAT10 and CSI0_DAT11
writel(0x2, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT10);
writel(0x2, IOMUXC_SW_MUX_CTL_PAD_CSI0_DAT11); // daisy chain setup
writel(0x1, IOMUXC_UART1_IPP_UART_RXD_MUX_SELECT_INPUT);
}
10.2.2 DDR Test
The DDR test verifies the interface connectivity between the i.MX53 and the DDR memory. This test
should not be confused with a stress test that validates robust signal integrity of the interface. Instead, this
test ensures the proper assembly of the memory and i.MX53 by testing for opens and shorts on the
interface.
Each of the i.MX53 reference boards use a different DDR configuration. If the custom board implements
a DDR that has a different configuration than the reference boards, refer to the data sheet of the specific
DDR and make the necessary changes to the DDR configurations in the
~/diag-obds/src/include/mx53/plat_startup.inc file. The routine sets up the IOMUX and DDR specific
configurations.