All of lore.kernel.org
 help / color / mirror / Atom feed
From: Wolfgang Grandegger <wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: linuxppc-dev
	<Linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
	devicetree-discuss
	<devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org>,
	Ben Dooks <ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>,
	linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [PATCH v2] powerpc: i2c-mpc: make I2C bus speed configurable
Date: Wed, 01 Apr 2009 17:51:48 +0200	[thread overview]
Message-ID: <49D38D94.3010703@grandegger.com> (raw)
In-Reply-To: <fa686aa40904010647o57b59845p54a9c1e1535e4453-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Grant Likely wrote:
> On Wed, Apr 1, 2009 at 7:44 AM, Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org> wrote:
>> On Wed, Apr 1, 2009 at 7:13 AM, Wolfgang Grandegger <wg-5Yr1BZd7O62+XT7JhA+gdA@public.gmane.org> wrote:
>>> This patch makes the I2C bus speed configurable by using the I2C node
>>> property "clock-frequency". If the property is not defined, the old
>>> fixed clock settings will be used for backward compatibility.
>> I mostly like this patch.  However, as I mentioned in my other reply,
>> I'm going to NAK it because the divisor tables are not common code and
>> do not belong in common code files.
>>
>> Other than that, I like this version of the patch and I think it is
>> almost finished.  More comments below.

Looks good now, indeed.

> Oh, and you should look in MAINTAINERS and cc this patch to Ben Dooks
> and the linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org mailing list.

Right, and I need to separate I2C and PowerPC related patches. And it
will require another round but some acked-by lines will help.

>>> -static void mpc_i2c_setclock(struct mpc_i2c *i2c)
>>> -{
>>> -       /* Set clock and filters */
>>> -       if (i2c->flags & FSL_I2C_DEV_SEPARATE_DFSRR) {
>>> -               writeb(0x31, i2c->base + MPC_I2C_FDR);
>>> -               writeb(0x10, i2c->base + MPC_I2C_DFSRR);
>>> -       } else if (i2c->flags & FSL_I2C_DEV_CLOCK_5200)
>>> -               writeb(0x3f, i2c->base + MPC_I2C_FDR);
>>> -       else
>>> -               writel(0x1031, i2c->base + MPC_I2C_FDR);
>>> +static void mpc_i2c_setclock_52xx(struct device_node *node,
>>> +                                 struct mpc_i2c *i2c,
>>> +                                 u32 clock, u32 prescaler)
>>> +{
>>> +       int fdr = mpc52xx_i2c_get_fdr(node, clock, prescaler);
>>> +
>>> +       if (fdr < 0)
>>> +               fdr = 0x3f; /* backward compatibility */
>>> +       writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
>>> +       dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr);
>>> +}
>>> +
>>> +static void mpc_i2c_setclock_8xxx(struct device_node *node,
>>> +                                 struct mpc_i2c *i2c,
>>> +                                 u32 clock, u32 prescaler)
>>> +{
>>> +       int fdr = fsl_i2c_get_fdr(node, clock, prescaler);
>>> +
>>> +       if (fdr < 0)
>>> +               fdr = 0x1031; /* backward compatibility */
>>> +       writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
>>> +       writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR);
>>> +       dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n",
>>> +                clock, fdr >> 8, fdr & 0xff);
>>>  }
>> Very neat and tidy indeed.  I like this.

Yep.

>>> Index: linux-2.6/arch/powerpc/sysdev/fsl_soc.c
>>> ===================================================================
>>> --- linux-2.6.orig/arch/powerpc/sysdev/fsl_soc.c        2009-03-31 21:27:52.000000000 +0200
>>> +++ linux-2.6/arch/powerpc/sysdev/fsl_soc.c     2009-04-01 12:09:18.796719327 +0200
>>> @@ -39,7 +39,7 @@
>>>  #include <sysdev/fsl_soc.h>
>>>  #include <mm/mmu_decl.h>
>>>  #include <asm/cpm2.h>
>>> -
>>> +#define DEBUG
>>  ^^^^^^^^^^^^^^^^^^^^^^^  oops?

Will fix.

Wolfgang.

WARNING: multiple messages have this Message-ID (diff)
From: Wolfgang Grandegger <wg@grandegger.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: linuxppc-dev <Linuxppc-dev@ozlabs.org>,
	devicetree-discuss <devicetree-discuss@ozlabs.org>,
	linux-i2c@vger.kernel.org, Ben Dooks <ben-linux@fluff.org>
Subject: Re: [PATCH v2] powerpc: i2c-mpc: make I2C bus speed configurable
Date: Wed, 01 Apr 2009 17:51:48 +0200	[thread overview]
Message-ID: <49D38D94.3010703@grandegger.com> (raw)
In-Reply-To: <fa686aa40904010647o57b59845p54a9c1e1535e4453@mail.gmail.com>

