RE: [PATCH v5 3/4] drivers/i2c/busses/i2c-at91.c: add new driver

2011-11-22 Thread Voss, Nikolaus
Hi,

Carsten Behling wrote on 2011-11-22:
> +static void at91_twi_read_next_byte(struct at91_twi_dev *dev)
> +{
> +   *dev->buf = at91_twi_read(dev, AT91_TWI_RHR) & 0xff;
> +
> +   /* send stop if second but last byte has been read */
> +   if (--dev->buf_len == 1)
> +   at91_twi_write(dev, AT91_TWI_CR, AT91_TWI_STOP);
> 
> 
> 
> If dev->buf_len =1 at the beginning of a read transfer, a stop condition will
> never be send.

this case is already catched in at91_do_twi_transfer():

+   if (dev->msg->flags & I2C_M_RD) {
+   unsigned start_flags = AT91_TWI_START;
+
+   /* if only one byte is to be read, immediately stop transfer */
+   if (dev->buf_len <= 1 && !(dev->msg->flags & I2C_M_RECV_LEN))
+   start_flags |= AT91_TWI_STOP;
+   at91_twi_write(dev, AT91_TWI_CR, start_flags);

Thanks for reviewing,
Niko

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Waiting until probe of i2c driver is done

2011-11-22 Thread Mark Brown
On Tue, Nov 22, 2011 at 02:09:02PM +0100, Christian Gmeiner wrote:

> I found a solution, but it feels more like a hack :)
> I am using the setup callback of the pca953x driver to register
> all needed platform devices. Is there a better way?

Not at present, Linux currently doesn't have a good way to handle probe
ordering.
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Waiting until probe of i2c driver is done

2011-11-22 Thread Christian Gmeiner
Okay...

I found a solution, but it feels more like a hack :)
I am using the setup callback of the pca953x driver to register
all needed platform devices. Is there a better way?


thanks
--
Christian Gmeiner, MSc



