mbox series

[0/2] iio: imu: lsx6dsx: support SMO8B30 ACPI ID.

Message ID 20230130201018.981024-1-jic23@kernel.org (mailing list archive)
Headers show
Series iio: imu: lsx6dsx: support SMO8B30 ACPI ID. | expand

Message

Jonathan Cameron Jan. 30, 2023, 8:10 p.m. UTC
From: Jonathan Cameron <Jonathan.Cameron@huawei.com>

Darrell Kavanagh reported a failure to load the driver on his device
(for future reference, what was it?)

DSDT blob as follows.

  Scope (_SB.PCI0.I2C5)
    {
        Device (DEV)
        {
            Name (_HID, EisaId ("SMO8B30"))  // _HID: Hardware ID
            Name (_CID, EisaId ("SMO8B30"))  // _CID: Compatible ID
            Name (_UID, Zero)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (RBUF, ResourceTemplate ()
                {
                    I2cSerialBusV2 (0x006A, ControllerInitiated, 0x00061A80,
                        AddressingMode7Bit, "\\_SB.PCI0.I2C5",
                        0x00, ResourceConsumer, , Exclusive,
                        )
                })
                Return (RBUF) /* \_SB_.PCI0.I2C5.DEV_._CRS.RBUF */
            }

            Method (ROTM, 0, NotSerialized)
            {
                Name (RBUF, Package (0x03)
                {
                    "0 -1 0",
                    "1 0 0",
                    "0 0 1"
                })
                Return (RBUF) /* \_SB_.PCI0.I2C5.DEV_.ROTM.RBUF */
            }

            Method (PRIM, 0, NotSerialized)
            {
                Name (RBUF, Buffer (One)
                {
                     0x01                                             // .
                })
                Return (RBUF) /* \_SB_.PCI0.I2C5.DEV_.PRIM.RBUF */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((GAVT == 0x6A))
                {
                    Return (0x0F)
                }
                Else
                {
                    Return (Zero)
                }
            }

            Method (CALS, 1, NotSerialized)
            {
                Local0 = Arg0
                If (((Local0 == Zero) || (Local0 == Ones)))
                {
                    Local0 = BAC1 /* \BAC1 */
                    Return (Local0)
                }
                Else
                {
                    BAC1 = Local0
                    BACS = Local0
                    BSCA (0xB0)
                }
            }
        }
    }

Jonathan Cameron (2):
  iio: imu: lsm6dsx: Support SMO8B30 ACPI ID for LSM6DS3TR-C
  iio: imu: lsm6dsx: Add ACPI mount matrix retrieval

 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx.h      |  2 +-
 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 65 +++++++++++++++++++-
 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_i2c.c  | 16 ++++-
 3 files changed, 77 insertions(+), 6 deletions(-)