On Mon, Jun 10, 2019 at 11:54:55PM -0400, James Hastings wrote:
> Add support for Apollo Lake I2C at pci bus.
> Include two PCIE devs while we are here.
Committed without the pci renumbering as the additional ids are "PCIe-B"
in the datasheet the old ones are "PCIe-A".
The aplgpio and sdhc diffs you've sent are broken due to wrapped lines.
>
>
> Index: sys/dev/pci/dwiic_pci.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/dwiic_pci.c,v
> retrieving revision 1.5
> diff -u -p -u -r1.5 dwiic_pci.c
> --- sys/dev/pci/dwiic_pci.c 16 May 2019 01:14:08 -0000 1.5
> +++ sys/dev/pci/dwiic_pci.c 11 Jun 2019 01:31:03 -0000
> @@ -70,6 +70,14 @@ const struct pci_matchid dwiic_pci_ids[]
> { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_U_I2C_4 },
> { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_U_I2C_5 },
> { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_300SERIES_U_I2C_6 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_1 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_2 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_3 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_4 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_5 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_6 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_7 },
> + { PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_8 },
> };
>
> int
> Index: sys/dev/pci/pcidevs
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs,v
> retrieving revision 1.1889
> diff -u -p -u -r1.1889 pcidevs
> --- sys/dev/pci/pcidevs 10 May 2019 15:28:45 -0000 1.1889
> +++ sys/dev/pci/pcidevs 11 Jun 2019 01:31:03 -0000
> @@ -4951,6 +4951,13 @@ product INTEL APOLLOLAKE_HDA 0x5a98 Apol
> product INTEL APOLLOLAKE_TXE 0x5a9a Apollo Lake TXE
> product INTEL APOLLOLAKE_XHCI 0x5aa8 Apollo Lake xHCI
> product INTEL APOLLOLAKE_I2C_1 0x5aac Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_2 0x5aae Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_3 0x5ab0 Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_4 0x5ab2 Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_5 0x5ab4 Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_6 0x5ab6 Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_7 0x5ab8 Apollo Lake I2C
> +product INTEL APOLLOLAKE_I2C_8 0x5aba Apollo Lake I2C
> product INTEL APOLLOLAKE_UART_1 0x5abc Apollo Lake HSUART
> product INTEL APOLLOLAKE_SPI_1 0x5ac2 Apollo Lake SPI
> product INTEL APOLLOLAKE_SPI_2 0x5ac4 Apollo Lake SPI
> @@ -4959,9 +4966,11 @@ product INTEL APOLLOLAKE_SDMMC 0x5aca Ap
> product INTEL APOLLOLAKE_EMMC 0x5acc Apollo Lake eMMC
> product INTEL APOLLOLAKE_SDIO 0x5ad0 Apollo Lake SDIO
> product INTEL APOLLOLAKE_SMB 0x5ad4 Apollo Lake SMBus
> -product INTEL APOLLOLAKE_PCIE_1 0x5ad8 Apollo Lake PCIE
> -product INTEL APOLLOLAKE_PCIE_2 0x5ad9 Apollo Lake PCIE
> -product INTEL APOLLOLAKE_PCIE_3 0x5ada Apollo Lake PCIE
> +product INTEL APOLLOLAKE_PCIE_1 0x5ad6 Apollo Lake PCIE
> +product INTEL APOLLOLAKE_PCIE_2 0x5ad7 Apollo Lake PCIE
> +product INTEL APOLLOLAKE_PCIE_3 0x5ad8 Apollo Lake PCIE
> +product INTEL APOLLOLAKE_PCIE_4 0x5ad9 Apollo Lake PCIE
> +product INTEL APOLLOLAKE_PCIE_5 0x5ada Apollo Lake PCIE
> product INTEL APOLLOLAKE_AHCI 0x5ae3 Apollo Lake AHCI
> product INTEL APOLLOLAKE_LPC 0x5ae8 Apollo Lake LPC
> product INTEL APOLLOLAKE_HB 0x5af0 Apollo Lake Host
> Index: sys/dev/pci/pcidevs.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs.h,v
> retrieving revision 1.1882
> diff -u -p -u -r1.1882 pcidevs.h
> --- sys/dev/pci/pcidevs.h 10 May 2019 15:29:17 -0000 1.1882
> +++ sys/dev/pci/pcidevs.h 11 Jun 2019 01:31:04 -0000
> @@ -4956,6 +4956,13 @@
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_TXE 0x5a9a /*
> Apollo Lake TXE */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_XHCI 0x5aa8 /*
> Apollo Lake xHCI */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_1 0x5aac /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_2 0x5aae /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_3 0x5ab0 /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_4 0x5ab2 /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_5 0x5ab4 /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_6 0x5ab6 /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_7 0x5ab8 /*
> Apollo Lake I2C */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_8 0x5aba /*
> Apollo Lake I2C */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_UART_1 0x5abc /*
> Apollo Lake
> HSUART */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_SPI_1 0x5ac2 /*
> Apollo Lake SPI */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_SPI_2 0x5ac4 /*
> Apollo Lake SPI */
> @@ -4964,9 +4971,11 @@
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_EMMC 0x5acc /*
> Apollo Lake eMMC */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_SDIO 0x5ad0 /*
> Apollo Lake SDIO */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_SMB 0x5ad4 /*
> Apollo Lake SMBus */
> -#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_1 0x5ad8 /*
> Apollo Lake PCIE */
> -#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_2 0x5ad9 /*
> Apollo Lake PCIE */
> -#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_3 0x5ada /*
> Apollo Lake PCIE */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_1 0x5ad6 /*
> Apollo Lake PCIE */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_2 0x5ad7 /*
> Apollo Lake PCIE */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_3 0x5ad8 /*
> Apollo Lake PCIE */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_4 0x5ad9 /*
> Apollo Lake PCIE */
> +#define PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_5 0x5ada /*
> Apollo Lake PCIE */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_AHCI 0x5ae3 /*
> Apollo Lake AHCI */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_LPC 0x5ae8 /*
> Apollo Lake LPC */
> #define PCI_PRODUCT_INTEL_APOLLOLAKE_HB 0x5af0 /* Apollo Lake
> Host */
> Index: sys/dev/pci/pcidevs_data.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/pcidevs_data.h,v
> retrieving revision 1.1877
> diff -u -p -u -r1.1877 pcidevs_data.h
> --- sys/dev/pci/pcidevs_data.h 10 May 2019 15:29:17 -0000 1.1877
> +++ sys/dev/pci/pcidevs_data.h 11 Jun 2019 01:31:04 -0000
> @@ -17308,6 +17308,34 @@ static const struct pci_known_product pc
> "Apollo Lake I2C",
> },
> {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_2,
> + "Apollo Lake I2C",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_3,
> + "Apollo Lake I2C",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_4,
> + "Apollo Lake I2C",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_5,
> + "Apollo Lake I2C",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_6,
> + "Apollo Lake I2C",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_7,
> + "Apollo Lake I2C",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_I2C_8,
> + "Apollo Lake I2C",
> + },
> + {
> PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_UART_1,
> "Apollo Lake HSUART",
> },
> @@ -17349,6 +17377,14 @@ static const struct pci_known_product pc
> },
> {
> PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_3,
> + "Apollo Lake PCIE",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_4,
> + "Apollo Lake PCIE",
> + },
> + {
> + PCI_VENDOR_INTEL, PCI_PRODUCT_INTEL_APOLLOLAKE_PCIE_5,
> "Apollo Lake PCIE",
> },
> {
>