2011/11/22 Christian Gmeiner :
> Hi ml,
>
> I run into a little problem, which I don't know how to solve it.
> I am using the eg20t i2c bus and a custom platform init
> driver, which gets started after eg20t is ready.
>
> And there I do the following:
>
> /* buzzer and relay */
> static struct gpio_led _gpio[] = {
>        {
>                .name = "relay",
>                .gpio = 0,
>                .active_low = 0,
>                .default_state = LEDS_GPIO_DEFSTATE_OFF,
>                .default_trigger = "timer",
>        }
> };
>
> static struct gpio_led_platform_data _gpio_data = {
>        .num_leds = ARRAY_SIZE(_gpio),
>        .leds = _gpio,
> };
>
> static struct platform_device _gpio_hw = {
>        .name = "leds-gpio",
>        .dev.platform_data = &_gpio_data,
> };
>
> static struct platform_device *devices_tc[] = {
>        &ot1300_gpio_hw,
> };
>
>
> int tunnelcreek_init(void)
> {
>        struct i2c_adapter *i2c_adap;
>
>        /* we use the integrated i2c adapter */
>        i2c_adap = i2c_get_adapter(0);
>
>        if (!i2c_adap)
>                return -EIO;
>
>        eeprom =  i2c_new_device(i2c_adap, &i2c_eeprom);
>        pca953x = i2c_new_device(i2c_adap, &pca9555_info);
>        lm75 = i2c_new_device(i2c_adap, &lm75_info);
>
>        platform_add_devices(devices_tc, ARRAY_SIZE(devices_tc));
>
>        return 0;
> }
>
> If I run this code I get following messages:
>
> [    1.552122] i2c 0-0050: uevent
> [    1.552307] at24 0-0050: probe
> [    1.552361] i2c 0-0051: uevent
> [    1.552530] dummy 0-0051: probe
> [    1.552544] i2c i2c-0: client [dummy] registered with bus id 0-0051
> [    1.552559] at24 0-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write
> [    1.552644] i2c i2c-0: master_xfer[0] W, addr=0x50, len=1
> [    1.552655] i2c i2c-0: master_xfer[1] R, addr=0x50, len=24
> [    1.557235] i2c i2c-0: master_xfer[0] W, addr=0x51, len=1
> [    1.557248] i2c i2c-0: master_xfer[1] R, addr=0x51, len=20
> [    1.560820] i2c i2c-0: client [24c04] registered with bus id 0-0050
> [    1.560944] i2c 0-0021: uevent
> [    1.561136] i2c i2c-0: client [pca9555] registered with bus id 0-0021
> [    1.561197] i2c 0-0048: uevent
> [    1.561357] i2c i2c-0: client [lm75] registered with bus id 0-0048
> [    1.561638] leds-gpio: probe of leds-gpio.0 failed with error -22
> [    1.568354] VFS: Mounted root (ext2 filesystem) readonly on device 8:2.
> [    1.569161] devtmpfs: mounted
> [    1.569307] Freeing unused kernel memory: 284k freed
> [    1.569725] Write protecting the kernel text: 2096k
> [    1.569880] Write protecting the kernel read-only data: 1008k
> [    1.577121] hub 1-1:1.0: USB hub found
> [    1.579246] hub 1-1:1.0: 3 ports detected
> [    1.795723] udev[1136]: starting version 164
> [    1.951100] usb 5-1: new low speed USB device number 2 using ohci_hcd
> [    1.968166] i2c 0-0021: uevent
> [    1.968284] i2c 0-0048: uevent
> [    1.968400] at24 0-0050: uevent
> [    1.968510] dummy 0-0051: uevent
> [    2.206885] i2c 0-0021: uevent
> [    2.208069] i2c 0-0048: uevent
> [    2.209305] at24 0-0050: uevent
> [    2.209928] at24 0-0050: uevent
> [    2.210459] dummy 0-0051: uevent
> [    2.211089] dummy 0-0051: uevent
> [    2.245582] pca953x 0-0021: probe
> [    2.245607] i2c i2c-0: master_xfer[0] W, addr=0x21, len=1
> [    2.245624] i2c i2c-0: master_xfer[1] R, addr=0x21, len=2
> [    2.250589] i2c i2c-0: master_xfer[0] W, addr=0x21, len=1
> [    2.250607] i2c i2c-0: master_xfer[1] R, addr=0x21, len=2
> [    2.251338] i2c i2c-0: master_xfer[0] W, addr=0x21, len=3
> [    2.251900] pca953x 0-0021: interrupt support not compiled in
> [    2.252236] i2c-core: driver [pca953x] registered
> [
>
> The problem is that leds-gpio gets loaded before pca953x driver
> is ready. So no gpio's are available. Whats the best way to fix this?
>
> Thanks
> --
> Christian Gmeiner, MSc
>
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH RESEND] drivers: i2c: s3c2410: add support for HDMIPHY dedicated controller

2011-11-22 Thread Tomasz Stanislawski

Hello Ben,
Recently, I've been asked a few times for help with S5P-TV drivers.
The problems were caused by HDMIPHY driver. The driver failed due to the 
lack of i2c-s3c2410 patch. Merging the patch is needed for HDMI support 
for S5P platform.


What is the current state of the patch?
Is it going to be merged in 3.3?

Best regards,
Tomasz Stanislawski

On 10/11/2011 01:01 PM, Kukjin Kim wrote:

Marek Szyprowski wrote:


From: Tomasz Stanislawski

This patch adds support for I2C HDMIPHY dedicated controller. It has
different timeout handling and reset conditions.

Signed-off-by: Tomasz Stanislawski
Signed-off-by: Kyungmin Park
Signed-off-by: Marek Szyprowski


Acked-by: Kukjin Kim

Hi Ben,

If you're ok with this, please apply this to go to upstream via your i2c
tree.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.

--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Still problems wit egt20 i2c driver

2011-11-22 Thread Tomoya MORINAGA
Hi Christian,

Good news!

Except "[PATCH] i2c-eg20t: modified the setting of transfer rate",
all patches already accepted.
So, they will got into linux-3.3.

Thanks,

---
tomoya
ROHM Co., Ltd

