diff --git a/Documentation/mainboard/index.md b/Documentation/mainboard/index.md index 0d05bbde2e..75e16ea596 100644 --- a/Documentation/mainboard/index.md +++ b/Documentation/mainboard/index.md @@ -180,6 +180,7 @@ The boards in this section are not real mainboards, but emulators. ## System76 +- [Darter Pro 6](system76/darp6.md) - [Darter Pro 7](system76/darp7.md) - [Galago Pro 4](system76/galp4.md) - [Galago Pro 5](system76/galp5.md) diff --git a/Documentation/mainboard/system76/darp6.md b/Documentation/mainboard/system76/darp6.md new file mode 100644 index 0000000000..364301495e --- /dev/null +++ b/Documentation/mainboard/system76/darp6.md @@ -0,0 +1,63 @@ +# System76 Darter Pro 6 (darp6) + +## Specs + +- CPU + - Intel Core i7-10510U + - Intel Core i5-10210U +- EC + - ITE IT8587E running [System76 EC](https://github.com/system76/ec) +- Graphics + - Intel UHD Graphics 620 + - eDP 15.6" 1920x1080@60Hz LCD (LG LP156WFC-SPD3) +- Memory + - Up to 64GB (2x32GB) dual-channel DDR4 SO-DIMMs @ 2666 MHz +- Networking + - Gigabit Ethernet + - M.2 PCIe/CNVi WiFi/Bluetooth + - Intel Wi-Fi 6 AX200/AX201 + - or Intel Wireless-AC 9560 +- Power + - 65W (19V, 3.42A) AC barrel adapter + - Chicony A12-065N2A, using a C5 power cord + - 54.5Wh 4-cell Lithium-Ion battery +- Sound + - Realtek ALC293 codec + - Internal speakers and microphone + - Combined 3.5mm headphone and microphone jack + - Combined 3.5mm microphone and S/PDIF jack + - HDMI, Mini DisplayPort, USB-C DisplayPort audio +- Storage + - 1x M.2 PCIe NVMe or SATA SSD + - SD card reader +- USB + - 1x USB Type-C with Thunderbolt 3 + - 2x USB 3.0 Type-A + - 1x USB 2.0 Type-A +- Dimensions + - 1.98cm x 36.04cm x 24.46cm, 1.6kg + + +## Flashing coreboot + +```eval_rst ++---------------------+-----------------+ +| Type | Value | ++=====================+=================+ +| Socketed flash | no | ++---------------------+-----------------+ +| Vendor | GigaDevice | ++---------------------+-----------------+ +| Model | GD25B127D | ++---------------------+-----------------+ +| Size | 16 MiB | ++---------------------+-----------------+ +| Package | SOIC-8 | ++---------------------+-----------------+ +| Internal flashing | yes | ++---------------------+-----------------+ +| External flashing | yes | ++---------------------+-----------------+ +``` + +The flash chip (U26) is right of the DIMM slots. diff --git a/src/mainboard/system76/cml-u/Kconfig b/src/mainboard/system76/cml-u/Kconfig index 87559025be..5bc5a4401c 100644 --- a/src/mainboard/system76/cml-u/Kconfig +++ b/src/mainboard/system76/cml-u/Kconfig @@ -1,4 +1,4 @@ -if BOARD_SYSTEM76_GALP4 +if BOARD_SYSTEM76_GALP4 || BOARD_SYSTEM76_DARP6 config BOARD_SPECIFIC_OPTIONS def_bool y @@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select EC_SYSTEM76_EC select EC_SYSTEM76_EC_BAT_THRESHOLDS + select EC_SYSTEM76_EC_COLOR_KEYBOARD if BOARD_SYSTEM76_DARP6 select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES select HAVE_CMOS_DEFAULT @@ -27,18 +28,22 @@ config MAINBOARD_DIR config VARIANT_DIR default "galp4" if BOARD_SYSTEM76_GALP4 + default "darp6" if BOARD_SYSTEM76_DARP6 config OVERRIDE_DEVICETREE default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" config MAINBOARD_PART_NUMBER default "galp4" if BOARD_SYSTEM76_GALP4 + default "darp6" if BOARD_SYSTEM76_DARP6 config MAINBOARD_SMBIOS_PRODUCT_NAME default "Galago Pro" if BOARD_SYSTEM76_GALP4 + default "Darter Pro" if BOARD_SYSTEM76_DARP6 config MAINBOARD_VERSION default "galp4" if BOARD_SYSTEM76_GALP4 + default "darp6" if BOARD_SYSTEM76_DARP6 config CBFS_SIZE default 0xA00000 diff --git a/src/mainboard/system76/cml-u/Kconfig.name b/src/mainboard/system76/cml-u/Kconfig.name index 4bd0279cce..30478cac8c 100644 --- a/src/mainboard/system76/cml-u/Kconfig.name +++ b/src/mainboard/system76/cml-u/Kconfig.name @@ -1,2 +1,5 @@ config BOARD_SYSTEM76_GALP4 bool "galp4" + +config BOARD_SYSTEM76_DARP6 + bool "darp6" diff --git a/src/mainboard/system76/cml-u/variants/darp6/board_info.txt b/src/mainboard/system76/cml-u/variants/darp6/board_info.txt new file mode 100644 index 0000000000..918b290286 --- /dev/null +++ b/src/mainboard/system76/cml-u/variants/darp6/board_info.txt @@ -0,0 +1 @@ +Board name: darp6 diff --git a/src/mainboard/system76/cml-u/variants/darp6/data.vbt b/src/mainboard/system76/cml-u/variants/darp6/data.vbt new file mode 100644 index 0000000000..f14d8073e9 Binary files /dev/null and b/src/mainboard/system76/cml-u/variants/darp6/data.vbt differ diff --git a/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c b/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c new file mode 100644 index 0000000000..09d835726e --- /dev/null +++ b/src/mainboard/system76/cml-u/variants/darp6/hda_verb.c @@ -0,0 +1,35 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include + +const u32 cim_verb_data[] = { + /* Realtek ALC293 */ + 0x10ec0293, /* Vendor ID */ + 0x15581404, /* Subsystem ID */ + 12, /* Number of entries */ + AZALIA_SUBVENDOR(0, 0x15581404), + AZALIA_PIN_CFG(0, 0x12, 0x90a60140), + AZALIA_PIN_CFG(0, 0x13, 0x40000000), + AZALIA_PIN_CFG(0, 0x14, 0x90170110), + AZALIA_PIN_CFG(0, 0x15, 0x02211020), + AZALIA_PIN_CFG(0, 0x16, 0x411111f0), + AZALIA_PIN_CFG(0, 0x18, 0x02a11050), + AZALIA_PIN_CFG(0, 0x19, 0x411111f0), + AZALIA_PIN_CFG(0, 0x1a, 0x411111f0), + AZALIA_PIN_CFG(0, 0x1b, 0x411111f0), + AZALIA_PIN_CFG(0, 0x1d, 0x41738205), + AZALIA_PIN_CFG(0, 0x1e, 0x02451130), + + /* Intel GPU HDMI */ + 0x8086280b, /* Vendor ID */ + 0x80860101, /* Subsystem ID */ + 4, /* Number of entries */ + AZALIA_SUBVENDOR(2, 0x80860101), + AZALIA_PIN_CFG(2, 0x05, 0x18560010), + AZALIA_PIN_CFG(2, 0x06, 0x18560010), + AZALIA_PIN_CFG(2, 0x07, 0x18560010), +}; + +const u32 pc_beep_verbs[] = {}; + +AZALIA_ARRAY_SIZES; diff --git a/src/mainboard/system76/cml-u/variants/darp6/overridetree.cb b/src/mainboard/system76/cml-u/variants/darp6/overridetree.cb new file mode 100644 index 0000000000..1723cea480 --- /dev/null +++ b/src/mainboard/system76/cml-u/variants/darp6/overridetree.cb @@ -0,0 +1,15 @@ +chip soc/intel/cannonlake + device domain 0 on + subsystemid 0x1558 0x1404 inherit + device pci 15.0 on + chip drivers/i2c/hid + register "generic.hid" = ""PNP0C50"" + register "generic.desc" = ""Synaptics Touchpad"" + register "generic.irq" = "ACPI_IRQ_EDGE_LOW(GPP_C23_IRQ)" + register "generic.probed" = "1" + register "hid_desc_reg_offset" = "0x20" + device i2c 2c on end + end + end # I2C #0 + end +end