Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This page provides specific information to consider before you start your Opal-6 design.
Please contact our support team with any questions you have during the design process and use our free design review when you have finished your design.

Starting a Design - using the IOMux tool

The i.MX6 can be confusing to design with as it uses a multiplexer to assign up to 8 different functions to each IO pin.
Freescale provides an IOMux tool (available on the i.MX6 "Software & Tools" tab, under "Software Development Tools -> Initialization/Boot/Device Driver Code Generation") which makes it easy to sort through these options.
For Opal-6 we have two IOMux files that we have generated for the Opal CPU Module and the Opal Development Kit:

In the case of the CPU Module file, this shows which pins have been used on the module and should be your starting point. All the pins NOT SELECTED are available on the interface for you to use in your design. The Development Kit file is a good reference to see which pins we used for the different functions in the kit.

The IOMux file you generate is also an excellent way to document your design, and is very useful for software developers when setting up Operating System images and device drivers.

Reference Designs

Where possible, we encourage you to use our development kit as a starting point for your design. 
The advantages are:

  • It minimizes software changes
  • We are familiar with the circuit so can assist with debugging your design
  • You have less design work to do!

We also encourage you to use the library symbols for the module, and development kit schematics, available from our web site.

Booting

Opal-6 boots from:

  • On-board eMMC
  • SD Card (SD2 controller)
  • USB (for programming eMMC)

Other boot sources are possible, but not tested. Please contact use if you need something other than these options.
Several pins must be configured correctly in order for Opal to boot correctly. The following table includes the pins involved in the boot process and how they should be configured.

 

 

Signal

Boot Function

NAND Boot
Setting (0

Settings for the table below are: 0=pull down, 1=pull up, X=don't care

) SD

Signal

Boot Function

eMMC Boot

USDHC-4

SD Boot

USDHC-2

uSD Boot

USDHC-1

USB Boot

BOOT_MODE0

 

Main boot setting: 00 Boot from NAND/SD 11 Boot from USB

  

0

001

BOOT_MODE1

 

 

1

110

BOOT_CONFIG_1

BOOT_CFG1[

7

5]

1

0

0X

BOOT_CONFIG_2

BOOT_

CFG1

CFG2[

6

3]

1

1

0
1
X
BOOT_CONFIG_3
   
BOOT_CFG2[4]100X

BOOT_CONFIG_4

 

0

0 (SD boot)

BOOT_CFG2[5]

1

1

1X
BOOT_CONFIG_5BOOT_CFG2[6]100X
Note

The i.MX6 uses a large number of pins when selecting a boot source and configuration. Most of this has been taken care of on the Opal-6 module, with the small number of signals included on the interface to allow for selecting between SD/eMMC and USB. The Opal-6 module uses pull-up/down resistors to set up the balance of the signals, and you should ensure these are used as outputs only to avoid an external signal messing up the boot configuration. The signals are marked with * BOOT * on the schematics. Also, do not add external pull-up or pull-down resistors to any of these signals.

 

Connectors

Opal-6 uses 2 x 168-way Hirose FX10A-168S-SV.
The corresponding mating connector is: FX10A-168P-SV1(71).

JTAG

JTAG is not required, 10K pullups are still required on the following signals:

  • JTAG_nTRST (J2-62)
  • JTAG_nSRST (J2-63)

If these are not present your board may not boot.

Debug and Programming Connections

Even if you design does not need the following, we recommend you provide a way of accessing these connections in order to successfully debug during development and program during production.

Boot Switches

If your design boots from NAND flash, you should include at least the switch to enable USB boot for programming. Including switches to also allow SD boot will provide more options for programming during manufacture

We recommend you include the ability to boot from USB or external SD somewhere on your board as it can be a useful way of booting and programming devices during production.

Serial Port

One serial port should be accessible for debug. UART4 is used on our development kit so should be your first choice to minimize software changes.

USB OTG Port

This port should be available in USB function mode if your design boots from

NAND flash. This is required to program the flash

eMMC.

Ethernet

Ethernet is useful for download and debug, and

required

highly recommended for Windows Embedded Compact designs.

Layout Recommendations

The development kit schematics include layout recommendations and these should be added to your own design.

The development kit board is 8-layers and it is likely that you will need at least 6 layers - or more if your device includes a lot of I/O.  

Warning

When creating a PCB footprint, ensure:

  1. The location post holes are the correct size - one hole is 1.0 mm and the other is 0.9 mm in diameter.
  2. The location post holes are non-plated
  3. The distance between the connectors is exactly as specified.

Failure to do the above may result in the connectors not being located correctly relative to each other. This will cause stress on the connector and solder joints will break or become unreliable.

Panel
titleOn this page

Table of Contents