Minnowboard:MinnowMax

'''NEWS: Interested in Google Summer of Code with MinnowBoard.org? Please visit our MinnowBoard GSoC2015 Page!



Firmware

 * UEFI (Intel)
 * http://www.tianocore.org/edk2/ (Source)
 * http://firmware.intel.com/projects/minnowboard-max (Releases and Binary Blobs)
 * Source code is available from the TianoCore project, and can be browsed via the interface at http://edk2.bluestop.org/diffusion/UDK/
 * Coreboot
 * http://review.coreboot.org/gitweb?p=coreboot.git;a=commit;h=e6df041b8bf8e37debc0d6a871080b64eea7a372]
 * Coreboot build instructions
 * SageBIOS™ OSP for MinnowBoard MAX
 * Based on Coreboot
 * Commercially supported
 * http://www.se-eng.com/minnow/
 * ByoCore (Byosoft UEFI UDK2014)
 * http://www.byosoft.com.cn/pro8/index.htm
 * U-Boot
 * README.x86 in git tree
 * WinZent instant boot legacy BIOS for MinnowBoard Max
 * Boots in 0.56 seconds
 * CTRL-ALT-DEL from MS-DOS in 0.21seconds
 * http://www.winzenttech.com

Cases

 * For Sale:
 * Full Case
 * Netgate - MinnowBoard MAX Blue Enclosure


 * 3D Printable:
 * Half cases
 * John 'Warthog9' Hawley's
 * https://github.com/warthog9/minnowboardmax-case
 * http://www.thingiverse.com/thing:389100
 * http://www.shapeways.com/model/2205839/minnowboard-max-half-case.html?li=search-results&materialId=99
 * https://www.youtube.com/watch?v=WKLuHodiSfc

Accessories (Lures)

 * Information on Lures can be found on the MinnowBoard MAX Lure wiki page

Power Plug

 * North American Power Supply from Digikey - 5V@2.5A -CUI EPSA050250U-P5P-EJ
 * European Power Supply from Digikey - 5V@2.5A - CUI EPSA050250UE-P5P-EJ
 * Power Supply from Sparkfun - 5V@2A - TOL-12889
 * Power Supply from Adafruit - 5V@2A - PRODUCT-ID:276
 * Power Supply from SeeedStudio - 5V@2A SKU: POW06182B

NOTE: If you try to power both a MinnowBoard MAX AND a hard drive (spinning or SSD) off of the same power supply, please use a minimum of 3A supply, preferably 4A. Failure to do so will likely result in odd behavior of the MAX as the whole system may be pushed into a brown-out situation.

High Speed UART1
Available on the Low Speed Expansion this Uart is 16550 compatible and appears as /dev/ttyS4

CTS/RTS signaling is available

High Speed UART2
Available on the Low Speed Expansion this Uart is 16550 compatible and appears as /dev/ttyS5

D1 (LED)
This is the power indicator, when lit power is being supplied to the board

D2 (LED)
This is the On/Off status indicator. When lit the system is running.

HDMI
The MinnowMax uses a Type D micro-HDMI connector. This is a standard port, for which cables and adapters can be readily picked up from most electronics stores

HDMI CEC
While the MAX (from a hardware perspective) supports HDMI CEC, the signal is, unfortunately, not passed completely from the micro-hdmi connector to the CPU. This means we lack the ability to directly manipulate CEC from the A1 and A2 revisions of the hardware. It has been proposed that this be resolved in a later revision of the board, but it is unknown at which point (if it ever is) rectified.

Ethernet
The MinnowMax uses a Realtek RTL8111GS-CG PCIe based chipset to provide 10/100/1000 ethernet connection.

Performance
Results of some performance tests using iperf are available HERE.

Low Speed Expansion (Top)
The low speed connector uses 0.1" (2.54 mm) Male header pins in a 2 x 13 array, for a total of 26 pins. Pin 1 is the in the row closest to the power connector, and closest to the board edge. NOTE: All I/O on the Low Speed Expansion is at 3.3V levels.  THE PINS ARE NOT 5v TOLERANT

Layout
NOTE: Pins 5-26 are shown above with their PRIMARY configuration, any pin may be switched to being a generic GPIO as well. This would give a total of 22 GPIOs, with two of those being PWM capable.

High Speed Expansion (Bottom)
The High speed connector uses a TE Connectivity compatible 60-pin header. The generally recommended header is the 3-5177986-2, or the 60POS .8MM FH 8H GOLD part that rises 7.85mm, allowing for 3/8" standoffs at the corners to be used to attach the lure to the minnowboard.

Link to connector used: http://www.digikey.com/product-detail/en/5177985-2/A99190CT-ND/1894007. mating connectors are listed at the bottom but include:


 * A99196DKR-ND - CONN PLUG 60POS .8MM FH 5H GOLD
 * A115336-ND - CONN PLUG 60POS DL BRD/BRD VERT
 * 5179030-2-ND - CONN PLUG 60POS FH .8MM BRD-BRD
 * 5177984-2-ND - CONN PLUG 60POS VERT FH .8MM
 * A99215CT-ND - CONN PLUG 60POS .8MM FH 8H GOLD  '''<-- Recommended connector
 * A99209CT-ND - CONN PLUG 60POS .8MM FH 7H GOLD
 * A99203CT-ND - CONN PLUG 60POS .8MM FH 6H GOLD
 * A99196CT-ND - CONN PLUG 60POS .8MM FH 5H GOLD
 * A99215TR-ND - CONN PLUG 60POS .8MM FH 8H GOLD
 * A99209TR-ND - CONN PLUG 60POS .8MM FH 7H GOLD

