Index | Thread | Search

From:
Mark Kettenis <mark.kettenis@xs4all.nl>
Subject:
Re: add device ids for Intel Meteor Lake U/H
To:
Jonathan Gray <jsg@jsg.id.au>
Cc:
tech@openbsd.org
Date:
Tue, 05 Mar 2024 11:33:05 +0100

Download raw body.

Thread
> Date: Tue, 5 Mar 2024 17:12:58 +1100
> From: Jonathan Gray <jsg@jsg.id.au>
> 
> Meteor Lake U/H device ids from:
> Intel Core Ultra Processor
> Datasheet, Volume 1 of 2, Doc. No.: 792044, Rev.: 002
> 
> and match on azalia, dwiic, ichiic, puc
> 
> These machines are slowly starting to become available.
> Untested but everything seems to be the same as earlier hardware.
> U Type 4 has some different ids to U/H.
> 
> The marketing names are a mess, no longer xth generation Core it is
> "Intel Core Ultra processors (Series 1)"
> https://ark.intel.com/content/www/us/en/ark/products/series/236803/intel-core-ultra-processors-series-1.html
> perhaps Core Ultra -> MTL in the strings?

Yes, I do wonder if we should switch from marketing names to
engineering code names.  Although even those are confusing sometimes.
We defenitely should make a list of these somewhere before we consider
as mass renaming.

Anyway, I think this is worth getting in before release.

ok kettenis@

