From 9b7e990d18d5f6212df6ea967428c28b802e1b64 Mon Sep 17 00:00:00 2001 From: Felix Singer Date: Wed, 22 May 2019 18:32:46 +0200 Subject: [PATCH] doc/mb/upsquared: Add documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This patch adds documentation about the UPĀ² mainboard and the IFWI used by Apollolake platform. Change-Id: Ic708ddbd2616eee4e5ec2740b3eac18b408bde38 Signed-off-by: Felix Singer Reviewed-on: https://review.coreboot.org/c/coreboot/+/32935 Tested-by: build bot (Jenkins) Reviewed-by: Patrick Rudolph --- Documentation/mainboard/up/squared/bottom.dia | Bin 0 -> 1112 bytes Documentation/mainboard/up/squared/bottom.jpg | Bin 38689 -> 48761 bytes .../up/squared/header_40pin_gpio_uart1.dia | Bin 0 -> 1853 bytes .../up/squared/header_40pin_gpio_uart1.svg | 126 +++++++++++++ .../up/squared/header_cn16_10pin_uart0.dia | Bin 0 -> 1752 bytes .../up/squared/header_cn16_10pin_uart0.svg | 112 ++++++++++++ .../up/squared/header_cn22_12pin_spi.dia | Bin 0 -> 2240 bytes .../up/squared/header_cn22_12pin_spi.svg | 165 ++++++++++++++++++ Documentation/mainboard/up/squared/index.md | 102 +++++++++-- .../soc/intel/apollolake/flash_layout.dia | Bin 0 -> 1988 bytes .../soc/intel/apollolake/flash_layout.svg | 122 +++++++++++++ Documentation/soc/intel/apollolake/index.md | 17 ++ Documentation/soc/intel/index.md | 1 + 13 files changed, 629 insertions(+), 16 deletions(-) create mode 100644 Documentation/mainboard/up/squared/bottom.dia create mode 100644 Documentation/mainboard/up/squared/header_40pin_gpio_uart1.dia create mode 100644 Documentation/mainboard/up/squared/header_40pin_gpio_uart1.svg create mode 100644 Documentation/mainboard/up/squared/header_cn16_10pin_uart0.dia create mode 100644 Documentation/mainboard/up/squared/header_cn16_10pin_uart0.svg create mode 100644 Documentation/mainboard/up/squared/header_cn22_12pin_spi.dia create mode 100644 Documentation/mainboard/up/squared/header_cn22_12pin_spi.svg create mode 100644 Documentation/soc/intel/apollolake/flash_layout.dia create mode 100644 Documentation/soc/intel/apollolake/flash_layout.svg create mode 100644 Documentation/soc/intel/apollolake/index.md diff --git a/Documentation/mainboard/up/squared/bottom.dia b/Documentation/mainboard/up/squared/bottom.dia new file mode 100644 index 0000000000000000000000000000000000000000..f298d669ab7f2ed9943adfe9c1161a4b5947b1c3 GIT binary patch literal 1112 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 W>Ph#-f51fQ_}WvZlKJJ&?EeA8zH%@C literal 38689 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 + + + + 40 pin GPIO header + + + GND + + + UART1 + TX + + + UART1 + RX + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 4 + + + 2 + + + 3 + + + 5 + + + 7 + + + 8 + + + 6 + + + 9 + + + 11 + + + 12 + + + 10 + + + + + + + + + + + + + + + + + diff --git a/Documentation/mainboard/up/squared/header_cn16_10pin_uart0.dia b/Documentation/mainboard/up/squared/header_cn16_10pin_uart0.dia new file mode 100644 index 0000000000000000000000000000000000000000..a35245b9cc4dd1d7e2bb1162a46f0c81c17b8410 GIT binary patch literal 1752 zcmV;}1}FI+iwFP!000021MQt%bE7sChVSz$81|-}$zmk&xm{;x(@xuq&bG6go#~xN zHi}Ibg9nrk-}JXv7!nKy+d&AzR-TDxY%Av=`F$TaNKxK@cw7g{J&6-P3a2X2bX6hY zBJ%ujIaR;j{QA~WKU`hB_k8@0{VZd=R@iTZN&0H4t|;BSn@k=a9<*SaU>e0*;NNKp znf!}`08dz>iF$RRDEk3COmX^N{w}68_UCt$C?Q^xsXE7tZ_7Bk3q3V!mA6|&K@=4I4a-$;;Et z`%M@0n=bA*ouAA$QA}g()5DbWC<+J;v#d0}Bkl7f3mhA`b|Nz9j@9+r2$N0JjVE4OKgw91=JPK|oC-MIsky;V6`?@|PKOX58I zb#a)9fT!^7)?PCB%UzhlT@r=HJIfFt&b_{$Y-4vyNzPFB&wtmcC7^x3Z7nUg|>t#t{w zbqOyWk-7w_F6~s85T&|wMa!~vf6kGmNL99sJ&$6K#HS8i*MOcqfZ^%@SOB(5=Z9?k zXXW!!ZQ*iztLxv7&mgzY46!~#h0n}hd}c_WNuPD@GsNvPORUe#!e@3bKC`6Hq|Z9{ znZfNdN3756!e?$TK6CzOK6{O-GQ(k)mEIQe;R~4z5avTa{w#H&oPbsF(T;SyGjQtJ39GrPyi* z71a*vrP@KV+Ia{%{6cR9C;RyaC!W$ zs>z$;SjRxuLa9lh1(|7d&DN34UOP6jTV|%|fSgzoRcX_N!rdCuQoG7> zQ_!&5^vDveruBYNNb54C?<==>?FUvq-6;nk)aI%H2HE>XH*)OH}B7?v`K^me;KYx{TEuW6P%f)c3s-bJaNA} zq-Kmm0R+?=20|C(BpCu9xKv)4F z92o#j2|(chgc5+G2B0+%0Qnbh7~%nFQ~+p<41k6Npl|>h5`d!ypgj-(`PT_q;sIz? z0BDU2fJg#RH~=jPz)=Ix83=&`DNN1|XCr@VEg82LhnW|L42n0az)4;n+%GM*>hd0A&e0ZUCZT00{Z_ zi4wmI23D5Az_BfZu_XY715hr588-lpfdJUShGgOa2sPb>W&uE`xw>tRXeG2R2`HR^ zavjXbmqHIjK-j?+Rsf0J!wRO?djM({w9u{qPOk?6(vXdu*N?y7KK(Kv|C~brzP*kD z?>jAoQ&~W`FG$J2UK!XCmQV*fShn3{?cA#}2RaN(faxv8lBoe3pcGR!yDWSCSo-?$ z^NoJ-`ESXlzGf*>tvHfRqi2)R!7kQfFPZe5O)zH@%GrcQ#ikp{rrxT@R4bBA<6+a0 z%`l+Z1)reUZT5G&VK|!OI554Twc8H^z}6eKoVOiDrC+rTT)7{{VEbW|Z-JOy-vT-2 z8LNwW1Bl%+zvLMs_Y4s2nR35s8%WO#<{3DkXY4L+9YV3U4ojY~`Z~{8r_M8$^vrOc zL4rNgR5v;u?96P5wTtZ{`_fErv}YTRK;2?F(;MyMm}pcseyHrK$H~_(*HBpz?2%ac u;pb1l`cYPsef>>7lMIwIk*}zl%wF&Q2jSI4>7Nu{UHk{z;$=C=cmMzi4@pn} literal 0 HcmV?d00001 diff --git a/Documentation/mainboard/up/squared/header_cn16_10pin_uart0.svg b/Documentation/mainboard/up/squared/header_cn16_10pin_uart0.svg new file mode 100644 index 0000000000..43efc77ac5 --- /dev/null +++ b/Documentation/mainboard/up/squared/header_cn16_10pin_uart0.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + + + 2 + + + 5 + + + 4 + + + 3 + + + 6 + + + 9 + + + 8 + + + 7 + + + 10 + + + GND + + + UART0 + RX + + + UART0 + TX + + + + + + + + + + + + + + + + + + 10 pin UART0/USB2 header (CN16) + + diff --git a/Documentation/mainboard/up/squared/header_cn22_12pin_spi.dia b/Documentation/mainboard/up/squared/header_cn22_12pin_spi.dia new file mode 100644 index 0000000000000000000000000000000000000000..ab556ff819f31430b28c7c92e58e6574dfa68886 GIT binary patch literal 2240 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 Oe)1oF4l#B;vj6~U^)e{{ literal 0 HcmV?d00001 diff --git a/Documentation/mainboard/up/squared/header_cn22_12pin_spi.svg b/Documentation/mainboard/up/squared/header_cn22_12pin_spi.svg new file mode 100644 index 0000000000..7853fb7e7c --- /dev/null +++ b/Documentation/mainboard/up/squared/header_cn22_12pin_spi.svg @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 9 + + + 5 + + + 7 + + + 8 + + + 1 + + + 4 + + + 3 + + + 2 + + + 6 + + + 11 + + + 12 + + + 10 + + + SPI header (CN22) + + + + + + + + + + + + + GND + + + GND + + + + + + + + MISO + + + + + + + + VCC + 1.8V + + + #HOLD + + + + + + + + + + + + + CLK + + + + + + + + MOSI + + + + + + + + #CS + + diff --git a/Documentation/mainboard/up/squared/index.md b/Documentation/mainboard/up/squared/index.md index dcf3ed192d..9242f76d8d 100644 --- a/Documentation/mainboard/up/squared/index.md +++ b/Documentation/mainboard/up/squared/index.md @@ -7,6 +7,12 @@ ### Bottom ![][overview_bottom] +* **Legend** + * [BLUE][header_cn16_link]: UART0 / USB connector + * [GREEN][header_gpio_link]: UART1 / GPIO header + * [RED][header_cn22_link]: SPI header + * YELLOW: Indicates pin 1 + ## Mainboard components ### Platform ```eval_rst @@ -46,6 +52,79 @@ +---------------------+------------+ ``` +### Debugging +#### UART0 (CN16) +This connector is located on the **bottom** side (see [here][overview_bottom_link]). +![][header_cn16] + + +#### UART1 (GPIO header) +The GPIO header is located on the **bottom** side (see [here][overview_bottom_link]). +![][header_gpio] + +## Building and flashing coreboot +### Using the SPI header +The SPI header is located on the **bottom** side (see [here][overview_bottom_link]). +![][header_cn22] + +### Preperations +In order to build coreboot, it's neccessary to extract some files from the vendor firmware. Make sure that you have a fully working dump. +```bash +[upsquared]$ ls +firmware_vendor.rom +``` + +```bash +[upsquared]$ mkdir extracted && cd extracted +[extracted]$ ifdtool -x ../firmware_vendor.rom +File ../firmware_vendor.rom is 16777216 bytes +Peculiar firmware descriptor, assuming Ibex Peak compatibility. + Flash Region 0 (Flash Descriptor): 00000000 - 00000fff + Flash Region 1 (BIOS): 00001000 - 00efefff + Flash Region 2 (Intel ME): 07fff000 - 00000fff (unused) + Flash Region 3 (GbE): 07fff000 - 00000fff (unused) + Flash Region 4 (Platform Data): 07fff000 - 00000fff (unused) + Flash Region 5 (Reserved): 00eff000 - 00ffefff + Flash Region 6 (Reserved): 07fff000 - 00000fff (unused) + Flash Region 7 (Reserved): 07fff000 - 00000fff (unused) + Flash Region 8 (EC): 07fff000 - 00000fff (unused) +``` + +```bash +flashregion_0_flashdescriptor.bin +flashregion_1_bios.bin +flashregion_5_reserved.bin +``` + +### Clean up +```bash +[coreboot]$ make distclean +``` + +### Configuring +```bash +[coreboot]$ touch .config +[coreboot]$ ./util/scripts/config --enable VENDOR_UP +[coreboot]$ ./util/scripts/config --enable BOARD_UP_SQUARED +[coreboot]$ ./util/scripts/config --enable NEED_IFWI +[coreboot]$ ./util/scripts/config --enable HAVE_IFD_BIN +[coreboot]$ ./util/scripts/config --set-str IFWI_FILE_NAME "" +[coreboot]$ ./util/scripts/config --set-str IFD_BIN_PATH "" +[coreboot]$ make olddefconfig +``` + +### Building +```bash +[coreboot]$ make +``` + +Now you should have a working and ready to use coreboot build at `build/coreboot.rom`. + +### Flashing +```bash +[coreboot]$ flashrom -p -w build/coreboot.rom +``` + ## Board status ### Working - bootblock, romstage, ramstage @@ -78,22 +157,13 @@ - mini PCIe - flashing with flashrom internally using Linux -## Building and flashing coreboot -### Building - -```bash -make distclean -touch .config -./util/scripts/config --enable VENDOR_UP -./util/scripts/config --enable BOARD_UP_SQUARED -./util/scripts/config --enable NEED_IFWI -./util/scripts/config --enable HAVE_IFD_BIN -./util/scripts/config --set-str IFWI_FILE_NAME "" -./util/scripts/config --set-str IFD_BIN_PATH "" -make olddefconfig -``` - -### Flashing +[header_cn16]: header_cn16_10pin_uart0.svg +[header_cn16_link]: #uart0-cn16 +[header_cn22]: header_cn22_12pin_spi.svg +[header_cn22_link]: #using-the-spi-header +[header_gpio]: header_40pin_gpio_uart1.svg +[header_gpio_link]: #uart1-gpio-header [overview_top]: top.jpg [overview_bottom]: bottom.jpg +[overview_bottom_link]: #bottom diff --git a/Documentation/soc/intel/apollolake/flash_layout.dia b/Documentation/soc/intel/apollolake/flash_layout.dia new file mode 100644 index 0000000000000000000000000000000000000000..4ea544061906b947349655474bda2427b7464dcc GIT binary patch literal 1988 zcmV;#2Rry5iwFP!000021MQt#bDKC6fZy{g824p&CY6zdK(tLdb(%~w+r~Rhy4yDo zwiSmhh76EfANIGe04K&azRHr#R-Q>_!19p-M~!b+XRm4F{qe!OzVE%^e}mW?8vGMsk{um2ZqoGjO|$v%@Bo6R#7mm2)rh5)NC9d7)Dt@-%Gvh+~};Arm^3>OPLXRLw3~Ydc7ZmIJyh_jiS}4T`vlv z*tqwCqsFW2{MBfV#55=5ERcQc4Olm3-jDgBP5yG-O+??acv|f6HcEWnBz?M_X);Gn z_P^9-)GFbP!ol&Y57w(#FT8P}^OswmU!R+(vO4dwx3GWjBff=7mMCX?({v?ARC#@A1b4S3@Cf?)K29j4-nP_At2f`z%?q%qH8+k#sX^)?9Ygr`xT1VTw~z zn|0nr;61T;B)&D?rj5}J9$6g2>!tqv^HJ%VMBRT_FC9(xGWEi~7x#_VMk{)3j2VOz zh~GbIw9UzjH9b8pjN8GPt92W_EGY~R$@J`JZO1&>-R`vLm=E3y2LT(2H-U@Dp_ToA zYni}w$RW-CZ`LOZ*s#-!;&2ubwlb$&er`r)=k;ttTmjKH%pcsO^JU}BWOt*u&*EhR zHvuGO{vxhzTDE1;&ALl&qK8fefiB-(t4%?3yzW;}ge&%#mNWs5Gyw{00s-XE22!;F z0@txI?*$^8D+G3diLk?use?Dwi8Q+&ORWD?n|b#&$K{E3Q)K<|^sn=i)6VJltJ90i z^Y+CY&R(!N%_E&COshK1&KuX>&<~#Y_`EP_7)kn+Sy9SOVDZ^cEVyT>-}7F#qM%_ll zHH~659UxJg2#HiWfL4hPxN%fM2b<4n6*_>n#)Eyt11zcv2up?ogaE|kg$)n})F$;o zgVuTbQsaOc9LU$AhJm`m0NM!*Si&%X`>pUMW>Mra$cL9_r)DmvOLBT?yD zfWm2smMJ$a(JiMXVl}ab&F7?J4g2p`n4<~8X^GH2gsx1l0x7&~wD7XIxi0YCQ?{3F z^J!^qsBe<4ct)B7`0_O6I@)Yt(X5j!^!Ao(20__T7I@o#C)?SV4}WSWn<6LMXfbAy zH|=Jtp_>iDokZTCcs3%EO9cp)sQ@{Os6b#^t55;aRIry+Ae@?pEcsNxSN|9akPT|Y z1Sjo_%l79}jRlI*b1jVp^~M6c8!Qk`Ohk@kEU?R1fQc$BaHL`Z)mX5XSYU6VxLr0B zI3*~+R=uF$>uIaqzWVK?b$0o?W&=f)yik)toymagh76o-#M@<(0k+CyU?D|hATX^} z$iUHLu$N>YoS}xPe1}2y&;|>S@xX$>A~voMA!H@Joo^T4Em}W+$?>F%O$>}c!GiwUrTCb;}n~?usIUm;5eCuT#uUGO5cUkj`gwr%F*;&gLfVK-?Y(^G_B+@O$)U2u-Xp5mO z#&+TfXum8*wdX-NlTk8TOcXt;s(I8UkH4bRK{$(1LB*pDD6|oI2}MuFHOgLWx35~C+b4f$Fi`f$QOyN4<^pG@;RtsNzf~qT907q{b}mAq!nrs#tLg^! z!UkxGYY`&tSo|d)EGXhww09Yaz~=tD7sruHhyYd*xm*^ww6&qohGH8Y15>G?D30@A WRX;wM_}TU2gZ}_x?y9Dmg#Z9nfx=G! literal 0 HcmV?d00001 diff --git a/Documentation/soc/intel/apollolake/flash_layout.svg b/Documentation/soc/intel/apollolake/flash_layout.svg new file mode 100644 index 0000000000..9322875d90 --- /dev/null +++ b/Documentation/soc/intel/apollolake/flash_layout.svg @@ -0,0 +1,122 @@ + + + + + + + + + DEVICE_EXTENSION + + + + + + + BIOS + + + + + + + IFD + + + + + + + IFWI + + + + + + + + + + + + + + + + + + + + + FMAP + + + + + + + CONSOLE + + + + + + + COREBOOT(CBFS) + + + + + + + BIOS_UNUSABLE + + + + + + + MRC + + + + + + + OBB + + + + + + + + + + + + + + + + + TXE + + + + + + + BOOTBLOCK + + + + + + + + + + + + diff --git a/Documentation/soc/intel/apollolake/index.md b/Documentation/soc/intel/apollolake/index.md new file mode 100644 index 0000000000..d4a5ee51ae --- /dev/null +++ b/Documentation/soc/intel/apollolake/index.md @@ -0,0 +1,17 @@ +# Apollolake +## SPI flash layout + +![][apl_flash_layout] + +With Apollolake Intel invented another flash layout for x86 firmware called IFWI (Intel FirmWare Image). + +Usually on x86 platforms the bootblock is stored at the end of the bios region +and the Intel ME / TXE has its own IFD region. On Apollolake both have been +moved into the IFWI region, which is a subregion of "BIOS", since it allows to +store multiple firmware components. + +The IFWI region can be manipulated by `ifwitool`. + +[apl_flash_layout]: flash_layout.svg + + diff --git a/Documentation/soc/intel/index.md b/Documentation/soc/intel/index.md index 86f4de7155..f30ff9a1d6 100644 --- a/Documentation/soc/intel/index.md +++ b/Documentation/soc/intel/index.md @@ -9,3 +9,4 @@ This section contains documentation about coreboot on specific Intel SOCs. - [Ice Lake/9th Gen Core-i series](icelake/index.md) - [MP Initialization](mp_init/mp_init.md) - [Firmware Interface Table](fit.md) +- [Apollolake](apollolake/index.md)