GPIO Mapping
NOTE: The I2C pins have the same property as the pins in the Low Speed Expansion Header, in that their primary purpose is I2C, but can be switched to GPIO in the firmware. In firmware this is the I2C #6

SPI Header to Firmware flashing J1
This is a pinned out port to allow for external flashing of the boot spi. Dediprog and Flyswatter devices have been tested and verified to work with this.

Power Connection J2 (SIP2_FAN)
This is a 5V 2-pin pin out originally intended to be used for a CPU fan. The single core (E3815) and the dual core (E3825) however use passive heat sinks, and thus do not, under normal circumstances, need a fan. It is theoretically possible to pull upwards of 1A through this port, however you should refer to the released schematics to verify that number before attempting to use this for anything.

The pins have a 2.54mm pitch. These Screw Terminals 2.54mm Pitch are an example of a compatible component.

NOTE: This is not populated on the Single, or Dual core boards. This can be populated if needed, and will provide the above power

Layout
NOTE: If you are using an A0 board, the pinout is reversed. Always verify pin output, preferably with a multimeter, before using J2.

Switch Jumper J5
This pin is intended to allow for power toggling via a remote switch or relay. It is fundamentally no different than pressing SW1, and behaves identically.

NOTE: This is not populated, by default.

SATA LED J6
J6 header is allows for an external LED to be connected to the SATA interface's activity signal. when a LED is connected to this header it will blink based on the amount of SATA read/write activity.

NOTE: This is not populated, by default.

SD Card Write Protect J7
This is a jumper point, mostly available for debugging, that enables the sd card write protect explictily. This is not populated on production boards.

RTC Battery Holder
The RTC Battery Holder is not populated on the shipping boards, however it is a fairly simple part to add

Known Compatible parts:

NOTE: While the battery holder is not necessarily populated, it's also possible a resistor needed for the correct option may also be missing. Check MinnowBoard MAX RTC Hardware Known Issues

NOTE: The silkscreen on the MinnowBoard MAX is wrong for the polarity of the RTC battery it should be:



GPIO for 1GB vs 2GB
This is mostly for firmware development, but there is a specific GPIO set, at manufacture time, that determines 1GB or 2GB(or more) memory sizes.

GPIO_S5_5 is the GPIO that will determine the memory configuration. 0 - 1GB configuration 1 - 2/4GB configuration the 2GB and 4GB configurations are the same since the 4GB configuration is a double die of the 2GB. You only need to initialize enough memory in order for Linux to boot and program the I2C EEPROM.

How a firmware should initialize the board for memory given the above:
 * 1) Read the SPD, if it's valid use that and DO NOT do anything with the GPIO_S5_5 pin
 * 2) IF the SPD is invalid/empty, read GPIO_S5_5
 * 3) * If GPIO_S5_5 is 0 - use the hard coded 1GB configuration
 * 4) * If GPIO_S5_5 is 1 - use a hard coded 2GB configuration (even if the board has 4GB of memory)