> Index: sys/dev/pci/pcidevs
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> diff -u -p -r1.2066 pcidevs
> --- sys/dev/pci/pcidevs	4 Mar 2024 05:34:07 -0000	1.2066
> +++ sys/dev/pci/pcidevs	5 Mar 2024 06:03:08 -0000
> @@ -6374,7 +6374,97 @@ product INTEL 600SERIES_GSPI_2	0x7afb	60
>  product INTEL 600SERIES_I2C_4	0x7afc	600 Series I2C
>  product INTEL 600SERIES_I2C_5	0x7afd	600 Series I2C
>  product INTEL 600SERIES_UART_2	0x7afe	600 Series UART
> +product INTEL MTL_U4_HB		0x7d00	Core Ultra Host
> +product INTEL MTL_H_HB_2	0x7d01	Core Ultra Host
> +product INTEL MTL_U_HB_2	0x7d02	Core Ultra Host
> +product INTEL MTL_DTT		0x7d03	Core Ultra DTT
> +product INTEL MTL_VMD		0x7d0b	Core Ultra VMD
> +product INTEL MTL_PMT		0x7d0d	Core Ultra PMT
> +product INTEL MTL_H_HB_1	0x7d14	Core Ultra Host
> +product INTEL MTL_U_HB_1	0x7d16	Core Ultra Host
> +product INTEL MTL_IPU		0x7d19	Core Ultra IPU
> +product INTEL MTL_NPU		0x7d1d	Core Ultra NPU
> +product INTEL MTL_U4_GT_1	0x7d40	Graphics
> +product INTEL MTL_U_GT_1	0x7d45	Graphics
> +product INTEL MTL_H_GT_1	0x7d55	Arc Graphics
> +product INTEL MTL_U_GT_2	0x7d60	Graphics
> +product INTEL MTL_H_GT_2	0x7dd5	Graphics
> +product INTEL MTL_H_ESPI	0x7e02	Core Ultra eSPI
> +product INTEL MTL_U_ESPI	0x7e03	Core Ultra eSPI
> +product INTEL MTL_U4_ESPI	0x7e07	Core Ultra eSPI
> +product INTEL MTL_P2SB_SOC	0x7e20	Core Ultra P2SB
> +product INTEL MTL_PMC_SOC	0x7e21	Core Ultra PMC
> +product INTEL MTL_SMB		0x7e22	Core Ultra SMBus
> +product INTEL MTL_SPI		0x7e23	Core Ultra SPI
> +product INTEL MTL_TH		0x7e24	Core Ultra TH
> +product INTEL MTL_UART_0	0x7e25	Core Ultra UART
> +product INTEL MTL_UART_1	0x7e26	Core Ultra UART
> +product INTEL MTL_GSPI_0	0x7e27	Core Ultra GSPI
> +product INTEL MTL_HDA		0x7e28	Core Ultra HD Audio
> +product INTEL MTL_GSPI_1	0x7e30	Core Ultra GSPI
> +product INTEL MTL_PCIE_1	0x7e38	Core Ultra PCIE
> +product INTEL MTL_PCIE_2	0x7e39	Core Ultra PCIE
> +product INTEL MTL_PCIE_3	0x7e3a	Core Ultra PCIE
> +product INTEL MTL_PCIE_4	0x7e3b	Core Ultra PCIE
> +product INTEL MTL_PCIE_5	0x7e3c	Core Ultra PCIE
> +product INTEL MTL_PCIE_6	0x7e3d	Core Ultra PCIE
> +product INTEL MTL_PCIE_7	0x7e3e	Core Ultra PCIE
> +product INTEL MTL_PCIE_8	0x7e3f	Core Ultra PCIE
>  product INTEL WL_22500_14	0x7e40	Wi-Fi 6 AX210
> +product INTEL MTL_ISH		0x7e45	Core Ultra ISH
> +product INTEL MTL_GSPI_2	0x7e46	Core Ultra GSPI
> +product INTEL MTL_THC_0_1	0x7e48	Core Ultra THC
> +product INTEL MTL_THC_0_2	0x7e49	Core Ultra THC
> +product INTEL MTL_THC_1_1	0x7e4a	Core Ultra THC
> +product INTEL MTL_THC_1_2	0x7e4b	Core Ultra THC
> +product INTEL MTL_GNA		0x7e4c	Core Ultra GNA
> +product INTEL MTL_PCIE_9	0x7e4d	Core Ultra PCIE
> +product INTEL MTL_I2C_4		0x7e50	Core Ultra I2C
> +product INTEL MTL_I2C_5		0x7e51	Core Ultra I2C
> +product INTEL MTL_UART_2	0x7e52	Core Ultra UART
> +product INTEL MTL_HECI_5	0x7e58	Core Ultra HECI
> +product INTEL MTL_HECI_6	0x7e59	Core Ultra HECI
> +product INTEL MTL_HECI_7	0x7e5a	Core Ultra HECI
> +product INTEL MTL_AHCI		0x7e63	Core Ultra AHCI
> +product INTEL MTL_RAID_1	0x7e67	Core Ultra RAID
> +product INTEL MTL_HECI_1	0x7e70	Core Ultra HECI
> +product INTEL MTL_HECI_2	0x7e71	Core Ultra HECI
> +product INTEL MTL_IDER		0x7e72	Core Ultra IDE-R
> +product INTEL MTL_KT		0x7e73	Core Ultra KT
> +product INTEL MTL_HECI_3	0x7e74	Core Ultra HECI
> +product INTEL MTL_HECI_4	0x7e75	Core Ultra HECI
> +product INTEL MTL_I2C_0		0x7e78	Core Ultra I2C
> +product INTEL MTL_I2C_1		0x7e79	Core Ultra I2C
> +product INTEL MTL_I2C_2		0x7e7a	Core Ultra I2C
> +product INTEL MTL_I2C_3		0x7e7b	Core Ultra I2C
> +product INTEL MTL_I3C		0x7e7c	Core Ultra I3C
> +product INTEL MTL_XHCI_2	0x7e7d	Core Ultra xHCI
> +product INTEL MTL_XDCI_2	0x7e7e	Core Ultra xDCI
> +product INTEL MTL_SRAM		0x7e7f	Core Ultra SRAM
> +product INTEL MTL_U4_XHCI	0x7eb0	Core Ultra xHCI
> +product INTEL MTL_U4_XDCI	0x7eb1	Core Ultra xDCI
> +product INTEL MTL_U4_TBT_DMA0	0x7eb2	Core Ultra TBT
> +product INTEL MTL_U4_PCIE_16	0x7eb4	Core Ultra PCIE
> +product INTEL MTL_U4_PCIE_17	0x7eb5	Core Ultra PCIE
> +product INTEL MTL_U4_P2SB_IOE	0x7eb8	Core Ultra P2SB
> +product INTEL MTL_U4_IEH_IOE	0x7eb9	Core Ultra IEH
> +product INTEL MTL_U4_PMC_IOE	0x7ebe	Core Ultra PMC
> +product INTEL MTL_U4_SRAM_IOE	0x7ebf	Core Ultra SRAM
> +product INTEL MTL_XHCI_1	0x7ec0	Core Ultra xHCI
> +product INTEL MTL_XDCI_1	0x7ec1	Core Ultra xDCI
> +product INTEL MTL_TBT_DMA0	0x7ec2	Core Ultra TBT
> +product INTEL MTL_TBT_DMA1	0x7ec3	Core Ultra TBT
> +product INTEL MTL_PCIE_16	0x7ec4	Core Ultra PCIE
> +product INTEL MTL_PCIE_17	0x7ec5	Core Ultra PCIE
> +product INTEL MTL_PCIE_18	0x7ec6	Core Ultra PCIE
> +product INTEL MTL_PCIE_19	0x7ec7	Core Ultra PCIE
> +product INTEL MTL_P2SB_IOE	0x7ec8	Core Ultra P2SB
> +product INTEL MTL_IEH_IOE	0x7ec9	Core Ultra IEH
> +product INTEL MTL_PCIE_10	0x7eca	Core Ultra PCIE
> +product INTEL MTL_PCIE_11	0x7ecb	Core Ultra PCIE
> +product INTEL MTL_H_PCIE_12	0x7ecc 	Core Ultra PCIE
> +product INTEL MTL_PMC_IOE	0x7ece	Core Ultra PMC
> +product INTEL MTL_SRAM_IOE	0x7ecf	Core Ultra SRAM
>  product INTEL WL_22500_15	0x7f70	Wi-Fi 6 AX211
>  product INTEL US15W_HB		0x8100	US15W Host
>  product INTEL US15L_HB		0x8101	US15L/UL11L Host
> Index: sys/dev/pci/azalia.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/azalia.c,v
> diff -u -p -r1.285 azalia.c
> --- sys/dev/pci/azalia.c	23 Nov 2023 14:24:06 -0000	1.285
> +++ sys/dev/pci/azalia.c	5 Mar 2024 05:44:12 -0000
> @@ -476,6 +476,7 @@ azalia_configure_pci(azalia_t *az)
>  	case PCI_PRODUCT_INTEL_JSL_HDA:
>  	case PCI_PRODUCT_INTEL_EHL_HDA:
>  	case PCI_PRODUCT_INTEL_ADL_N_HDA:
> +	case PCI_PRODUCT_INTEL_MTL_HDA:
>  		reg = azalia_pci_read(az->pc, az->tag,
>  		    INTEL_PCIE_NOSNOOP_REG);
>  		reg &= INTEL_PCIE_NOSNOOP_MASK;
> @@ -500,6 +501,7 @@ const struct pci_matchid azalia_pci_devi
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_JSL_HDA },
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_HDA },
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_HDA },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_HDA },
>  };
>  
>  int
> Index: sys/dev/pci/dwiic_pci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/dwiic_pci.c,v
> diff -u -p -r1.24 dwiic_pci.c
> --- sys/dev/pci/dwiic_pci.c	23 Nov 2023 14:24:06 -0000	1.24
> +++ sys/dev/pci/dwiic_pci.c	5 Mar 2024 05:41:39 -0000
> @@ -172,6 +172,12 @@ const struct pci_matchid dwiic_pci_ids[]
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_3 },
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_4 },
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_I2C_5 },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_I2C_0 },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_I2C_1 },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_I2C_2 },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_I2C_3 },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_I2C_4 },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_I2C_5 },
>  };
>  
>  int
> Index: sys/dev/pci/ichiic.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/ichiic.c,v
> diff -u -p -r1.53 ichiic.c
> --- sys/dev/pci/ichiic.c	21 Feb 2024 22:57:11 -0000	1.53
> +++ sys/dev/pci/ichiic.c	5 Mar 2024 05:43:17 -0000
> @@ -141,6 +141,7 @@ const struct pci_matchid ichiic_ids[] = 
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_JSL_SMB },
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_EHL_SMB },
>  	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_ADL_N_SMB },
> +	{ PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_SMB },
>  };
>  
>  int
> Index: sys/dev/pci/pucdata.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pucdata.c,v
> diff -u -p -r1.119 pucdata.c
> --- sys/dev/pci/pucdata.c	28 Jan 2024 03:01:39 -0000	1.119
> +++ sys/dev/pci/pucdata.c	5 Mar 2024 05:45:07 -0000
> @@ -187,6 +187,13 @@ const struct puc_device_description puc_
>  		{ PUC_PORT_COM, 0x10, 0x0000 },
>  	    },
>  	},
> +	{	/* MTL KT */
> +	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_MTL_KT, 0x0000, 0x0000 },
> +	    {	0xffff, 0xffff,					0x0000, 0x0000 },
> +	    {
> +		{ PUC_PORT_COM, 0x10, 0x0000 },
> +	    },
> +	},
>  	{	/* 82946GZ KT */
>  	    {	PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_82946GZ_KT, 0x0000, 0x0000 },
>  	    {	0xffff, 0xffff,					0x0000, 0x0000 },
> 
>