[MinnowBoard] Linux x86 I2C device probing with ACPI
Christophe Ricard
christophe.ricard at gmail.com
Wed Oct 21 13:47:57 UTC 2015
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)
{
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.elinux.org/pipermail/elinux-minnowboard/attachments/20151021/a8cc34a4/attachment.html>
More information about the elinux-MinnowBoard
mailing list