Opal Design Guide
- Martin Welford
This page provides specific information to consider before you start your Opal 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.MX53 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.MX53 "Software & Tools" tab, under "Snippets, Boot Code, Headers, Monitors, etc.") which makes it easy to sort through these options.
For Opal 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
We support booting Opal from:
- SD card using controller 1 or 3
- NAND flash
- USB (for programming NAND flash)
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 | SD Boot |
---|---|---|---|
BOOT_MODE[1] |
| Main boot setting: 00 Boot from NAND/SD 11 Boot from USB |
|
BOOT_MODE[0] |
|
|
|
EIM_A22 | BOOT_CFG1[7] | 1 | 0 |
EIM_A21 | BOOT_CFG1[6] | 0 | 1 |
EIM_A20 | BOOT_CFG1[5] | 0 | 0 (SD boot) |
EIM_A19 | BOOT_CFG1[4] | 0 | 0 |
EIM_A18 | BOOT_CFG1[3] | Address cycles:00: 301: 410: 511: 6 | 1 |
EIM_A17 | BOOT_CFG1[2] |
| 0 |
EIM_A16 | BT_FREQ | 0 | 0 |
EIM_LBA | BT_MMU_ENABLE | 1 | 1 |
EIM_EB0 | BOOT_CFG2[7] | Page Size:00: 512 bytes01: 2KBytes10: 4Kbytes + 128Byte 11: 4Kbytes + 218Byte | X |
EIM_EB1 | BOOT_CFG2[6] |
| X |
EIM_DA0 | BOOT_CFG2[5] | 0 | 1 |
EIM_DA1 | AXI/DDR Freq | 1 | 1 |
EIM_DA2 | OSC_FREQ_SEL | 1 | 1 |
EIM_DA3 | BOOT_CFG2[2] | 1 | 1 |
EIM_DA4 | BOOT_CFG3[7] | 1 | X |
EIM_DA5 | BOOT_CFG3[6] | 0 | X |
EIM_DA6 | BOOT_CFG3[5] | 0 | 0: ESDHC11: ESDHC3 |
EIM_DA7 | BOOT_CFG3[4] | ECC/Spare select | 0 |
EIM_DA8 | BOOT_CFG3[3] |
| 0 |
EIM_DA9 | BOOT_CFG3[2] | Pages in block00: 3201: 6410: 12811: 256 | X |
EIM_DA10 | BOOT_CFG3[1] |
| X |
Please contact use for specific NAND flash parameters, or if you want to boot from MMC card.
Display setup
Please contact us if you intend to use the dual-display feature. There are certain combinations that may not be supported in the current software implementation.
Connectors
Opal 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 | 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. |
---|---|
Serial Port | One serial port should be accessible for debug. UART4 is used on our development kit so should be your first choice. |
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. |
Ethernet | Ethernet is useful for download and debug, and required for Windows Embedded Compact designs. |
Layout Recommendations
The development kit schematics include layout recommendations and these should be added to your own design.
When creating a PCB footprint, ensure:
- The location post holes are the correct size - one hole is 1.1 mm and the other is 1.2 mm in diameter.
- The location post holes are non-plated
- 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.
Critical Signal summary
The following list includes all the signals that must be connected in order for an Opal design to function.
Pin | Name | Notes |
---|---|---|
Power |
|
|
B-159 to B-168 | DCIN | 5V power in. You can also power from VBUS if running from a battery and you need USB charging. |
Various on A and B connectors | GND | Connect all GND signals on both connectors to GND. |
B-23 | VDDCORE | Pull-up the power button signal with this rail. |
A-6 to A-10 and | VBAT | This signal requires a 47uF capacitor if no battery is connected. We recommend you always include this as Opal will not boot without it or a battery connected. |
B-4 | VBBAT | This signal requires a 2.2uF (or greater) capacitor if no backup battery is connected. |
B-8 | VLDO3_3V3 | Required for pull-ups on SD card signals. |
Boot Signals |
|
|
B-53 | BOOT_MODE[1] | Refer to the Designing section and ensure that each of these is pulled up or down depending on your chosen boot source. |
B-52 | BOOT_MODE[0] |
|
A-14 | EIM_A22 |
|
A-15 | EIM_A21 |
|
A-156 | EIM_A20 |
|
A-16 | EIM_A19 |
|
A-153 | EIM_A18 |
|
A-157 | EIM_A17 |
|
A-155 | EIM_A16 |
|
B-119 | EIM_LBA |
|
B-49 | EIM_EB0 |
|
B-118 | EIM_EB1 |
|
B-120 | EIM_DA0 |
|
B-113 | EIM_DA1 |
|
B-50 | EIM_DA2 |
|
B-123 | EIM_DA3 |
|
B-114 | EIM_DA4 |
|
B-112 | EIM_DA5 |
|
B-122 | EIM_DA6 |
|
B-111 | EIM_DA7 |
|
B-121 | EIM_DA8 |
|
B-47 | EIM_DA9 |
|
B-115 | EIM_DA10 |
|
B-141 | nONKEY/KEEPACT | Pull-up to VDDCORE with 10k resistor and include button to pull low to GND to power on the board |
B-33 | nRESET | Connect to reset button which pulls to GND to reset the board. |
Debug |
|
|
B-76 | USB_OTG_DP | USB boot is required to program NAND flash. |
B-77 | USB_OTG_DN |
|
B-81 | USB_OTG_ID | This signal must be floating for USB to operate in function mode. |
B-82 | USB_OTG_VBUS | Connect to the 5V pin on the USB Function/OTG connector |
A-29 | UART4_RXD | UART4 is the standard UART used on the development kit. You can use another UART, but need to have this available to support debug for your operating system. |
A-36 | UART4_TXD |
|
Depends on Port Selected | SD Card | Ensure that ESDHC1 or ESDHC3 are connected if booting from SD Card is required. Pull-up signals with VLDO3_3V3. |
A-79 | ETHERNET_RX+ | It is recommended that Ethernet be connected as per the development board to enable download/debug of operating system and applications. |
A-78 | ETHERNET_RX- |
|
A-83 | ETHERNET_TX+ |
|
A-82 | ETHERNET_TX- |
|
A-80 | LED0 |
|
A-81 | LED1 |
|
Ethernet MAC addresses
Opal modules do not include a MAC address. We can supply a small number from our block for prototypes, however you will need to purchase addresses for production quantities.
These can be purchased through IEEE. There are two options for doing so:
- IAB which gives you 4096 addresses: http://standards.ieee.org/develop/regauth/iab/
- OUI if you need more: http://standards.ieee.org/develop/regauth/oui/index.html