Design Files
NOTE: All design files are released under Creative Commons CC-BY-SA (http://creativecommons.org/)

The MinnowBoard Max is intended to comply with all requirements and guidelines set forth by the Open Source Hardware Association (http://www.oshwa.org/)

A2

 * [[media:002-0004205_reva2_SCH_PUBLIC.pdf|Schematic (PDF)]]
 * [[media:MinnowMax_RevA2_dsn.zip|Schematic (Orcad DSN)]]
 * [[media:MinnowMax_RevA2_brd.zip|Board Layout (Allegro BRD)]]
 * [[media:MinnowMax_RevA2_mfg.zip|Gerbers]]
 * [[media:MinnowMax_RevA2_bom.zip|Bill of Materials]]

A1

 * [[media:MinnowMax_RevA1_sch.pdf|Schematic (PDF)]]
 * [[media:MinnowMax_RevA1_dsn.zip|Schematic (Orcad DSN)]]
 * [[media:MinnowMax_RevA1_brd.zip|Board Layout (Allegro BRD)]]
 * [[media:MinnowMax_RevA1_mfg.zip|Gerbers]]
 * [[media:MinnowMax_RevA1_bom.zip|Bill of Materials]]

MinnowBoard-MAX Open Bugs (Bugzilla)

 * Bugzilla: We currently use the YoctoProject Bugzilla instance at http://bugzilla.yoctoproject.org
 * Bug Triage link can be found at: https://wiki.yoctoproject.org/wiki/Minnow_Bug_Triage

Weak HDMI signal causing some monitors to not work
The MinnowBoard MAX was found to be missing a level shifter on a differential pair for the HDMI signal. This causes our HDMI signal to be marginal. For many monitors this isn't an issue and many folks don't see this issue. However this does mean several things WILL NOT work currently:


 * Non-passive adapters (un-powered VGA adapters being the big one)
 * Some HDMI Monitors

If you require a monitor to work, but it's not there is a work around that seems to resolve the issue for most folks. Specifically placing a POWERED HDMI switch between the MinnowBoard MAX and the display offsets the missing level shifter, as most powered HDMI switches do their own level shifting.

Bugzilla #7027 has more specific technical details about the issue

CPU Strapping issues
Some of the pins on the LSE and HSE, specifically those when switched into GPIO mode, can alter the way the CPU attempts to boot. In some cases the changes can prevent the system from successfully booting.
 * LSE - Pin 16 - GPIO_I2S_FRM
 * If set as GPIO (not native function) and pin is held low, de-selects SPI boot flash and firmware is not actually read from the on-board SPI flash

When using these pins, particularly on Lures, please be aware of the limitations.

Plate over High Speed Expansion Headers
There is a manufacturing issue that has occurred on some boards manufactured in early 2015, specifically a metal plate was being left covering the High Speed Expansion Headers (HSE). The general recommendation is to remove that plate, it is not expected to cause damage in the normal case.

Firmware
See the bug list, linked above.

NVRam issue
There are some reports of corruption of the UEFI firmware

Symptoms are no display, 2 leds on, and this serial output trace :

>>>>SecStartup >>>>MemoryInit Done >>>>BdsEntry

Hints :


 * https://dockr.eurogiciel.fr/blogs/embedded/tizen-minnowboard-max
 * http://lists.elinux.org/pipermail/elinux-minnowboard/Week-of-Mon-20140721/000203.html
 * http://lists.elinux.org/pipermail/elinux-minnowboard/Week-of-Mon-20140804/000236.html
 * http://irc.minnowboard.org/%23minnowboard.2014-08-07.log.html
 * http://lists.elinux.org/pipermail/elinux-minnowboard/Week-of-Mon-20140811/000309.html# Important - Firmware Update
 * https://bugzilla.yoctoproject.org/show_bug.cgi?id=6585#c26

Resources :


 * http://www.elinux.org/Minnowboard:SPI_Boot_flash : said to apply to Max
 * http://www.elinux.org/Minnowboard:Hardware_Revisions
 * MinnowBoard Bugs

This should be resolved in firmware's after 8/13/2014

Monitors
There is an issue with regards to some monitors not being able to display from the MinnowBoard MAX. Most monitors seem to be fine, but some will either completely not show a display (even at firmware boot-up) or may only show a display after the operating system is booting.

This turns out to be an issue with regards to HDMI vs. DVI detection and initialization. A work around is being added into the firmware to resolve this.

This is fixed in firmware's after 8/13/2014

There have been some additional reports that some monitors may still not be working in the FIRMWARE, but are working once the OS (Linux) comes up. This is likely related to the above issue concerning weak HDMI signals, please refer to that if you are continuing to have problems.

RTC

 * The RTC may not function correctly (when a battery is added) because resistor R278 (back side of the board) may be missing. Adding a 1K or 2K resistorshould resolve this.

USB
There is a potential issue when using a powered USB Hub. If the hub, erroneously, provides power over the USB 3 or USB 2 input connector, the MinnowBoard MAX will use that as power. This is in violation of the USB spec, and will be rectified in a later revision of the MinnowBoard MAX.

Hubs known to cause this:
 * iXCC 7 Port USB 3.0 Hub
 * Amazon Link
 * iXCC Website

It is suggested that you check powered USB hubs to confirm that they do not provide power back to the board, as described, and if a hub is found to do this, please report it here. A hub found to be doing this should be used without being externally powered if used at all.

NOTE: This is not an indication that hubs do not work, or that USB does not work. This is merely an indication that some powered hubs violate the USB spec, and there is a flaw (a diode that should be added) in the MAX design. USB Hubs work fine.

NOTE: This problem is caused by radio frequency interference from the USB3.0 connection. This seems to be a general USB3.0 issue. Information on this can be found at Intel.com
 * Another issue might appear if a wireless USB dongle operating at 2.4 GHz (e.g., a wireless receiver for input devices) is connected to the USB2.0 port together with an USB3.0 device attached to the USB3.0 host connector. In this case the device connected to the USB dongle can become unresponsive. A solution is to connect the dongle to the USB2.0 port using an extension cable or a USB hub.

MinnowBoard MAX Dual Core (E3825) w/ 2GB RAM

 * Export Control Classification Number (ECCN) = 5A002.a.1
 * CCATS number = G143235
 * ENC is Unrestricted