\documentclass[a4paper, 12pt]{article}
\usepackage{fullpage}
\usepackage[utf8]{inputenc}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,shapes}
\usepackage{multirow}
\usepackage{color}
\usepackage{amsmath}
\usepackage{textcomp}
\usepackage{times,mathptmx}
\usepackage{chngcntr}
\usepackage{hyperref}
\usepackage{enumitem}
\usepackage{scrextend}
%\usepackage[table]{xcolor}
\usepackage{listings}

\definecolor{light-gray}{gray}{0.95}
\lstset{columns=flexible, upquote=true, frame=single,
basicstyle=\footnotesize\ttfamily, backgroundcolor=\color{light-gray}, label=lst:init_src}


\title{\includegraphics[width=.3\textwidth]{img/diotLogo.png}\\ System Board ZU7\\[0.2cm]
\large{Production Test Procedure v1.0}}
\author{Greg Daniluk}
\date{20 December 2021}

\begin{document}

%\thispagestyle{empty}
%\begin{figure}[ht]
%\centering
%\includegraphics[width=.3\textwidth]{img/diotLogo.png}
%\end{figure}
\maketitle

\section{Introduction}
This document lists a step-by-step procedure to verify the functionality of newly produced DI/OT System Boards v2. It is an intermediate step before a proper Production Test Suite is developed for this project.

\section{Required test equipment}
\begin{itemize}
    \item DI/OT crate with COTS CPCI-S power supply (alternatively a 12V power supply with 4-pin Molex connector can be used).
    \item MicroSD card
    \item Boot image downloaded from: \url{https://ohwr.org/project/diot-sb-zu/wikis/PTS/Simple-PTS-Files}
    \item Gigabit copper SFP
    \item Ethernet cable
    \item Micro-USB cable for UART connection
    \item Xilinx or Digilent JTAG USB cable
\end{itemize}

\newpage
\section{Test procedure}
\begin{enumerate}
    \item Place jumper \textit{W1} to disable IRPS PMICs.
    \item Program both IRPS PMICs using Infineon PowIRCenter and verify that all outputs of both IRPS generate correct voltages.
    \item Remove jumper \textit{W1} to enable IRPS PMICs
    \item Connect JTAG cable to connector \textit{J7} and verify with Xilinx Vivado that Xilinx Zynq ZU7 is detected properly.
    \item Make sure that the first partition on MicroSD card is formatted to FAT (MS-DOS) filesystem and copy the two files downloaded from OHWR: \emph{BOOT.BIN}, \emph{image.ub}
    \item Connect to a UART console using a Micro-USB cable plugged to \emph{J2} - console configuration 115200/8-n-1.
    \item Set boot mode dip-switches (\emph{SW1}) to boot from SD card (OFF - ON - OFF - ON, figure below), insert MicroSD card into slot J10 and power-cycle the board.
    \begin{figure}[ht!]
        \centering
        \includegraphics[width=.5\textwidth]{img/boot_mode_sd.jpg}
    \end{figure}
    \item Login using credentials provided separately and execute \texttt{simple-pts.sh} command (execution time 2.5min). Expected output:
    \begin{lstlisting}
root@diot:~# simple-pts.sh 
---------------------------------
Checking sensors...
---------------------------------
DIOT diagnostic tool

OK     HW rev
OK     Temp sensors
OK     Voltage/Current sensors
OK     Clocks
All seems fine
Exiting...
---------------------------------
Checking network interface...OK.
---------------------------------
QSPI and eMMC...
---------------------------------
Erase QSPI...OK.
Copy BOOT.bin to QSPI...OK.
Creating eMMC partitions...OK.
Formatting eMMC partition 1...OK.
Formatting eMMC partition 2...OK.
Mounting eMMC partitions...OK.
Copying image.ub to eMMC...OK.
Copying SSH keys to eMMC...OK.
Copying logfile to eMMC...OK.
Everything done
    \end{lstlisting}
    \item Set boot mode dip-switches (\emph{SW1}) to boot from QSPI (ON - OFF - ON - ON, figure below) and power-cycle the board.
    \begin{figure}[ht!]
        \centering
        \includegraphics[width=.5\textwidth]{img/boot_mode_qspi.jpg}
    \end{figure}
    \item Check using Micro-USB UART console if Linux boots properly. Expected output at the end of the boot process:
    \begin{lstlisting}
PetaLinux 2019.2 diot /dev/ttyPS0

diot login: 
    \end{lstlisting}
\end{enumerate}

\end{document}

