Hardware Version Number¶
Each MitySOM-5CSx module has 10-bits of HPS General Purpose Inputs that are used to set a "Hardware Version" for each module. Each version is tied to a PCB version (I.E. 90-000211-x) which is etched into the copper of each module on the bottom side below where the Debug Adapter header (J2) is located.
Currently designated versions¶
Product Identifier | GPI9 | GPI8 | GPI7 | GPI6 | GPI5 | GPI4 | GPI3 | GPI2 | GPI1 | GPI0 |
90-000211-1 | X | X | X | X | X | X | X | X | X | X |
90-000211-2 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
90-000211-4 | S | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
90-000211-5 | TBD |
Note that "S" = Size of the FPGA fabric on the module. '1' = 6 (110KLE) or 5 (80KLE) and '0' = 4 (40KLE) or 3 (25 KLE)
Note that 90-000211-1 equates to modules with "Engineering" Silicon for the Cyclone V SoC from Altera.
Note that 90-000211-2 are production silicon modules with TC74 temperature sensors among other possible changes
Note that 90-000211-4 are production silicon modules with LM73 temperature sensors among other possible changes
For a detailed listing of changes to modules for each of above revisions please visit our Errata and PCN wiki page.
Information about the "GPIx" bits¶
The General Purpose Inputs that are used for these hardware version bits were chosen because they are connected to that same bank voltages as the HPS DDR memory at 1.35V which is not suitable for many external input uses.
Section 22 of the "Cyclone V HPS Technical Reference Manual" (http://www.altera.com/literature/hb/cyclone-v/cv_5v4.pdf) details these input only GPIO's. There are 14 in total however only 10 of them (0 to 9) have been designated for this hardware revision information.
Example Script to Read and compare the 10-bits from Linux¶
Please reference the GPIO Chip Mapping wiki page for the correlation between HPS GPIO numbers and their Linux GPIO identifiers.
#!/bin/sh # Reads the HW version from the GPIs EXPECTED_VER="1100000000" version="" for i in {184..193} do echo $i > /sys/class/gpio/export tStr=$(cat /sys/class/gpio/gpio$i/value) version=$tStr$version echo $i > /sys/class/gpio/unexport done echo "HW VERION: $version" echo "EXPECTED : $EXPECTED_VER" if [ "$version" = "$EXPECTED_VER" ]; then echo "CORRECT VERSION" else echo "FAILED: VERSION INCORRECT" fi;
Go to top