[MinnowBoard] Linux x86 I2C device probing with ACPI

Christophe Ricard christophe.ricard at gmail.com
Wed Oct 21 18:13:31 UTC 2015


Hi Saket,

The DSDT once extracted shows my modifications and is present in 
/sys/devices/LNXSYSTM\:00/.

However when adr file shows 0x00000000.

When adding traces to the kernel, it looks like it is not able to 
retrieve information from the _CRS Method...

Any idea ?

Best Regards
Christophe

On 21/10/2015 16:25, Saket Sinha wrote:
> Hi Christophe,
>
> You can dump the acpi table parsed by Linux  and compare with what you
> have in the source
>
> 1.  To dumo when Linux boots up -
>
> https://wiki.ubuntu.com/KernelTeam/HardwareEnableWithDSDT
>
> 2.  From Grub menu itself -
>
> http://events.linuxfoundation.org/sites/events/files/slides/bits-with-demo.pdf
>
>
> Regards,
> Saket Sinha
>
>
> On Wed, Oct 21, 2015 at 7:17 PM, Christophe Ricard
> <christophe.ricard at gmail.com> wrote:
>> Hi,
>>
>> I am trying to probe slave i2c devices with ACPI running Ubuntu 15.04 and
>> kernel 4.3
>> without success so far.
>>
>> I've followed guidance here:
>> http://elinux.org/Minnowboard:MinnowMaxLinuxKernel
>>
>> but i found no i2c device are probed at boot.
>>
>> For example, one default device available in the acpi table is never
>> detected: RTEK node (with ID 10EC5640).
>>
>> When adding my own device to I2C7, my device is never detected as well :(.
>>
>> For example the complete modified I2C7 is at the end of the message.
>>
>> I am compiling the kernel with options:
>> CONFIG_ACPI_CUSTOM_DSDT_FILE="dsdt.hex"
>> CONFIG_ACPI_CUSTOM_DSDT=y
>> CONFIG_ACPI_INITRD_TABLE_OVERRIDE=y
>>
>> I am running on Minnowboard firmware 0.83 with default options.
>>
>> Best Regards
>> Christophe
>>
>>          Device (I2C7)
>>          {
>>              Name (_ADR, Zero)  // _ADR: Address
>>              Name (_HID, "80860F41" /* Intel Baytrail I2C Host Controller */)
>> // _HID: Hardware ID
>>              Name (_CID, "80860F41" /* Intel Baytrail I2C Host Controller */)
>> // _CID: Compatible ID
>>              Name (_DDN, "Intel(R) I2C Controller #7 - 80860F47")  // _DDN:
>> DOS Device Name
>>              Name (_UID, 0x07)  // _UID: Unique ID
>>              Name (_DEP, Package (One)  // _DEP: Dependencies
>>              {
>>                  PEPD
>>              })
>>              Name (RBUF, ResourceTemplate ()
>>              {
>>                  Memory32Fixed (ReadWrite,
>>                      0x00000000,         // Address Base
>>                      0x00001000,         // Address Length
>>                      _Y1F)
>>                  Interrupt (ResourceConsumer, Level, ActiveLow, Exclusive, ,,
>> )
>>                  {
>>                      0x00000026,
>>                  }
>>                  FixedDMA (0x001C, 0x0004, Width32bit, )
>>                  FixedDMA (0x001D, 0x0005, Width32bit, )
>>              })
>>              Method (SSCN, 0, NotSerialized)
>>              {
>>                  Name (PKG, Package (0x03)
>>                  {
>>                      0x0200,
>>                      0x0200,
>>                      0x06
>>                  })
>>                  Return (PKG) /* \_SB_.I2C7.SSCN.PKG_ */
>>              }
>>
>>              Method (FMCN, 0, NotSerialized)
>>              {
>>                  Name (PKG, Package (0x03)
>>                  {
>>                      0x55,
>>                      0x99,
>>                      0x06
>>                  })
>>                  Return (PKG) /* \_SB_.I2C7.FMCN.PKG_ */
>>              }
>>
>>              Method (FPCN, 0, NotSerialized)
>>              {
>>                  Name (PKG, Package (0x03)
>>                  {
>>                      0x1B,
>>                      0x3A,
>>                      0x06
>>                  })
>>                  Return (PKG) /* \_SB_.I2C7.FPCN.PKG_ */
>>              }
>>
>>              Method (_HRV, 0, NotSerialized)  // _HRV: Hardware Revision
>>              {
>>                  Return (SOCS) /* \SOCS */
>>              }
>>
>>              Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource
>> Settings
>>              {
>>                  CreateDWordField (RBUF, \_SB.I2C7._Y1F._BAS, B0BA)  // _BAS:
>> Base Address
>>                  CreateDWordField (RBUF, \_SB.I2C7._Y1F._LEN, B0LN)  // _LEN:
>> Length
>>                  B0BA = I70A /* \I70A */
>>                  B0LN = I70L /* \I70L */
>>                  Return (RBUF) /* \_SB_.I2C7.RBUF */
>>              }
>>
>>              Method (_STA, 0, NotSerialized)  // _STA: Status
>>              {
>>                  If ((PCIM == One))
>>                  {
>>                      Return (Zero)
>>                  }
>>
>>                  If (((I70A == Zero) || (L27D == One)))
>>                  {
>>                      Return (Zero)
>>                  }
>>
>>                  Return (0x0F)
>>              }
>>
>>              Method (_PS3, 0, NotSerialized)  // _PS3: Power State 3
>>              {
>>                  PSAT |= 0x03
>>                  PSAT |= Zero
>>              }
>>
>>              Method (_PS0, 0, NotSerialized)  // _PS0: Power State 0
>>              {
>>                  PSAT &= 0xFFFFFFFC
>>                  PSAT |= Zero
>>              }
>>
>>              OperationRegion (KEYS, SystemMemory, I71A, 0x0100)
>>              Field (KEYS, DWordAcc, NoLock, WriteAsZeros)
>>              {
>>                  Offset (0x84),
>>                  PSAT,   32
>>              }
>>
>>              Device (NFC1)
>>              {
>>                  Name (_ADR, Zero)  // _ADR: Address
>>                  Name (_HID, "NXP5441")  // _HID: Hardware ID
>>                  Name (_CID, "NXP5441")  // _CID: Compatible ID
>>                  Name (_DDN, "NXP NFC")  // _DDN: DOS Device Name
>>                  Name (_UID, One)  // _UID: Unique ID
>>                  Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource
>> Settings
>>                  {
>>                      Name (SBUF, ResourceTemplate ()
>>                      {
>>                          I2cSerialBus (0x0028, ControllerInitiated,
>> 0x00061A80,
>>                              AddressingMode7Bit, "\\_SB.I2C7",
>>                              0x00, ResourceConsumer, ,
>>                              )
>>                          Interrupt (ResourceConsumer, Level, ActiveLow,
>> Exclusive, ,, )
>>                          {
>>                              0x00000047,
>>                          }
>>                          GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
>> IoRestrictionOutputOnly,
>>                              "\\_SB.GPO2", 0x00, ResourceConsumer, ,
>>                              )
>>                              {   // Pin list
>>                                  0x0009
>>                              }
>>                          GpioIo (Exclusive, PullDefault, 0x0000, 0x0000,
>> IoRestrictionOutputOnly,
>>                              "\\_SB.GPO2", 0x00, ResourceConsumer, ,
>>                              )
>>                              {   // Pin list
>>                                  0x0008
>>                              }
>>                      })
>>                      Return (SBUF) /* \_SB_.I2C7.NFC1._CRS.SBUF */
>>                  }
>>
>>                  Method (_STA, 0, NotSerialized)  // _STA: Status
>>                  {
>>                      If ((NFCS == One))
>>                      {
>>                          Return (0x0F)
>>                      }
>>
>>                      Return (Zero)
>>                  }
>>              }
>>          }
>>
>>          Scope (I2C7)
>>          {
>>          }
>>      }
>>
>> _______________________________________________
>> elinux-MinnowBoard mailing list
>> elinux-MinnowBoard at lists.elinux.org
>> http://lists.elinux.org/mailman/listinfo/elinux-minnowboard
>>
> _______________________________________________
> elinux-MinnowBoard mailing list
> elinux-MinnowBoard at lists.elinux.org
> http://lists.elinux.org/mailman/listinfo/elinux-minnowboard

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20151021/9e340109/attachment.html>


More information about the elinux-MinnowBoard mailing list