\begin{longtable}
-{ p{3cm} l c c p{6cm} }
+{ p{4.5cm} l c c p{6cm} }
\toprule
\textbf{Register} & \textbf{Addr} & \textbf{Bit} & \textbf{Content} & \textbf{Description} \\
\midrule
\endfoot
\endlastfoot \textbf{FlashRAM}\hfill(rw) & 0x4X & & & Mapped flash page (16 bytes in total)\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
\textbf{FlashAddress}\hfill(w) & 0x50 & 15-0 & & For mode 1 \\
+\midrule
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
\textbf{FlashCommand}\hfill(w) & 0x51 & & & For mode 1 \\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & 3-1 & & (bit 0: don't care) \\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 0x0 & Read a page from flash and store it in RAM\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 0x4 & Write a page from RAM to flash\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 0x8 & Enable flash (address: don't care) \\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 0xA & Disable flash (address: don't care) \\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 0xE & Erase user of config flash, depending on EnableCfg \\
-
+\midrule
%\rowcolor{light-gray}
\textbf{FlashAccess}\hfill(w) & 0x50 & & & For mode 0 \\
%\rowcolor{light-gray}
\quad Flash command\hfill & & 15-13 & & command like above\\
\quad Flash address\hfill & & 12-0 & & \\
+\midrule
+\textbf{FlashMaster} & 0x5B & & & \\
+\quad MasterStart \hfill{rw} & & 0 & & Starts the flash master by hand, which unpacks the user flash and writes the local registers or vice versa\\
+\quad MasterReadback \hfill{rw} & & 1 & & Enables readback from registers, i.e. =0: write from flash to registers, =1: write from register to flash \\
+\quad MasterErase \hfill{r} & & 2 & & Erase flash before writing \\
+\quad MasterRun \hfill{r} & & 3 & & is =1 while the master is running \\
+\quad MasterReadbackNum \hfill{rw} & & 7-4 & & Number of registers to be read back -1 (e.g. 0xf means 16 registers) \\
+\quad MasterReadbackReg \hfill{rw} & & 15-8 & & Start adress of register array to be read back \\
+\midrule
+%\rowcolor{light-gray}
\textbf{FlashCtrl} & 0x5C & & & \\
+%\rowcolor{light-gray}
\quad EnableCfg \hfill{rw} & & 0 & & Enable config flash \\
\quad FlashErr \hfill{r} & & 1 & & Flash error \\
\quad FlashBusy \hfill{r} & & 2 & & Flash busy (e.g. after erase) \\
-\quad MasterStart \hfill{w} & & 3 & & Starts the flash master by hand, which unpacks the user flash and writes the local registers \\
-\quad MasterRun \hfill{r} & & 4 & & is =1 while the master is running \\
\quad FlashMode \hfill{w} & & 8 & & flash mode \\
& & & 0x0 & Mode 0 (13 bit address) \\
& & & 0x1 & Mode 1 (16 bit address) \\
+\midrule
-
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
\textbf{FlashPageBurst} & 0x5D & & & Can be used to perform multiple reads on the flash page (0x4X) \\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
\quad MemWidth \hfill{w} & & 1-0 & & Can be used to pack multiple flash bytes into one data word on SPI/UART (requires sufficient buswidth)\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 00 & 8 bit\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 01 & 16 bit\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 10 & 32 bit\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
\quad Endian \hfill{w} & & 4 & & \quad \\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 0 & Little endian\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
& & & 1 & Big endian\\
-\rowcolor{light-gray}
+%\rowcolor{light-gray}
\quad NumWords \hfill{w} & & 11-8 & & Number of data words (values 1 \dots 3), determines how many data words written to SPI/UART with one single read command. 0: burst disabled.\\
+\midrule
+%\rowcolor{light-gray}
\textbf{Debug} & 0x5D-0x5F & & & Reserved for debugging\\
\bottomrule
\caption{Status and Control registers of the flash controller}\label{tab:AdditionalModulesFlash}\end{longtable}