4 Replies Latest reply on Jun 14, 2018 6:31 AM by Intel Corporation

    i2c-designware-pcidrv driver

    Bandan

      I am trying the pci based discovery of the i2c controller. For this, in the BIOS, in Chipset Configuration > LPSS Configuration, I set LPSS DMA  and LPSS I2C to PCI Mode. This ends up with the USB keyboard not working but anyway, after boot, in dmesg, I can see :

       

      root@intel-aero:~# dmesg | grep 0c

      [    0.369169] pci_bus 0000:00: root bus resource [io  0x0078-0x0cf7 window]

      [    0.369183] pci_bus 0000:00: root bus resource [mem 0x000c0000-0x000dffff window]

      [    0.370465] pci 0000:00:14.0: [8086:22b5] type 00 class 0x0c0330

      [    0.370863] pci 0000:00:16.0: [8086:22b7] type 00 class 0x0c03fe

      [    0.371518] pci 0000:00:18.1: [8086:22c1] type 00 class 0x0c8000

      [    0.371843] pci 0000:00:18.2: [8086:22c2] type 00 class 0x0c8000

      [    0.372154] pci 0000:00:18.3: [8086:22c3] type 00 class 0x0c8000

      [    0.372470] pci 0000:00:18.4: [8086:22c4] type 00 class 0x0c8000

      [    0.372782] pci 0000:00:18.5: [8086:22c5] type 00 class 0x0c8000

      [    0.373106] pci 0000:00:18.6: [8086:22c6] type 00 class 0x0c8000

      [    0.373416] pci 0000:00:18.7: [8086:22c7] type 00 class 0x0c8000

      [    0.463829] system 00:00: Plug and Play ACPI device, IDs PNP0c02 (active)

      [    0.467702] system 00:02: Plug and Play ACPI device, IDs PNP0c02 (active)

      [    0.468161] system 00:03: Plug and Play ACPI device, IDs PNP0c02 (active)

      [    0.480980] pci_bus 0000:00: resource 6 [io  0x0078-0x0cf7 window]

      [    0.480994] pci_bus 0000:00: resource 9 [mem 0x000c0000-0x000dffff window]

      [    7.219353]  0000000000000000 ffff880177d70300 0000000000000000 00000000c0405602

      and running i2cdetect, I get:

       

      root@intel-aero:~# i2cdetect -l

      i2c-0 i2c       i915 gmbus ssc                  I2C adapter

      i2c-1 i2c       i915 gmbus vga                  I2C adapter

      i2c-2 i2c       i915 gmbus panel                I2C adapter

      i2c-3 i2c       i915 gmbus dpc                  I2C adapter

      i2c-4 i2c       i915 gmbus dpb                  I2C adapter

      i2c-5 i2c       i915 gmbus dpd                  I2C adapter

      i2c-6 i2c       DPDDC-C                         I2C adapter

      i2c-7 i2c       DPDDC-D                         I2C adapter

      i2c-8 i2c       Synopsys DesignWare I2C adapter I2C adapter

      i2c-9 i2c       Synopsys DesignWare I2C adapter I2C adapter

      i2c-10 i2c       Synopsys DesignWare I2C adapter I2C adapter

      i2c-11 i2c       Synopsys DesignWare I2C adapter I2C adapter

      i2c-12 i2c       Synopsys DesignWare I2C adapter I2C adapter

      i2c-13 i2c       Synopsys DesignWare I2C adapter I2C adapter

      i2c-14 i2c       Synopsys DesignWare I2C adapter I2C adapter

       

      These also show up in /sys/bus/pci/drivers/i2c-designware-pci and I am assuming the bus number I want is i2c-9 ? However, i2cdetect doesn't return anything on either 9 or any of the bus numbers. Ofcourse, if I change back to ACPI mode, i2cdetect -y -r 2 detects the BMM150. Is something wrong in my setup or is PCI mode not supposed to work ?

       

      Thanks,

      Bandan

        • 1. Re: i2c-designware-pcidrv driver
          Intel Corporation
          This message was posted on behalf of Intel Corporation

          Hello Bandan, 


          Thank you for your interest in the Intel Aero Compute Board. 
          We have received your query and are currently investigating. 
          I will get back to you as soon as possible. 

          Thank you in advance, 
          Casandra 

          • 2. Re: i2c-designware-pcidrv driver
            Intel Corporation
            This message was posted on behalf of Intel Corporation

            Hello Bandan, 


            Thank you very much for your patience.
            Could you please provide additional details as to why you would like to enable these settings in the BIOS? What is your goal?
            Can you also confirm that CONFIG_I2C_DESIGNWARE_PCI is included in the kernel?

            Looking forward to your reply. 

            Regards, 
            Casandra 

            • 3. Re: i2c-designware-pcidrv driver
              Bandan

              Hi Casandra,

               

              I am attempting to bringup the i2c controller on a miniature research OS that I am booting on the Aero. It's easier to utilize the PCI mechanism to probe for the controller as compared to ACPI. Although, it appeared that I was able to successfully probe the i2c controller, writing/reading to slaves (BMM150) seemed to not work. So, I decided to verify if the PCI mechanism worked from Linux which didn't seem to work either...

               

              I have verified that CONFIG_I2C_DESIGNWARE_PCI is built into the Aero kernel. Actually, the device does seem to be successfully bound to the driver from the sysfs entries.

               

              Thanks,

              Bandan

              • 4. Re: i2c-designware-pcidrv driver
                Intel Corporation
                This message was posted on behalf of Intel Corporation

                Hello Bandan, 
                 

                This was only tested with BIOS presenting the device in ACPI, we have not tested it in PCI so we are not sure if it works or not. 

                If you manage to achieve this, please update the community on your progress.

                I wish you good luck!

                Regards, 
                Casandra