Re: dwiic: add apollo lake support

2019-06-14 Thread Jonathan Gray
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 -  1.5
> +++ sys/dev/pci/dwiic_pci.c   11 Jun 2019 01:31:03 -
> @@ -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 -  1.1889
> +++ sys/dev/pci/pcidevs   11 Jun 2019 01:31:03 -
> @@ -4951,6 +4951,13 @@ product INTEL APOLLOLAKE_HDA   0x5a98  Apol
>  product INTEL APOLLOLAKE_TXE 0x5a9a  Apollo Lake TXE
>  product INTEL APOLLOLAKE_XHCI0x5aa8  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_EMMC0x5acc  Apollo Lake eMMC
>  product INTEL APOLLOLAKE_SDIO0x5ad0  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_AHCI0x5ae3  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 -  1.1882
> +++ sys/dev/pci/pcidevs.h 11 Jun 2019 01:31:04 -
> @@ -4956,6 +4956,13 @@
>  #define  PCI_PRODUCT_INTEL_APOLLOLAKE_TXE0x5a9a  /* 
> 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  /* 
> Apo

dwiic: add apollo lake support

2019-06-10 Thread James Hastings
Add support for Apollo Lake I2C at pci bus.
Include two PCIE devs while we are here.


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 -  1.5
+++ sys/dev/pci/dwiic_pci.c 11 Jun 2019 01:31:03 -
@@ -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 -  1.1889
+++ sys/dev/pci/pcidevs 11 Jun 2019 01:31:03 -
@@ -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_10x5abc  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_10x5ad8  Apollo Lake PCIE
-product INTEL APOLLOLAKE_PCIE_20x5ad9  Apollo Lake PCIE
-product INTEL APOLLOLAKE_PCIE_30x5ada  Apollo Lake PCIE
+product INTEL APOLLOLAKE_PCIE_10x5ad6  Apollo Lake PCIE
+product INTEL APOLLOLAKE_PCIE_20x5ad7  Apollo Lake PCIE
+product INTEL APOLLOLAKE_PCIE_30x5ad8  Apollo Lake PCIE
+product INTEL APOLLOLAKE_PCIE_40x5ad9  Apollo Lake PCIE
+product INTEL APOLLOLAKE_PCIE_50x5ada  Apollo Lake PCIE
 product INTEL APOLLOLAKE_AHCI  0x5ae3  Apollo Lake AHCI
 product INTEL APOLLOLAKE_LPC   0x5ae8  Apollo Lake LPC
 product INTEL APOLLOLAKE_HB0x5af0  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 -  1.1882
+++ sys/dev/pci/pcidevs.h   11 Jun 2019 01:31:04 -
@@ -4956,6 +4956,13 @@
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_TXE0x5a9a  /* 
Apollo Lake TXE */
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_XHCI   0x5aa8  /* 
Apollo Lake xHCI */
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_1  0x5aac  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_2  0x5aae  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_3  0x5ab0  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_4  0x5ab2  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_5  0x5ab4  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_6  0x5ab6  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_7  0x5ab8  /* 
Apollo Lake I2C */
+#definePCI_PRODUCT_INTEL_APOLLOLAKE_I2C_8  0x5aba  /* 
Apollo Lake I2C */
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_UART_1 0x5abc  /* 
Apollo Lake
HSUART */
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_SPI_1  0x5ac2  /* 
Apollo Lake SPI */
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_SPI_2  0x5ac4  /* 
Apollo Lake SPI */
@@ -4964,9 +4971,11 @@
 #definePCI_PRODUCT_INTEL_APOLLOLAKE_EMMC   0x5acc  /* 
Apollo Lake eMMC */
 #definePCI_PRODUCT_I