From: Mika Westerberg <mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
To: Christian Ruppert
<christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org>
Cc: Shinya Kuribayashi
<skuribay-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>,
linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
wsa-z923LK4zBo2bacvFa/9K2g@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH 1/2] i2c-designware: make *CNT values configurable
Date: Mon, 19 Aug 2013 09:39:28 +0300 [thread overview]
Message-ID: <20130819063928.GH4898@intel.com> (raw)
In-Reply-To: <20130716111616.GA25835-7oYq3qWSd+k@public.gmane.org>
Sorry for the slooow response, I've been on vacation.
On Tue, Jul 16, 2013 at 01:16:18PM +0200, Christian Ruppert wrote:
> > Second step is that if current i2c_dw_scl_hcnt and i2c_dw_scl_lcnt
> > calculations don't suit with later DW I2C cores, then it would be
> > nice for someone who can access to the data book to update formulas,
> > or provide alternative formulas and make them selectable depending
> > on DW core versions.
>
> I'm not having the impression there is a huge difference between the
> different generations of DW blocks. Probably we can find one formula
> that suits all blocks. We just have to be careful (in doubt rather
> conservative) with the transition times. This seems to be currently
> the case and if I understand Mika correctly, his objective is to remove
> some of this conservatism.
What I had originally in mind was that we could just pass whatever
HCNT/LCNT values we get from system FW (with the help of ACPI or DT).
However, if we can make the HCNT/LCNT calculation more accurate using tf
and tr, that are passed from DT or platform data, we should implement that
as well (as a separate patch).
> > It always helps us to have a way to calculate *HCNT and *LCNT values
> > automatically. As said above, DW I2C core can control tHIGH, tLOW,
> > tHD;STA, etc. quite _accurate_, if HCNT/LCNT values were calculated
> > with proper formulas. It also helps hardware people as well to
> > provide reference HCNT/LCNT values.
> >
> > And as a third step, if we want to use optimized HCNT/LCNT values
> > which can not be obtained from proper formulas + user-requested
> > tf/tr, or if we want to use HCNT/LCNT settings verified by vendors
> > or provided from hardware team, then I'm fine with having a way to
> > _override_ HCNT/LCNT values. Such direct way might be useful.
>
> I agree. Probably it is best to have both, a default method based on
> formulas and timing parameters (the formulas are quite simple anyway)
> which works with device tree and such and a second method based on
> register values which works with mechanisms like ACPI.
I agree.
I'm going to post a new version of this patch (and the SDA hold patch) that
takes care of the ACPI case if there are no objections.
WARNING: multiple messages have this Message-ID (diff)
From: Mika Westerberg <mika.westerberg@linux.intel.com>
To: Christian Ruppert <christian.ruppert@abilis.com>
Cc: Shinya Kuribayashi <skuribay@pobox.com>,
linux-i2c@vger.kernel.org, wsa@the-dreams.de,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/2] i2c-designware: make *CNT values configurable
Date: Mon, 19 Aug 2013 09:39:28 +0300 [thread overview]
Message-ID: <20130819063928.GH4898@intel.com> (raw)
In-Reply-To: <20130716111616.GA25835@ab42.lan>
Sorry for the slooow response, I've been on vacation.
On Tue, Jul 16, 2013 at 01:16:18PM +0200, Christian Ruppert wrote:
> > Second step is that if current i2c_dw_scl_hcnt and i2c_dw_scl_lcnt
> > calculations don't suit with later DW I2C cores, then it would be
> > nice for someone who can access to the data book to update formulas,
> > or provide alternative formulas and make them selectable depending
> > on DW core versions.
>
> I'm not having the impression there is a huge difference between the
> different generations of DW blocks. Probably we can find one formula
> that suits all blocks. We just have to be careful (in doubt rather
> conservative) with the transition times. This seems to be currently
> the case and if I understand Mika correctly, his objective is to remove
> some of this conservatism.
What I had originally in mind was that we could just pass whatever
HCNT/LCNT values we get from system FW (with the help of ACPI or DT).
However, if we can make the HCNT/LCNT calculation more accurate using tf
and tr, that are passed from DT or platform data, we should implement that
as well (as a separate patch).
> > It always helps us to have a way to calculate *HCNT and *LCNT values
> > automatically. As said above, DW I2C core can control tHIGH, tLOW,
> > tHD;STA, etc. quite _accurate_, if HCNT/LCNT values were calculated
> > with proper formulas. It also helps hardware people as well to
> > provide reference HCNT/LCNT values.
> >
> > And as a third step, if we want to use optimized HCNT/LCNT values
> > which can not be obtained from proper formulas + user-requested
> > tf/tr, or if we want to use HCNT/LCNT settings verified by vendors
> > or provided from hardware team, then I'm fine with having a way to
> > _override_ HCNT/LCNT values. Such direct way might be useful.
>
> I agree. Probably it is best to have both, a default method based on
> formulas and timing parameters (the formulas are quite simple anyway)
> which works with device tree and such and a second method based on
> register values which works with mechanisms like ACPI.
I agree.
I'm going to post a new version of this patch (and the SDA hold patch) that
takes care of the ACPI case if there are no objections.
next prev parent reply other threads:[~2013-08-19 6:39 UTC|newest]
Thread overview: 74+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-08 11:45 [PATCH 1/2] i2c-designware: make *CNT values configurable Mika Westerberg
2013-07-08 11:45 ` Mika Westerberg
[not found] ` <1373283927-21677-1-git-send-email-mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2013-07-08 11:45 ` [PATCH 2/2] i2c-designware: configure *CNT values from ACPI Mika Westerberg
2013-07-08 11:45 ` Mika Westerberg
[not found] ` <1373283927-21677-2-git-send-email-mika.westerberg-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>
2013-07-10 13:01 ` Mika Westerberg
2013-07-10 13:01 ` Mika Westerberg
2013-07-08 13:42 ` [PATCH 1/2] i2c-designware: make *CNT values configurable Christian Ruppert
2013-07-08 13:42 ` Christian Ruppert
[not found] ` <20130708134216.GB6402-7oYq3qWSd+k@public.gmane.org>
2013-07-09 8:44 ` Mika Westerberg
2013-07-09 8:44 ` Mika Westerberg
[not found] ` <20130709084402.GF4898-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-07-09 16:19 ` Christian Ruppert
2013-07-09 16:19 ` Christian Ruppert
[not found] ` <20130709161927.GC30236-7oYq3qWSd+k@public.gmane.org>
2013-07-10 10:52 ` Mika Westerberg
2013-07-10 10:52 ` Mika Westerberg
[not found] ` <20130710105215.GY4898-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-07-10 16:56 ` Christian Ruppert
2013-07-10 16:56 ` Christian Ruppert
[not found] ` <20130710165634.GA30693-7oYq3qWSd+k@public.gmane.org>
2013-07-11 7:36 ` Mika Westerberg
2013-07-11 7:36 ` Mika Westerberg
2013-07-11 10:13 ` Mika Westerberg
[not found] ` <20130711101330.GP4898-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-07-12 7:56 ` Shinya Kuribayashi
2013-07-12 7:56 ` Shinya Kuribayashi
[not found] ` <51DFB6C1.4040001-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2013-07-12 8:51 ` Mika Westerberg
2013-07-12 8:51 ` Mika Westerberg
[not found] ` <20130712085140.GY4898-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-07-13 5:36 ` Shinya Kuribayashi
2013-07-13 5:36 ` Shinya Kuribayashi
[not found] ` <51E0E76B.1040304-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2013-07-16 11:16 ` Christian Ruppert
2013-07-16 11:16 ` Christian Ruppert
[not found] ` <20130716111616.GA25835-7oYq3qWSd+k@public.gmane.org>
2013-07-17 14:39 ` Shinya Kuribayashi
2013-07-17 14:39 ` Shinya Kuribayashi
[not found] ` <51E6ACBE.7000509-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2013-07-22 13:17 ` Christian Ruppert
2013-07-22 13:17 ` Christian Ruppert
[not found] ` <20130722131706.GA24081-7oYq3qWSd+k@public.gmane.org>
2013-07-24 14:31 ` Shinya Kuribayashi
2013-07-24 14:31 ` Shinya Kuribayashi
[not found] ` <51EFE550.1000507-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2013-08-05 9:31 ` Christian Ruppert
2013-08-05 9:31 ` Christian Ruppert
[not found] ` <20130805093126.GE20936-7oYq3qWSd+k@public.gmane.org>
2013-08-05 10:02 ` Wolfram Sang
2013-08-05 10:02 ` Wolfram Sang
2013-08-12 7:48 ` Christian Ruppert
2013-08-12 7:48 ` Christian Ruppert
[not found] ` <20130812074800.GA23792-7oYq3qWSd+k@public.gmane.org>
2013-08-12 11:09 ` Wolfram Sang
2013-08-12 11:09 ` Wolfram Sang
2013-08-16 2:15 ` Shinya Kuribayashi
2013-08-16 2:15 ` Shinya Kuribayashi
2013-08-19 11:36 ` Mika Westerberg
[not found] ` <20130819113604.GN4898-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-08-19 12:22 ` Shinya Kuribayashi
2013-08-19 12:22 ` Shinya Kuribayashi
2013-08-21 14:39 ` Christian Ruppert
[not found] ` <20130821143915.GA3046-7oYq3qWSd+k@public.gmane.org>
2013-08-24 4:58 ` Shinya Kuribayashi
2013-08-24 4:58 ` Shinya Kuribayashi
[not found] ` <52183D87.40703-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2013-08-28 15:34 ` Christian Ruppert
2013-08-28 15:34 ` Christian Ruppert
2013-10-08 15:00 ` [PATCH 1/2] i2c designware make SCL and SDA falling time configurable Romain Baeriswyl
2013-10-09 7:55 ` Mika Westerberg
2013-10-10 0:54 ` Ryan Mallon
[not found] ` <5255FAB5.7080803-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2013-10-13 11:36 ` Shinya Kuribayashi
2013-10-13 11:36 ` Shinya Kuribayashi
[not found] ` <525A85D6.3090608-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org>
2014-01-16 19:43 ` Wolfram Sang
2014-01-16 19:43 ` Wolfram Sang
2014-01-20 16:43 ` [PATCH v2 " Romain Baeriswyl
[not found] ` <1390236223-22584-1-git-send-email-romainba-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org>
2014-03-09 8:20 ` Wolfram Sang
2014-03-09 8:20 ` Wolfram Sang
[not found] ` <20130828153429.GB7066-7oYq3qWSd+k@public.gmane.org>
2013-10-08 15:00 ` [PATCH 2/2] i2c designware add support of I2C standard mode Romain Baeriswyl
2013-10-08 15:00 ` Romain Baeriswyl
2013-10-09 7:56 ` Mika Westerberg
[not found] ` <20131009075632.GR3521-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2013-10-13 11:46 ` Shinya Kuribayashi
2013-10-13 11:46 ` Shinya Kuribayashi
2014-01-16 19:33 ` Wolfram Sang
2014-01-20 16:45 ` [PATCH v2 " Romain Baeriswyl
[not found] ` <1390236338-21407-1-git-send-email-romainba-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org>
2014-03-09 8:07 ` Wolfram Sang
2014-03-09 8:07 ` Wolfram Sang
2014-03-25 10:18 ` [PATCH V3 " Romain Baeriswyl
2014-03-25 10:18 ` Romain Baeriswyl
2013-08-19 6:39 ` Mika Westerberg [this message]
2013-08-19 6:39 ` [PATCH 1/2] i2c-designware: make *CNT values configurable Mika Westerberg
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=20130819063928.GH4898@intel.com \
--to=mika.westerberg-vuqaysv1563yd54fqh9/ca@public.gmane.org \
--cc=christian.ruppert-ux6zf3SgZrrQT0dZR+AlfA@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=skuribay-e+AXbWqSrlAAvxtiuMwx3w@public.gmane.org \
--cc=wsa-z923LK4zBo2bacvFa/9K2g@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.