From: xudong chen <xudong.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
To: Wolfram Sang <wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org>
Cc: Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
Matthias Brugger
<matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org,
Sascha Hauer <kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Pawel Moll <pawel.moll-5wv7dgnIgG8@public.gmane.org>,
Ian Campbell
<ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org>,
Kumar Gala <galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>,
Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Jean Delvare <jdelvare-l3A5Bk7waGM@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
Yingjoe Chen
<yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
Eddie Huang <eddie.huang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
Nathan Chung
<nathan.chung-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>,
YH Chen <yh.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
Subject: Re: [PATCH v2 0/3] ARM: mediatek: Add driver for Mediatek I2C controller
Date: Fri, 14 Nov 2014 11:12:32 +0800 [thread overview]
Message-ID: <1415934752.2152.58.camel@mhfsdcap03> (raw)
In-Reply-To: <20141113183122.GH1275@katana>
On Thu, 2014-11-13 at 19:31 +0100, Wolfram Sang wrote:
> > MTK I2C HW has some limitation.
> > 1. If the i2c_msg number is more than one, STOP will be issued instead of
> > RS(Repeat Start) between each message.
> >
> > 2. Mediatek I2C controller support WRRD(write then read) mode, in WRRD
> > mode the Repeat Start will be issued between 2 messages.
> > In this driver if 2 messages is first write then read, the driver will
> > combine 2 messages using Write-Read mode so the RS will be issued between
> > the 2 messages.
> > Ex: W/R/R, driver will combine first W/R and then R.
> >
> > 3. Due to HW limitation, in this version the max transfer data length is 255
> > in one message.
>
> This looks to me more like an SMBUS controller instead of I2C. Maybe you
> should populate smbus_xfer rather than master_xfer?
This is the HW limitation, we will try to workaround this in the
separate patch.
>
> > MT8135 and MT6589 can control I2C pins on PMIC(MT6397) by setting the i2c
> > registers in MT8135 side.
>
> I still didn't get this, even after reading the mail thread of old
> series. Can someone maybe draw me a nice ASCII picture showing the setup
> which is going on here?
>
1. The DIR_PATH register is in MT8135.
2. All the registers used in the driver are in MT8135.
3. If want I2C wave go/from PMIC need to set the DIR_PATH register bit^0
to 1 extra.
>From the picture:
If MT8135 connected to PMIC(MT6397), when set the DIR_PATH register
bit^0 to 1, the HW will transfer the i2c wave from pins(SDA4_pmic &
SCL4_pmic) on MT6397 side.
If want use pins(SDA4 & SCL4) on 8135 side directly, we should set the
DIR_PATH register bit^0 to 0.
_______ ________
| |______| |
| | | PMIC |
| 8135 |______| (6397)|___SDA4_pmic
| | | |___SCL4_pmic
!______! !_______!
| |
SDA4 SCL4
Thanks!
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: xudong.chen@mediatek.com (xudong chen)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 0/3] ARM: mediatek: Add driver for Mediatek I2C controller
Date: Fri, 14 Nov 2014 11:12:32 +0800 [thread overview]
Message-ID: <1415934752.2152.58.camel@mhfsdcap03> (raw)
In-Reply-To: <20141113183122.GH1275@katana>
On Thu, 2014-11-13 at 19:31 +0100, Wolfram Sang wrote:
> > MTK I2C HW has some limitation.
> > 1. If the i2c_msg number is more than one, STOP will be issued instead of
> > RS(Repeat Start) between each message.
> >
> > 2. Mediatek I2C controller support WRRD(write then read) mode, in WRRD
> > mode the Repeat Start will be issued between 2 messages.
> > In this driver if 2 messages is first write then read, the driver will
> > combine 2 messages using Write-Read mode so the RS will be issued between
> > the 2 messages.
> > Ex: W/R/R, driver will combine first W/R and then R.
> >
> > 3. Due to HW limitation, in this version the max transfer data length is 255
> > in one message.
>
> This looks to me more like an SMBUS controller instead of I2C. Maybe you
> should populate smbus_xfer rather than master_xfer?
This is the HW limitation, we will try to workaround this in the
separate patch.
>
> > MT8135 and MT6589 can control I2C pins on PMIC(MT6397) by setting the i2c
> > registers in MT8135 side.
>
> I still didn't get this, even after reading the mail thread of old
> series. Can someone maybe draw me a nice ASCII picture showing the setup
> which is going on here?
>
1. The DIR_PATH register is in MT8135.
2. All the registers used in the driver are in MT8135.
3. If want I2C wave go/from PMIC need to set the DIR_PATH register bit^0
to 1 extra.
>From the picture:
If MT8135 connected to PMIC(MT6397), when set the DIR_PATH register
bit^0 to 1, the HW will transfer the i2c wave from pins(SDA4_pmic &
SCL4_pmic) on MT6397 side.
If want use pins(SDA4 & SCL4) on 8135 side directly, we should set the
DIR_PATH register bit^0 to 0.
_______ ________
| |______| |
| | | PMIC |
| 8135 |______| (6397)|___SDA4_pmic
| | | |___SCL4_pmic
!______! !_______!
| |
SDA4 SCL4
Thanks!
WARNING: multiple messages have this Message-ID (diff)
From: xudong chen <xudong.chen@mediatek.com>
To: Wolfram Sang <wsa@the-dreams.de>
Cc: Mark Rutland <mark.rutland@arm.com>, <arm@kernel.org>,
Matthias Brugger <matthias.bgg@gmail.com>,
<srv_heupstream@mediatek.com>,
Sascha Hauer <kernel@pengutronix.de>,
Rob Herring <robh+dt@kernel.org>, Pawel Moll <pawel.moll@arm.com>,
Ian Campbell <ijc+devicetree@hellion.org.uk>,
"Kumar Gala" <galak@codeaurora.org>,
Russell King <linux@arm.linux.org.uk>,
"Grant Likely" <grant.likely@linaro.org>,
Jean Delvare <jdelvare@suse.de>, "Arnd Bergmann" <arnd@arndb.de>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-i2c@vger.kernel.org>,
Yingjoe Chen <yingjoe.chen@mediatek.com>,
"Eddie Huang" <eddie.huang@mediatek.com>,
Nathan Chung <nathan.chung@mediatek.com>,
YH Chen <yh.chen@mediatek.com>
Subject: Re: [PATCH v2 0/3] ARM: mediatek: Add driver for Mediatek I2C controller
Date: Fri, 14 Nov 2014 11:12:32 +0800 [thread overview]
Message-ID: <1415934752.2152.58.camel@mhfsdcap03> (raw)
In-Reply-To: <20141113183122.GH1275@katana>
On Thu, 2014-11-13 at 19:31 +0100, Wolfram Sang wrote:
> > MTK I2C HW has some limitation.
> > 1. If the i2c_msg number is more than one, STOP will be issued instead of
> > RS(Repeat Start) between each message.
> >
> > 2. Mediatek I2C controller support WRRD(write then read) mode, in WRRD
> > mode the Repeat Start will be issued between 2 messages.
> > In this driver if 2 messages is first write then read, the driver will
> > combine 2 messages using Write-Read mode so the RS will be issued between
> > the 2 messages.
> > Ex: W/R/R, driver will combine first W/R and then R.
> >
> > 3. Due to HW limitation, in this version the max transfer data length is 255
> > in one message.
>
> This looks to me more like an SMBUS controller instead of I2C. Maybe you
> should populate smbus_xfer rather than master_xfer?
This is the HW limitation, we will try to workaround this in the
separate patch.
>
> > MT8135 and MT6589 can control I2C pins on PMIC(MT6397) by setting the i2c
> > registers in MT8135 side.
>
> I still didn't get this, even after reading the mail thread of old
> series. Can someone maybe draw me a nice ASCII picture showing the setup
> which is going on here?
>
1. The DIR_PATH register is in MT8135.
2. All the registers used in the driver are in MT8135.
3. If want I2C wave go/from PMIC need to set the DIR_PATH register bit^0
to 1 extra.
>From the picture:
If MT8135 connected to PMIC(MT6397), when set the DIR_PATH register
bit^0 to 1, the HW will transfer the i2c wave from pins(SDA4_pmic &
SCL4_pmic) on MT6397 side.
If want use pins(SDA4 & SCL4) on 8135 side directly, we should set the
DIR_PATH register bit^0 to 0.
_______ ________
| |______| |
| | | PMIC |
| 8135 |______| (6397)|___SDA4_pmic
| | | |___SCL4_pmic
!______! !_______!
| |
SDA4 SCL4
Thanks!
next prev parent reply other threads:[~2014-11-14 3:12 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-04 5:29 [PATCH v2 0/3] ARM: mediatek: Add driver for Mediatek I2C controller Xudong Chen
2014-11-04 5:29 ` Xudong Chen
2014-11-04 5:29 ` Xudong Chen
[not found] ` <1415078977-18374-1-git-send-email-xudong.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2014-11-04 5:29 ` [PATCH v2 1/3] dt-bindings: Add I2C bindings for mt65xx/mt81xx Xudong Chen
2014-11-04 5:29 ` Xudong Chen
2014-11-04 5:29 ` Xudong Chen
[not found] ` <1415078977-18374-2-git-send-email-xudong.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2014-11-13 18:16 ` Wolfram Sang
2014-11-13 18:16 ` Wolfram Sang
2014-11-13 18:16 ` Wolfram Sang
2014-11-14 3:13 ` xudong chen
2014-11-14 3:13 ` xudong chen
2014-11-14 3:13 ` xudong chen
2014-11-04 5:29 ` [PATCH v2 2/3] ARM: mediatek: Add I2C node for mt8135 and mt8127 Xudong Chen
2014-11-04 5:29 ` Xudong Chen
2014-11-04 5:29 ` Xudong Chen
2014-11-13 2:08 ` [PATCH v2 0/3] ARM: mediatek: Add driver for Mediatek I2C controller xudong chen
2014-11-13 2:08 ` xudong chen
2014-11-13 2:08 ` xudong chen
2014-11-13 18:31 ` Wolfram Sang
2014-11-13 18:31 ` Wolfram Sang
2014-11-13 18:31 ` Wolfram Sang
2014-11-14 3:12 ` xudong chen [this message]
2014-11-14 3:12 ` xudong chen
2014-11-14 3:12 ` xudong chen
2014-11-14 8:00 ` Yingjoe Chen
2014-11-14 8:00 ` Yingjoe Chen
2014-11-14 8:00 ` Yingjoe Chen
2014-11-18 10:07 ` xudong chen
2014-11-18 10:07 ` xudong chen
2014-11-18 10:07 ` xudong chen
2014-11-04 5:29 ` [PATCH v2 3/3] I2C: mediatek: Add driver for MediaTek " Xudong Chen
2014-11-04 5:29 ` Xudong Chen
2014-11-04 5:29 ` Xudong Chen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1415934752.2152.58.camel@mhfsdcap03 \
--to=xudong.chen-nus5lvnupcjwk0htik3j/w@public.gmane.org \
--cc=arm-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=eddie.huang-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=galak-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=ijc+devicetree-KcIKpvwj1kUDXYZnReoRVg@public.gmane.org \
--cc=jdelvare-l3A5Bk7waGM@public.gmane.org \
--cc=kernel-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=nathan.chung-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=pawel.moll-5wv7dgnIgG8@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=srv_heupstream-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org \
--cc=yh.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
--cc=yingjoe.chen-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.