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.
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:
- Opal-6 SoM IOMux File (in development)
- Opal-6 Development Kit IOMux File (in development)
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.
Settings for the table below are: 0=pull down, 1=pull up, X=don't care
| | | | USB Boot |
---|
BOOT_MODE0 | | 0 | 0 | 1 |
BOOT_MODE1 | | 1 | 1 | 0 |
BOOT_CONFIG_1 | BOOT_CFG1[5] | 1 | 0 | X |
BOOT_CONFIG_2 | BOOT_CFG2[3] | 1 | 1 | X |
BOOT_CONFIG_3 | BOOT_CFG2[4] | 1 | 0 | X |
BOOT_CONFIG_4 | BOOT_CFG2[5] | 1 | 1 | X |
BOOT_CONFIG_5 | BOOT_CFG2[6] | 1 | 0 | X |
Connectors
Opal-6 uses 2 x 168-way Hirose FX10A-168S-SV.
The corresponding mating connector is: FX10A-168P-SV1(71).
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 | 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 eMMC. |
---|
Ethernet | Ethernet is useful for download and debug, and 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.
Add Comment