2011/11/22 Christian Gmeiner :
>> Hi Christian,
>>
>> I attached the latest our i2c-eg20t source file.
>> Is your source file the same as this?
>
> Hi,
>
> the file is the same... but I have some good news for you :) After
> hooking up an oszi
> to the i2c bus we found a problem with our custom hardware. It works
> now as required.
> Sorry for for all this noise. Whats the sate of your i2c patches? Will
> they go into v3.3?
> I am willing to add my signed off line if needed/wanted.
>
> thanks
> --
> Christian Gmeiner, MSc
>
>
>
> 2011/11/22 Tomoya MORINAGA :
>> Hi Christian,
>>
>> I attached the latest our i2c-eg20t source file.
>> Is your source file the same as this?
>>
>> Regards,
>> ---
>> tomoya
>> ROHM Co., Ltd
>>
>> 2011/11/21 Christian Gmeiner :
>>> Hi all,
>>>
>>> I still have some problems with the egt20 i2c driver. I am running a
>>> 3.1.1 kernel with the following
>>> patches applied to it:
>>>
>>> * [PATCH 1/7 v4] i2c-eg20t: Fix bus-idle waiting issue -
>>> https://lkml.org/lkml/2011/10/12/3
>>> * [PATCH 2/7 v4] i2c-eg20t: Modify returned value s32 to long -
>>> https://lkml.org/lkml/2011/10/12/1
>>> * [PATCH 3/7 v2] i2c-eg20t: Fix 10bit access issue -
>>> https://lkml.org/lkml/2011/10/12/7
>>> * [PATCH 4/7 v4] i2c-eg20t: Separate error processing -
>>> https://lkml.org/lkml/2011/10/12/6
>>> * [PATCH 5/7 v4] i2c-eg20t: add stop sequence in case wait-event
>>> timeout occurs - https://lkml.org/lkml/2011/10/12/5
>>> * [PATCH 6/7 v4] i2c-eg20t: Fix flag setting issue -
>>> https://lkml.org/lkml/2011/10/12/2
>>> * [PATCH 7/7 v4] i2c-eg20t: Add initialize processing in case
>>> i2c-error occurs - https://lkml.org/lkml/2011/10/12/4
>>> * [PATCH] i2c-eg20t: modified the setting of transfer rate. -
>>> http://marc.info/?l=linux-i2c&m=131702145913299&w=2
>>>
>>> I have a PCA9555 (drivers/gpio/gpio-pca953x.c) at i2c addr 0x48.
>>>
>>> [   21.505138] pca953x 0-0048: probe
>>> [   21.505157] i2c i2c-0: master_xfer[0] W, addr=0x48, len=1
>>> [   21.505168] i2c i2c-0: master_xfer[1] R, addr=0x48, len=2
>>> [   21.505180] i2c_eg20t :02:0c.2: pch_i2c_xfer
>>> :adap->p_adapter_info->pch_i2c_suspended is 0
>>> [   21.505190] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>>> I2C_MODE_SEL :flag= 0x0
>>> [   21.505206] i2c_eg20t :02:0c.2: pch_i2c_writebytes :I2CCTL =
>>> 390 msgs->len = 1
>>> [   21.505220] i2c_eg20t :02:0c.2: pch_i2c_start :I2CCTL = 390
>>> [   21.505353] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.508667] i2c_eg20t :02:0c.2: pch_i2c_writebytes :writing 2
>>> to Data register
>>> [   21.508772] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.510043] i2c_eg20t :02:0c.2: pch_i2c_repstart :I2CCTL = 3b0
>>> [   21.510058] i2c_eg20t :02:0c.2: pch_i2c_writebytes :return=1
>>> [   21.510068] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>>> I2C_MODE_SEL :flag= 0x1
>>> [   21.510209] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.517833] i2c_eg20t :02:0c.2: pch_i2c_sendack :I2CCTL = 3a0
>>> [   21.517962] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.517992] i2c_eg20t :02:0c.2: pch_i2c_sendnack :I2CCTL = 3a0
>>> [   21.518114] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.518230] i2c_eg20t :02:0c.2: pch_i2c_stop :I2CCTL = 3a8
>>> [   21.518251] i2c i2c-0: master_xfer[0] W, addr=0x48, len=1
>>> [   21.518261] i2c i2c-0: master_xfer[1] R, addr=0x48, len=2
>>> [   21.518271] i2c_eg20t :02:0c.2: pch_i2c_xfer
>>> :adap->p_adapter_info->pch_i2c_suspended is 0
>>> [   21.518281] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>>> I2C_MODE_SEL :flag= 0x0
>>> [   21.518296] i2c_eg20t :02:0c.2: pch_i2c_writebytes :I2CCTL =
>>> 398 msgs->len = 1
>>> [   21.518311] i2c_eg20t :02:0c.2: pch_i2c_start :I2CCTL = 398
>>> [   21.518442] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.520533] i2c_eg20t :02:0c.2: pch_i2c_writebytes :writing 6
>>> to Data register
>>> [   21.520627] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.520709] i2c_eg20t :02:0c.2: pch_i2c_repstart :I2CCTL = 3b8
>>> [   21.520721] i2c_eg20t :02:0c.2: pch_i2c_writebytes :return=1
>>> [   21.520731] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>>> I2C_MODE_SEL :flag= 0x1
>>> [   21.520868] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.522841] i2c_eg20t :02:0c.2: pch_i2c_sendack :I2CCTL = 3a8
>>> [   21.522968] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.523533] i2c_eg20t :02:0c.2: pch_i2c_sendnack :I2CCTL = 3a0
>>> [   21.523660] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>>> [   21.523785] i2c_eg20t :02:0c.2: pch_i2c_stop :I2CCTL = 3a8
>>> [   21.523807] i2c i2c-0: master_xfer[0] W, addr=0x48, len=3
>>> [   21.523817

Waiting until probe of i2c driver is done

2011-11-22 Thread Christian Gmeiner
Hi ml,

I run into a little problem, which I don't know how to solve it.
I am using the eg20t i2c bus and a custom platform init
driver, which gets started after eg20t is ready.

And there I do the following:

/* buzzer and relay */
static struct gpio_led _gpio[] = {
{
.name = "relay",
.gpio = 0,
.active_low = 0,
.default_state = LEDS_GPIO_DEFSTATE_OFF,
.default_trigger = "timer",
}
};

static struct gpio_led_platform_data _gpio_data = {
.num_leds = ARRAY_SIZE(_gpio),
.leds = _gpio,
};

static struct platform_device _gpio_hw = {
.name = "leds-gpio",
.dev.platform_data = &_gpio_data,
};

static struct platform_device *devices_tc[] = {
&ot1300_gpio_hw,
};


int tunnelcreek_init(void)
{
struct i2c_adapter *i2c_adap;

/* we use the integrated i2c adapter */
i2c_adap = i2c_get_adapter(0);

if (!i2c_adap)
return -EIO;

eeprom =  i2c_new_device(i2c_adap, &i2c_eeprom);
pca953x = i2c_new_device(i2c_adap, &pca9555_info);
lm75 = i2c_new_device(i2c_adap, &lm75_info);

platform_add_devices(devices_tc, ARRAY_SIZE(devices_tc));

return 0;
}

If I run this code I get following messages:

[1.552122] i2c 0-0050: uevent
[1.552307] at24 0-0050: probe
[1.552361] i2c 0-0051: uevent
[1.552530] dummy 0-0051: probe
[1.552544] i2c i2c-0: client [dummy] registered with bus id 0-0051
[1.552559] at24 0-0050: 512 byte 24c04 EEPROM, writable, 16 bytes/write
[1.552644] i2c i2c-0: master_xfer[0] W, addr=0x50, len=1
[1.552655] i2c i2c-0: master_xfer[1] R, addr=0x50, len=24
[1.557235] i2c i2c-0: master_xfer[0] W, addr=0x51, len=1
[1.557248] i2c i2c-0: master_xfer[1] R, addr=0x51, len=20
[1.560820] i2c i2c-0: client [24c04] registered with bus id 0-0050
[1.560944] i2c 0-0021: uevent
[1.561136] i2c i2c-0: client [pca9555] registered with bus id 0-0021
[1.561197] i2c 0-0048: uevent
[1.561357] i2c i2c-0: client [lm75] registered with bus id 0-0048
[1.561638] leds-gpio: probe of leds-gpio.0 failed with error -22
[1.568354] VFS: Mounted root (ext2 filesystem) readonly on device 8:2.
[1.569161] devtmpfs: mounted
[1.569307] Freeing unused kernel memory: 284k freed
[1.569725] Write protecting the kernel text: 2096k
[1.569880] Write protecting the kernel read-only data: 1008k
[1.577121] hub 1-1:1.0: USB hub found
[1.579246] hub 1-1:1.0: 3 ports detected
[1.795723] udev[1136]: starting version 164
[1.951100] usb 5-1: new low speed USB device number 2 using ohci_hcd
[1.968166] i2c 0-0021: uevent
[1.968284] i2c 0-0048: uevent
[1.968400] at24 0-0050: uevent
[1.968510] dummy 0-0051: uevent
[2.206885] i2c 0-0021: uevent
[2.208069] i2c 0-0048: uevent
[2.209305] at24 0-0050: uevent
[2.209928] at24 0-0050: uevent
[2.210459] dummy 0-0051: uevent
[2.211089] dummy 0-0051: uevent
[2.245582] pca953x 0-0021: probe
[2.245607] i2c i2c-0: master_xfer[0] W, addr=0x21, len=1
[2.245624] i2c i2c-0: master_xfer[1] R, addr=0x21, len=2
[2.250589] i2c i2c-0: master_xfer[0] W, addr=0x21, len=1
[2.250607] i2c i2c-0: master_xfer[1] R, addr=0x21, len=2
[2.251338] i2c i2c-0: master_xfer[0] W, addr=0x21, len=3
[2.251900] pca953x 0-0021: interrupt support not compiled in
[2.252236] i2c-core: driver [pca953x] registered
[

The problem is that leds-gpio gets loaded before pca953x driver
is ready. So no gpio's are available. Whats the best way to fix this?

Thanks
--
Christian Gmeiner, MSc
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Still problems wit egt20 i2c driver

2011-11-22 Thread Christian Gmeiner
> Hi Christian,
>
> I attached the latest our i2c-eg20t source file.
> Is your source file the same as this?

Hi,

the file is the same... but I have some good news for you :) After
hooking up an oszi
to the i2c bus we found a problem with our custom hardware. It works
now as required.
Sorry for for all this noise. Whats the sate of your i2c patches? Will
they go into v3.3?
I am willing to add my signed off line if needed/wanted.

thanks
--
Christian Gmeiner, MSc



2011/11/22 Tomoya MORINAGA :
> Hi Christian,
>
> I attached the latest our i2c-eg20t source file.
> Is your source file the same as this?
>
> Regards,
> ---
> tomoya
> ROHM Co., Ltd
>
> 2011/11/21 Christian Gmeiner :
>> Hi all,
>>
>> I still have some problems with the egt20 i2c driver. I am running a
>> 3.1.1 kernel with the following
>> patches applied to it:
>>
>> * [PATCH 1/7 v4] i2c-eg20t: Fix bus-idle waiting issue -
>> https://lkml.org/lkml/2011/10/12/3
>> * [PATCH 2/7 v4] i2c-eg20t: Modify returned value s32 to long -
>> https://lkml.org/lkml/2011/10/12/1
>> * [PATCH 3/7 v2] i2c-eg20t: Fix 10bit access issue -
>> https://lkml.org/lkml/2011/10/12/7
>> * [PATCH 4/7 v4] i2c-eg20t: Separate error processing -
>> https://lkml.org/lkml/2011/10/12/6
>> * [PATCH 5/7 v4] i2c-eg20t: add stop sequence in case wait-event
>> timeout occurs - https://lkml.org/lkml/2011/10/12/5
>> * [PATCH 6/7 v4] i2c-eg20t: Fix flag setting issue -
>> https://lkml.org/lkml/2011/10/12/2
>> * [PATCH 7/7 v4] i2c-eg20t: Add initialize processing in case
>> i2c-error occurs - https://lkml.org/lkml/2011/10/12/4
>> * [PATCH] i2c-eg20t: modified the setting of transfer rate. -
>> http://marc.info/?l=linux-i2c&m=131702145913299&w=2
>>
>> I have a PCA9555 (drivers/gpio/gpio-pca953x.c) at i2c addr 0x48.
>>
>> [   21.505138] pca953x 0-0048: probe
>> [   21.505157] i2c i2c-0: master_xfer[0] W, addr=0x48, len=1
>> [   21.505168] i2c i2c-0: master_xfer[1] R, addr=0x48, len=2
>> [   21.505180] i2c_eg20t :02:0c.2: pch_i2c_xfer
>> :adap->p_adapter_info->pch_i2c_suspended is 0
>> [   21.505190] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>> I2C_MODE_SEL :flag= 0x0
>> [   21.505206] i2c_eg20t :02:0c.2: pch_i2c_writebytes :I2CCTL =
>> 390 msgs->len = 1
>> [   21.505220] i2c_eg20t :02:0c.2: pch_i2c_start :I2CCTL = 390
>> [   21.505353] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.508667] i2c_eg20t :02:0c.2: pch_i2c_writebytes :writing 2
>> to Data register
>> [   21.508772] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.510043] i2c_eg20t :02:0c.2: pch_i2c_repstart :I2CCTL = 3b0
>> [   21.510058] i2c_eg20t :02:0c.2: pch_i2c_writebytes :return=1
>> [   21.510068] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>> I2C_MODE_SEL :flag= 0x1
>> [   21.510209] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.517833] i2c_eg20t :02:0c.2: pch_i2c_sendack :I2CCTL = 3a0
>> [   21.517962] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.517992] i2c_eg20t :02:0c.2: pch_i2c_sendnack :I2CCTL = 3a0
>> [   21.518114] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.518230] i2c_eg20t :02:0c.2: pch_i2c_stop :I2CCTL = 3a8
>> [   21.518251] i2c i2c-0: master_xfer[0] W, addr=0x48, len=1
>> [   21.518261] i2c i2c-0: master_xfer[1] R, addr=0x48, len=2
>> [   21.518271] i2c_eg20t :02:0c.2: pch_i2c_xfer
>> :adap->p_adapter_info->pch_i2c_suspended is 0
>> [   21.518281] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>> I2C_MODE_SEL :flag= 0x0
>> [   21.518296] i2c_eg20t :02:0c.2: pch_i2c_writebytes :I2CCTL =
>> 398 msgs->len = 1
>> [   21.518311] i2c_eg20t :02:0c.2: pch_i2c_start :I2CCTL = 398
>> [   21.518442] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.520533] i2c_eg20t :02:0c.2: pch_i2c_writebytes :writing 6
>> to Data register
>> [   21.520627] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.520709] i2c_eg20t :02:0c.2: pch_i2c_repstart :I2CCTL = 3b8
>> [   21.520721] i2c_eg20t :02:0c.2: pch_i2c_writebytes :return=1
>> [   21.520731] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>> I2C_MODE_SEL :flag= 0x1
>> [   21.520868] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.522841] i2c_eg20t :02:0c.2: pch_i2c_sendack :I2CCTL = 3a8
>> [   21.522968] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.523533] i2c_eg20t :02:0c.2: pch_i2c_sendnack :I2CCTL = 3a0
>> [   21.523660] i2c_eg20t :02:0c.2: pch_i2c_cb :PCH_I2CSR = 28
>> [   21.523785] i2c_eg20t :02:0c.2: pch_i2c_stop :I2CCTL = 3a8
>> [   21.523807] i2c i2c-0: master_xfer[0] W, addr=0x48, len=3
>> [   21.523817] i2c_eg20t :02:0c.2: pch_i2c_xfer
>> :adap->p_adapter_info->pch_i2c_suspended is 0
>> [   21.523827] i2c_eg20t :02:0c.2: pch_i2c_xfer :After invoking
>> I2C_MODE_SEL :flag= 0x0
>> [   21.523842] i2c_eg20t :02:0c.2: pch_i2c_writebytes :I2CCTL =
>> 398 msgs->len = 3
>> [   21.523856] i2c_eg20t :02:0c.2: pch_i2c_start :I2CCTL =