summaryrefslogtreecommitdiff
path: root/src/mainboard/topton/adl/devicetree.cb
diff options
context:
space:
mode:
authorAlicja Michalska <ahplka19@gmail.com>2024-09-01 20:06:30 +0200
committerFelix Singer <service+coreboot-gerrit@felixsinger.de>2024-11-21 15:49:22 +0000
commit3d79bced9549922c8c4a8611327818c32d4feda5 (patch)
tree8f63ae13cec31d2e7387561823f0c2c2e32ef67e /src/mainboard/topton/adl/devicetree.cb
parent0c43a65550b6120069c6ea78f1e57ae7a1c11295 (diff)
mb/topton/adl: Add initial support for X2F N100 FW appliance
X2F-N100 is an embedded device/firewall with Intel N100 SoC and 4x 2.5Gb Intel I226-V NICs. Currently tested and working: - Payload (EDK2) - Suspend (S3 state) - All USB ports - 4x NICs - M.2 NVME - mPCI-E (WiFi/modem) - 4G USB modem in mPCI-E slot - PCI-E passtrough to VMs (NICs) - HDMI/DP output + HDA audio OS: - Alpine Linux - Windows 11 Pro (from USB) Untested, looks sane: - Internal USB port on M.2 slot marked as "5G_USB" Broken/TODO: - SATA EDK2 reports "Unsupported", drive's not detected. - Suspend in Windows (statements dreamed up by the utterly deranged) Change-Id: Ic5cd2060c1635b79cb28ffe294220b63ad2bab65 Signed-off-by: Alicja Michalska <alicja.michalska@9elements.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/84175 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Alicja Michalska <ahplka19@gmail.com> Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: David Hendricks <david.hendricks@gmail.com>
Diffstat (limited to 'src/mainboard/topton/adl/devicetree.cb')
-rw-r--r--src/mainboard/topton/adl/devicetree.cb125
1 files changed, 125 insertions, 0 deletions
diff --git a/src/mainboard/topton/adl/devicetree.cb b/src/mainboard/topton/adl/devicetree.cb
new file mode 100644
index 0000000000..f21687a481
--- /dev/null
+++ b/src/mainboard/topton/adl/devicetree.cb
@@ -0,0 +1,125 @@
+chip soc/intel/alderlake
+
+ register "sagv" = "SaGv_Enabled"
+ register "tcc_offset" = "10"
+
+ register "pmc_gpe0_dw0" = "GPP_B"
+ register "pmc_gpe0_dw1" = "GPP_D"
+ register "pmc_gpe0_dw2" = "GPP_E"
+
+ device domain 0 on
+ device ref igpu on
+ register "ddi_portA_config" = "1" # HDMI
+ register "ddi_portB_config" = "1" # DP
+ register "ddi_ports_config" = "{
+ [DDI_PORT_A] = DDI_ENABLE_HPD | DDI_ENABLE_DDC,
+ [DDI_PORT_B] = DDI_ENABLE_HPD | DDI_ENABLE_DDC
+ }"
+ end
+
+ device ref xhci on
+ register "usb2_ports" = "{
+ [0] = USB2_PORT_MID(OC_SKIP),
+ [1] = USB2_PORT_MID(OC_SKIP),
+ [2] = USB2_PORT_MID(OC_SKIP),
+ [3] = USB2_PORT_MID(OC_SKIP),
+ [4] = USB2_PORT_MID(OC_SKIP),
+ [5] = USB2_PORT_MID(OC_SKIP),
+ [6] = USB2_PORT_MID(OC_SKIP),
+ [7] = USB2_PORT_MID(OC_SKIP),
+ }"
+
+ register "usb3_ports" = "{
+ [0] = USB3_PORT_DEFAULT(OC_SKIP),
+ [1] = USB3_PORT_DEFAULT(OC_SKIP),
+ [2] = USB3_PORT_DEFAULT(OC_SKIP),
+ [3] = USB3_PORT_DEFAULT(OC_SKIP),
+ [4] = USB3_PORT_DEFAULT(OC_SKIP),
+ [5] = USB3_PORT_DEFAULT(OC_SKIP),
+ [6] = USB3_PORT_DEFAULT(OC_SKIP),
+ [7] = USB3_PORT_DEFAULT(OC_SKIP),
+ }"
+ end
+
+ device ref shared_sram on end
+
+ # Not working, resource conflict(?)
+ device ref sata on
+ register "sata_ports_enable" = "{
+ [0] = 1,
+ [1] = 1,
+ }"
+ end
+
+ # Built-in I226-V NICs
+ device ref pcie_rp1 on
+ register "pch_pcie_rp[PCH_RP(1)]" = "{
+ .clk_src = 4,
+ .clk_req = 4,
+ .flags = PCIE_RP_CLK_REQ_DETECT | PCIE_RP_BUILT_IN,
+ }"
+ end
+
+ device ref pcie_rp2 on
+ register "pch_pcie_rp[PCH_RP(2)]" = "{
+ .clk_src = 2,
+ .clk_req = 2,
+ .flags = PCIE_RP_CLK_REQ_DETECT | PCIE_RP_BUILT_IN,
+ }"
+ end
+
+ device ref pcie_rp3 on
+ register "pch_pcie_rp[PCH_RP(3)]" = "{
+ .clk_src = 1,
+ .clk_req = 1,
+ .flags = PCIE_RP_CLK_REQ_DETECT | PCIE_RP_BUILT_IN,
+ }"
+ end
+
+ device ref pcie_rp7 on
+ register "pch_pcie_rp[PCH_RP(7)]" = "{
+ .clk_src = 3,
+ .clk_req = 3,
+ .flags = PCIE_RP_CLK_REQ_DETECT | PCIE_RP_BUILT_IN,
+ }"
+ end
+
+ # NVME (Gen3 x2)
+ device ref pcie_rp9 on
+ register "pch_pcie_rp[PCH_RP(9)]" = "{
+ .clk_src = 0,
+ .clk_req = 0,
+ .flags = PCIE_RP_CLK_REQ_DETECT,
+ }"
+ end
+
+ # mPCIe (WiFi/modem)
+ device ref pcie_rp11 on
+ register "pch_pcie_rp[PCH_RP(11)]" = "{
+ .clk_src = 5,
+ .clk_req = 5,
+ .flags = PCIE_RP_CLK_REQ_DETECT,
+ }"
+ end
+
+ device ref pch_espi on
+ chip superio/ite/it8625e
+ device pnp 2e.1 on # Cisco-style serial console
+ io 0x60 = 0x3f8
+ irq 0x70 = 0x4
+ irq 0xf0 = 0x1
+ end
+ end
+ end
+
+ device ref smbus on end
+ device ref fast_spi on end
+
+ device ref hda on
+ register "pch_hda_audio_link_hda_enable" = "true"
+ register "pch_hda_idisp_codec_enable" = "true"
+ register "pch_hda_idisp_link_frequency" = "HDA_LINKFREQ_96MHZ"
+ register "pch_hda_idisp_link_tmode" = "HDA_TMODE_8T"
+ end
+ end
+end