Grant Likely wrote:
> On Wed, Apr 1, 2009 at 7:44 AM, Grant Likely <grant.likely@secretlab.ca> wrote:
>> On Wed, Apr 1, 2009 at 7:13 AM, Wolfgang Grandegger <wg@grandegger.com> wrote:
>>> This patch makes the I2C bus speed configurable by using the I2C node
>>> property "clock-frequency". If the property is not defined, the old
>>> fixed clock settings will be used for backward compatibility.
>> I mostly like this patch.  However, as I mentioned in my other reply,
>> I'm going to NAK it because the divisor tables are not common code and
>> do not belong in common code files.
>>
>> Other than that, I like this version of the patch and I think it is
>> almost finished.  More comments below.

Looks good now, indeed.

> Oh, and you should look in MAINTAINERS and cc this patch to Ben Dooks
> and the linux-i2c@vger.kernel.org mailing list.

Right, and I need to separate I2C and PowerPC related patches. And it
will require another round but some acked-by lines will help.

>>> -static void mpc_i2c_setclock(struct mpc_i2c *i2c)
>>> -{
>>> -       /* Set clock and filters */
>>> -       if (i2c->flags & FSL_I2C_DEV_SEPARATE_DFSRR) {
>>> -               writeb(0x31, i2c->base + MPC_I2C_FDR);
>>> -               writeb(0x10, i2c->base + MPC_I2C_DFSRR);
>>> -       } else if (i2c->flags & FSL_I2C_DEV_CLOCK_5200)
>>> -               writeb(0x3f, i2c->base + MPC_I2C_FDR);
>>> -       else
>>> -               writel(0x1031, i2c->base + MPC_I2C_FDR);
>>> +static void mpc_i2c_setclock_52xx(struct device_node *node,
>>> +                                 struct mpc_i2c *i2c,
>>> +                                 u32 clock, u32 prescaler)
>>> +{
>>> +       int fdr = mpc52xx_i2c_get_fdr(node, clock, prescaler);
>>> +
>>> +       if (fdr < 0)
>>> +               fdr = 0x3f; /* backward compatibility */
>>> +       writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
>>> +       dev_info(i2c->dev, "clock %d Hz (fdr=%d)\n", clock, fdr);
>>> +}
>>> +
>>> +static void mpc_i2c_setclock_8xxx(struct device_node *node,
>>> +                                 struct mpc_i2c *i2c,
>>> +                                 u32 clock, u32 prescaler)
>>> +{
>>> +       int fdr = fsl_i2c_get_fdr(node, clock, prescaler);
>>> +
>>> +       if (fdr < 0)
>>> +               fdr = 0x1031; /* backward compatibility */
>>> +       writeb(fdr & 0xff, i2c->base + MPC_I2C_FDR);
>>> +       writeb((fdr >> 8) & 0xff, i2c->base + MPC_I2C_DFSRR);
>>> +       dev_info(i2c->dev, "clock %d Hz (dfsrr=%d fdr=%d)\n",
>>> +                clock, fdr >> 8, fdr & 0xff);
>>>  }
>> Very neat and tidy indeed.  I like this.

Yep.

>>> Index: linux-2.6/arch/powerpc/sysdev/fsl_soc.c
>>> ===================================================================
>>> --- linux-2.6.orig/arch/powerpc/sysdev/fsl_soc.c        2009-03-31 21:27:52.000000000 +0200
>>> +++ linux-2.6/arch/powerpc/sysdev/fsl_soc.c     2009-04-01 12:09:18.796719327 +0200
>>> @@ -39,7 +39,7 @@
>>>  #include <sysdev/fsl_soc.h>
>>>  #include <mm/mmu_decl.h>
>>>  #include <asm/cpm2.h>
>>> -
>>> +#define DEBUG
>>  ^^^^^^^^^^^^^^^^^^^^^^^  oops?

Will fix.

Wolfgang.

  parent reply	other threads:[~2009-04-01 15:51 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-04-01 13:13 [PATCH v2] powerpc: i2c-mpc: make I2C bus speed configurable Wolfgang Grandegger
2009-04-01 13:44 ` Grant Likely
2009-04-01 13:44   ` Grant Likely
2009-04-01 13:47   ` Grant Likely
2009-04-01 13:47     ` Grant Likely
     [not found]     ` <fa686aa40904010647o57b59845p54a9c1e1535e4453-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-04-01 15:51       ` Wolfgang Grandegger [this message]
2009-04-01 15:51         ` Wolfgang Grandegger

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=49D38D94.3010703@grandegger.com \
    --to=wg-5yr1bzd7o62+xt7jha+gda@public.gmane.org \
    --cc=Linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
    --cc=devicetree-discuss-mnsaURCQ41sdnm+yROfE0A@public.gmane.org \
    --cc=grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org \
    --cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@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.