From c1caa33a2de16c0ffc2061467c66297f347a65f2 Mon Sep 17 00:00:00 2001 From: Maxim Polyakov Date: Mon, 17 Jun 2024 22:22:14 +0300 Subject: mb/asrock: Add Asrock Industrial IMB-1222 motherboard ASRock IMB-1222 Intel Comet Lake-S Q470E industrial thin mini-ITX motherboard [1]. Working: - Dual Channel DDR4 2933/2666/2400 MHz; - Intel UHD Graphics (VGA Option ROM, libgfxinit, GOP driver); - DP (both), HDMI; - PCIe x16 Slot (Gen3); - SATA ports; - USB 2.0 ports; - USB 3.2 ports; - M.2 Key-E 2230 slot for Wireless (PCIe x1, USB 2.0 and CNVi); - M.2 Key-B 3042/3052 slot for 4G/5G modem (PCIe x1); - M.2 Key-M 2242/2260/2280 for SSD/NVMe (PCIE x4, SATA3); - LAN1 Intel I225LM/I225V, 10/100/1000/2500 Mbps; - LAN2 Intel I219LM, 10/100/1000 Mbps; - Realtek ALC887 HD Audio (line-out, mic-in); - COM 1/2/3/4 ports; - onboard speaker; - HWM/FANs control (fintek f81966); - S3 suspend and wake; - TPM; - disabling ME with me_cleaner [2]; Payload: - Linux as payload; - LinuxBoot; - SeaBIOS; - edk2 [3]. Bootable OS: - Ubuntu 22.04 (Linux 6.5.0-15-generic); - Ubuntu 24.04 (Linux 6.8.0-41-generic); - Microsoft Windows 10 Pro (10.0.19045.4780, 22H2 2022); - Andoid 13, Bliss OS x86_64 (16.9.7, Linux 6.1.112-gloria-xanmod1). Unknown/untested: - USB3.0 in M.2 Key-B 3042/3052 slot; - eDP/LVDS; - PCIe riser cards; - SPDIF. There is no schematic/boardview, reverse engineering only. This port is based on system76/bonw14 because it has a similar topology. [1] https://web.archive.org/web/20220924171403/https:// www.asrockind.com/en-gb/IMB-1222 [2] XutaxKamay's me_cleaner fork, https://github.com/XutaxKamay/me_cleaner, v1.2-9-gf20532d [3] MrChromebox's edk2 fork, https://github.com/mrchromebox/edk2 uefipayload_2408 branch Change-Id: Id2b4c903546f9174b5e7dd26e54a0c5aaa09e1f8 Signed-off-by: Maxim Polyakov Reviewed-on: https://review.coreboot.org/c/coreboot/+/83107 Reviewed-by: Felix Singer Tested-by: build bot (Jenkins) --- Documentation/mainboard/asrock/imb-1222.md | 198 +++++++++++++++++++++++++++++ Documentation/mainboard/index.md | 1 + 2 files changed, 199 insertions(+) create mode 100644 Documentation/mainboard/asrock/imb-1222.md (limited to 'Documentation/mainboard') diff --git a/Documentation/mainboard/asrock/imb-1222.md b/Documentation/mainboard/asrock/imb-1222.md new file mode 100644 index 0000000000..b4238b9a13 --- /dev/null +++ b/Documentation/mainboard/asrock/imb-1222.md @@ -0,0 +1,198 @@ +# ASRock Industrial IMB-1222 Thin Mini-ITX Motherboard + +This page describes how to run coreboot on the [ASRock IMB-1222]. + +## Technology + +```{eval-rst} ++------------+---------------------------------------------------------------+ +| CPU | Intel 10th Gen (Comet lake-S) Core Processors (LGA-1200) | +| | CPUs over 80W will be limited due to power design | ++------------+---------------------------------------------------------------+ +| DRAM | 2 SO-DIMM slots, DDR4 2933/2666/2400 MHz | ++------------+---------------------------------------------------------------+ +| Chipset | Intel Q470E | ++------------+---------------------------------------------------------------+ +| Super I/O | Fintek F81966 | ++------------+---------------------------------------------------------------+ +| TPM | Infineon SLB 9670VQ2.0 | ++------------+---------------------------------------------------------------+ +| Boot | USB, SATA, NVMe | ++------------+---------------------------------------------------------------+ +| Power | Laptop Power Supply: | +| | - 12V DC-in (IMB-1222) | +| | - 12V~28V DC-in (IMB-1222-WV) | ++------------+---------------------------------------------------------------+ +``` + +```text ++--------------+ +---------------------------+ +---------------+ +| eDP |------------------------| |----| DDR4 SODIMM | ++--------------+ | | +---------------+ ++--------------+ +--------------+ | | +---------------+ +| HDMI |----| ITE IT6563 |----| |----| DDR4 SODIMM | ++--------------+ +--------------+ | | +---------------+ ++--------------+ | Intel 10th Gen | +| Display Port |------------------------| (Comet lake-S) | ++--------------+ | Core Processors | ++--------------+ | LGA-1200 | +| Display Port |------------------------| | ++--------------+ | | ++--------------+ +--------------+ | | +---------------+ +| LVDS |----| CH7511B-BF |----| |----| PCIe Gen3 x16 | ++--------------+ +--------------+ +---------------------------+ +---------------+ + | + | ++------------------+ +---------------------------+ +---------------+ +| 4 x USB 3.2 Gen1 | | | | 2 x SATA | +| Connector |--------------------| |----| Connector | ++------------------+ | | +---------------+ ++------------------+ | | +---------------+ +| 2 x USB 3.2 Gen1 | | | | M.2 KeyM SATA | +| Header |--------------------| Intel Q470E PCH |----| PCIe Gen3x4 | ++------------------+ | | +---------------+ ++--------------+ | | +---------------+ +| 2 x USB 2.0 | | | | M.2 Key E | +| Header |------------------------| |----| PCIe Gen3 x1/ | ++--------------+ | | | CNVi/USB2.0 | ++--------------+ +--------------+ | | +---------------+ +| RJ45 |----| I225LM/I225V |----| | +---------------+ ++--------------+ +--------------+ | | | M.2 Key B | ++--------------+ +--------------+ | |----| PCIe Gen3 x1/ | +| RJ45 |----| I219LM |----| | | USB3.0/USB2.0 | ++--------------+ +--------------+ | | +---------------+ ++--------------+ +--------------+ | | +---------------+ +| Mic-in | | Realtek | | | | TPM INFINEON | +| Line-out |----| ALC887 |----| |----| SLB 9670VQ2.0 | +| SPDIF | +--------------+ | | +---------------+ ++--------------+ | +---------------------------+ + +--------------+ | + | ALC122 | | LPC + +--------------+ +--------------+ ++-----------------------+ +--------------+ | | +------------+ +| 2 x COM RS232/422/482 |---| ST3243E |---| Fintek |----| CPU FAN x1 | ++-----------------------+ +--------------+ | F81966 | +------------+ ++-----------------------+ +--------------+ | SuperIO | +------------+ +| 2 x COM RS232 |---| ST3243E |---| |----| NCT 3941SA | ++-----------------------+ +--------------+ +--------------+ +------------+ + | | + +--------------+ +------------+ + | 8 x GPIO | | CHA FAN x1 | + +--------------+ +------------+ + +``` + +This port was created without a schematic/boardview, reverse engineering only. +Feel free to make changes. + +## Building coreboot + +The following commands will help quickly configure and build a project for this board: + +```bash +make distclean +touch .config +./util/scripts/config --enable VENDOR_ASROCK +./util/scripts/config --enable BOARD_ASROCK_IMB_1222 +make olddefconfig +make +``` + +## Payloads + +```{eval-rst} ++---------------+------+---------+-----------+ +| OS / Payload | EDK2 | SeaBIOS | LinuxBoot | ++===============+======+=========+===========+ +| Ubuntu 22.04 | V | V | V | ++---------------+------+---------+-----------+ +| Ubuntu 24.04 | V | V | V | ++---------------+------+---------+-----------+ +| Windows 10 | V | | | ++---------------+------+---------+-----------+ +| Android 13 | | V | | ++---------------+------+---------+-----------+ +``` + +- LinuxBoot/Linux as payload; +- SeaBIOS (1.16.3); +- edk2 [MrChromebox fork] (uefipayload_2408). + +- Ubuntu 22.04 (Linux 6.5.0-15-generic); +- Ubuntu 24.04 (Linux 6.8.0-41-generic); +- Microsoft Windows 10 Pro (10.0.19045.4780, 22H2 2022); +- Andoid 13, [Bliss OS] x86_64 (16.9.7, Linux 6.1.112-gloria-xanmod1). + +## Flashing coreboot + +```{eval-rst} ++---------------------+--------------------------+ +| Type | Value | ++=====================+==========================+ +| Socketed flash | yes | ++---------------------+--------------------------+ +| Model | W25Q256JV | +| | MX25L25673G | ++---------------------+--------------------------+ +| Size | 32 MiB | ++---------------------+--------------------------+ +| Package | WSON-8 8x6 mm | ++---------------------+--------------------------+ +| Write protection | chipset PRR | ++---------------------+--------------------------+ +| Dual BIOS feature | no | ++---------------------+--------------------------+ +| Internal flashing | after flashing coreboot | ++---------------------+--------------------------+ +``` + +The SPI flash can be accessed using [flashrom]. By default, only the +BIOS region of the flash is writable: + +```bash +flashrom -p internal -N -w coreboot.rom --ifd -i bios +``` + +If you wish to change any other region, such as the Management Engine +or firmware descriptor, then an external programmer is required. More +information about this [here](../../tutorial/flashing_firmware/index.md). + +## Working + +- Dual Channel DDR4 2933/2666/2400 MHz; +- Intel UHD Graphics: + - DP (both); + - HDMI; + - VGA Option ROM; + - libgfxinit; + - GOP; +- PCIe x16 Slot (Gen3); +- SATA ports; +- USB 2.0 ports; +- USB 3.2 ports; +- M.2 Key-E 2230 slot for Wireless (PCIe x1, USB 2.0 and CNVi); +- M.2 Key-B 3042/3052 slot for 4G/5G modem (PCIe x1); +- M.2 Key-M 2242/2260/2280 for SSD/NVMe (PCIE x4, SATA3); +- LAN1 Intel I225LM/I225V, 10/100/1000/2500 Mbps; +- LAN2 Intel I219LM, 10/100/1000 Mbps; +- Realtek ALC887 HD Audio (line-out, mic-in); +- COM 1/2/3/4 ports (Fintek f81966); +- onboard speaker; +- HWM/FANs control (Fintek f81966); +- S3 suspend and wake; +- TPM; +- disabling ME with me_cleaner [XutaxKamay fork] (v1.2-9-gf20532d). + +## Unknown/untested + +- USB 3.0 in M.2 Key-B 3042/3052 slot (currently disabled); +- eDP/LVDS (currently disabled); +- PCIe riser cards; +- SPDIF; +- SATA RAID. + +[ASRock IMB-1222]: https://web.archive.org/web/20220924171403/https://www.asrockind.com/en-gb/IMB-1222 +[flashrom]: https://flashrom.org/Flashrom +[MrChromebox fork]: https://github.com/MrChromebox/edk2 +[XutaxKamay fork]: https://github.com/XutaxKamay/me_cleaner +[Bliss OS]: https://blissos.org/ diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index 468e3c2cd1..ce51f4eda9 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -33,6 +33,7 @@ pademelon H77 Pro4-M H81M-HDS H110M-DVS +IMB-1222 ``` ## ASUS -- cgit v1.2.3