i2c: designware-pci: Add Baytrail PCI IDs
authorMika Westerberg <mika.westerberg@linux.intel.com>
Wed, 19 Feb 2014 14:10:29 +0000 (16:10 +0200)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 9 Mar 2014 08:35:22 +0000 (09:35 +0100)
Intel Baytrail I2C controllers can be enumerated from PCI as well as from
ACPI. In order to support this add the Baytrail PCI IDs to the driver.

Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
drivers/i2c/busses/i2c-designware-pcidrv.c

index c0a87a5eb63ecf67f786bec7bfe4d556b2a24e59..80c3b5e0a5c86ffba7d1b1e299e4f4a15d2f60f3 100644 (file)
@@ -54,6 +54,8 @@ enum dw_pci_ctl_id_t {
        medfield_3,
        medfield_4,
        medfield_5,
+
+       baytrail,
 };
 
 struct dw_pci_controller {
@@ -132,6 +134,13 @@ static struct  dw_pci_controller  dw_pci_controllers[] = {
                .rx_fifo_depth = 32,
                .clk_khz      = 25000,
        },
+       [baytrail] = {
+               .bus_num = -1,
+               .bus_cfg = INTEL_MID_STD_CFG | DW_IC_CON_SPEED_FAST,
+               .tx_fifo_depth = 32,
+               .rx_fifo_depth = 32,
+               .clk_khz = 100000,
+       },
 };
 static struct i2c_algorithm i2c_dw_algo = {
        .master_xfer    = i2c_dw_xfer,
@@ -226,8 +235,8 @@ static int i2c_dw_pci_probe(struct pci_dev *pdev,
        adap->algo = &i2c_dw_algo;
        adap->dev.parent = &pdev->dev;
        adap->nr = controller->bus_num;
-       snprintf(adap->name, sizeof(adap->name), "i2c-designware-pci-%d",
-               adap->nr);
+
+       snprintf(adap->name, sizeof(adap->name), "i2c-designware-pci");
 
        r = devm_request_irq(&pdev->dev, pdev->irq, i2c_dw_isr, IRQF_SHARED,
                        adap->name, dev);
@@ -278,6 +287,14 @@ static DEFINE_PCI_DEVICE_TABLE(i2_designware_pci_ids) = {
        { PCI_VDEVICE(INTEL, 0x082C), medfield_0 },
        { PCI_VDEVICE(INTEL, 0x082D), medfield_1 },
        { PCI_VDEVICE(INTEL, 0x082E), medfield_2 },
+       /* Baytrail */
+       { PCI_VDEVICE(INTEL, 0x0F41), baytrail },
+       { PCI_VDEVICE(INTEL, 0x0F42), baytrail },
+       { PCI_VDEVICE(INTEL, 0x0F43), baytrail },
+       { PCI_VDEVICE(INTEL, 0x0F44), baytrail },
+       { PCI_VDEVICE(INTEL, 0x0F45), baytrail },
+       { PCI_VDEVICE(INTEL, 0x0F46), baytrail },
+       { PCI_VDEVICE(INTEL, 0x0F47), baytrail },
        { 0,}
 };
 MODULE_DEVICE_TABLE(pci, i2_designware_pci_ids);