Message ID | 1346403311-25080-1-git-send-email-dirk.behme@de.bosch.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Copy Uwe ... On Fri, Aug 31, 2012 at 10:55:11AM +0200, Dirk Behme wrote: > From: Knut Wohlrab <knut.wohlrab@de.bosch.com> > > There are SPI devices which need a SPI clock with active low polarity and > high inactive state. > > Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL > according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: > > DT without "spi-cpol" = 0 = clock active high polarity = inactive state low > DT with "spi-cpol" = 1 = clock active low polarity = inactive state high > > Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com> > --- > > Question: Are there real world examples for a need of an individual setting of > clock polarity/inactive state? I'm less concerned about that. We can always patch the driver when the real world example occurs? Regards, Shawn > > drivers/spi/spi-imx.c | 6 ++++-- > 1 files changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c > index e834ff8..d64655b 100644 > --- a/drivers/spi/spi-imx.c > +++ b/drivers/spi/spi-imx.c > @@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin, > #define MX51_ECSPI_CONFIG_SCLKPOL(cs) (1 << ((cs) + 4)) > #define MX51_ECSPI_CONFIG_SBBCTRL(cs) (1 << ((cs) + 8)) > #define MX51_ECSPI_CONFIG_SSBPOL(cs) (1 << ((cs) + 12)) > +#define MX51_ECSPI_CONFIG_SCLKCTL(cs) (1 << ((cs) + 20)) > > #define MX51_ECSPI_INT 0x10 > #define MX51_ECSPI_INT_TEEN (1 << 0) > @@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx, > if (config->mode & SPI_CPHA) > cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); > > - if (config->mode & SPI_CPOL) > + if (config->mode & SPI_CPOL) { > cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); > - > + cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); > + } > if (config->mode & SPI_CS_HIGH) > cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs); > > -- > 1.7.0.4 >
On 31.08.2012 04:35, Shawn Guo wrote: > Copy Uwe ... Ping ;) Any opinions on this? Thanks Dirk > On Fri, Aug 31, 2012 at 10:55:11AM +0200, Dirk Behme wrote: >> From: Knut Wohlrab <knut.wohlrab@de.bosch.com> >> >> There are SPI devices which need a SPI clock with active low polarity and >> high inactive state. >> >> Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL >> according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: >> >> DT without "spi-cpol" = 0 = clock active high polarity = inactive state low >> DT with "spi-cpol" = 1 = clock active low polarity = inactive state high >> >> Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com> >> --- >> >> Question: Are there real world examples for a need of an individual setting of >> clock polarity/inactive state? > > I'm less concerned about that. We can always patch the driver when > the real world example occurs? > > Regards, > Shawn > >> drivers/spi/spi-imx.c | 6 ++++-- >> 1 files changed, 4 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c >> index e834ff8..d64655b 100644 >> --- a/drivers/spi/spi-imx.c >> +++ b/drivers/spi/spi-imx.c >> @@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin, >> #define MX51_ECSPI_CONFIG_SCLKPOL(cs) (1 << ((cs) + 4)) >> #define MX51_ECSPI_CONFIG_SBBCTRL(cs) (1 << ((cs) + 8)) >> #define MX51_ECSPI_CONFIG_SSBPOL(cs) (1 << ((cs) + 12)) >> +#define MX51_ECSPI_CONFIG_SCLKCTL(cs) (1 << ((cs) + 20)) >> >> #define MX51_ECSPI_INT 0x10 >> #define MX51_ECSPI_INT_TEEN (1 << 0) >> @@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx, >> if (config->mode & SPI_CPHA) >> cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); >> >> - if (config->mode & SPI_CPOL) >> + if (config->mode & SPI_CPOL) { >> cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); >> - >> + cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); >> + } >> if (config->mode & SPI_CS_HIGH) >> cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs); >> >> -- >> 1.7.0.4
On Fri, Sep 21, 2012 at 09:36:51AM +0200, Dirk Behme wrote: > On 31.08.2012 04:35, Shawn Guo wrote: > >Copy Uwe ... Copy our kernel mailing list ... > Ping ;) > > Any opinions on this? Assuming it fixes access to a device I'm ok with your patch, but I don't really feel responsible for the driver (i.e. me not acking shouldn't have a negative influence on getting the patch in). > >On Fri, Aug 31, 2012 at 10:55:11AM +0200, Dirk Behme wrote: > >>From: Knut Wohlrab <knut.wohlrab@de.bosch.com> > >> > >>There are SPI devices which need a SPI clock with active low polarity and > >>high inactive state. > >> > >>Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL > >>according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: > >> > >>DT without "spi-cpol" = 0 = clock active high polarity = inactive state low > >>DT with "spi-cpol" = 1 = clock active low polarity = inactive state high > >> > >>Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com> If you forward a patch you must add your S-o-b. > >>--- > >> > >>Question: Are there real world examples for a need of an individual setting of > >>clock polarity/inactive state? > > > >I'm less concerned about that. We can always patch the driver when > >the real world example occurs? yes. Thanks Uwe > >> drivers/spi/spi-imx.c | 6 ++++-- > >> 1 files changed, 4 insertions(+), 2 deletions(-) > >> > >>diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c > >>index e834ff8..d64655b 100644 > >>--- a/drivers/spi/spi-imx.c > >>+++ b/drivers/spi/spi-imx.c > >>@@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin, > >> #define MX51_ECSPI_CONFIG_SCLKPOL(cs) (1 << ((cs) + 4)) > >> #define MX51_ECSPI_CONFIG_SBBCTRL(cs) (1 << ((cs) + 8)) > >> #define MX51_ECSPI_CONFIG_SSBPOL(cs) (1 << ((cs) + 12)) > >>+#define MX51_ECSPI_CONFIG_SCLKCTL(cs) (1 << ((cs) + 20)) > >> #define MX51_ECSPI_INT 0x10 > >> #define MX51_ECSPI_INT_TEEN (1 << 0) > >>@@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx, > >> if (config->mode & SPI_CPHA) > >> cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); > >>- if (config->mode & SPI_CPOL) > >>+ if (config->mode & SPI_CPOL) { > >> cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); > >>- > >>+ cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); > >>+ } > >> if (config->mode & SPI_CS_HIGH) > >> cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs); > >>-- > >>1.7.0.4 > > _______________________________________________ > linux-arm-kernel mailing list > linux-arm-kernel@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >
On 21.09.2012 09:54, Uwe Kleine-König wrote: > On Fri, Sep 21, 2012 at 09:36:51AM +0200, Dirk Behme wrote: >> On 31.08.2012 04:35, Shawn Guo wrote: >>> Copy Uwe ... > Copy our kernel mailing list ... > >> Ping ;) >> >> Any opinions on this? > Assuming it fixes access to a device I'm ok with your patch, but I don't > really feel responsible for the driver (i.e. me not acking shouldn't > have a negative influence on getting the patch in). Ok, thanks. I'm not so familiar with the SPI world: Who would be the best person to ack this, and in case it's ok finally apply it, then? Thanks Dirk >>> On Fri, Aug 31, 2012 at 10:55:11AM +0200, Dirk Behme wrote: >>>> From: Knut Wohlrab<knut.wohlrab@de.bosch.com> >>>> >>>> There are SPI devices which need a SPI clock with active low polarity and >>>> high inactive state. >>>> >>>> Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL >>>> according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: >>>> >>>> DT without "spi-cpol" = 0 = clock active high polarity = inactive state low >>>> DT with "spi-cpol" = 1 = clock active low polarity = inactive state high >>>> >>>> Signed-off-by: Knut Wohlrab<knut.wohlrab@de.bosch.com> > If you forward a patch you must add your S-o-b. > >>>> --- >>>> >>>> Question: Are there real world examples for a need of an individual setting of >>>> clock polarity/inactive state? >>> >>> I'm less concerned about that. We can always patch the driver when >>> the real world example occurs? > yes. > > Thanks > Uwe > >>>> drivers/spi/spi-imx.c | 6 ++++-- >>>> 1 files changed, 4 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c >>>> index e834ff8..d64655b 100644 >>>> --- a/drivers/spi/spi-imx.c >>>> +++ b/drivers/spi/spi-imx.c >>>> @@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin, >>>> #define MX51_ECSPI_CONFIG_SCLKPOL(cs) (1<< ((cs) + 4)) >>>> #define MX51_ECSPI_CONFIG_SBBCTRL(cs) (1<< ((cs) + 8)) >>>> #define MX51_ECSPI_CONFIG_SSBPOL(cs) (1<< ((cs) + 12)) >>>> +#define MX51_ECSPI_CONFIG_SCLKCTL(cs) (1<< ((cs) + 20)) >>>> #define MX51_ECSPI_INT 0x10 >>>> #define MX51_ECSPI_INT_TEEN (1<< 0) >>>> @@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx, >>>> if (config->mode& SPI_CPHA) >>>> cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); >>>> - if (config->mode& SPI_CPOL) >>>> + if (config->mode& SPI_CPOL) { >>>> cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); >>>> - >>>> + cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); >>>> + } >>>> if (config->mode& SPI_CS_HIGH) >>>> cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs); >>>> -- >>>> 1.7.0.4 >> >> _______________________________________________ >> linux-arm-kernel mailing list >> linux-arm-kernel@lists.infradead.org >> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >> >
Hi Dirk, On Sat, Sep 22, 2012 at 3:10 AM, Dirk Behme <dirk.behme@gmail.com> wrote: > I'm not so familiar with the SPI world: Who would be the best person to ack > this, and in case it's ok finally apply it, then? Mark Brown has been taking care of spi patches recently. Regards, Fabio Estevam
On Fri, Aug 31, 2012 at 10:55:11AM +0200, Dirk Behme wrote: > From: Knut Wohlrab <knut.wohlrab@de.bosch.com> > > There are SPI devices which need a SPI clock with active low polarity and > high inactive state. > > Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL > according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: > > DT without "spi-cpol" = 0 = clock active high polarity = inactive state low > DT with "spi-cpol" = 1 = clock active low polarity = inactive state high > > Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com> Acked-by: Shawn Guo <shawn.guo@linaro.org>
Hi Mark, On 24.09.2012 07:06, Shawn Guo wrote: > On Fri, Aug 31, 2012 at 10:55:11AM +0200, Dirk Behme wrote: >> From: Knut Wohlrab <knut.wohlrab@de.bosch.com> >> >> There are SPI devices which need a SPI clock with active low polarity and >> high inactive state. >> >> Add the setting of the inactive state ECSPIx_CONFIGREG:SCLK CTL >> according to the clock polarity ECSPIx_CONFIGREG:SCLK POL: >> >> DT without "spi-cpol" = 0 = clock active high polarity = inactive state low >> DT with "spi-cpol" = 1 = clock active low polarity = inactive state high >> >> Signed-off-by: Knut Wohlrab <knut.wohlrab@de.bosch.com> Signed-off-by: Dirk Behme <dirk.behme@de.bosch.com> > Acked-by: Shawn Guo <shawn.guo@linaro.org> Being not so familiar with the flow of SPI patches, I was told that you are taking care of spi patches recently? Do you like to have a look to this patch? Many thanks and best regards Dirk
On Mon, Sep 24, 2012 at 08:34:27AM +0200, Dirk Behme wrote: > Being not so familiar with the flow of SPI patches, I was told that you > are taking care of spi patches recently? > Do you like to have a look to this patch? Well, nobody appears to have sent me a copy of it...
On 24.09.2012 12:02, Mark Brown wrote: > On Mon, Sep 24, 2012 at 08:34:27AM +0200, Dirk Behme wrote: > >> Being not so familiar with the flow of SPI patches, I was told that you >> are taking care of spi patches recently? > >> Do you like to have a look to this patch? > > Well, nobody appears to have sent me a copy of it... We are talking about http://lists.infradead.org/pipermail/linux-arm-kernel/2012-August/116783.html which should be at spi-devel-general@lists.sourceforge.net and linux-arm-kernel@lists.infradead.org . I just learned that you might take care of spi patches recently, so sorry for not adding you to the CC, initially. Let me know if you can find above thread on one of the both mailing lists. If not, I would be happy to resend it again. Many thanks for your help! Dirk
On Mon, Sep 24, 2012 at 01:31:22PM +0200, Dirk Behme wrote: > Let me know if you can find above thread on one of the both mailing > lists. If not, I would be happy to resend it again. Yes, of course - it's hard to apply patches from web archives.
diff --git a/drivers/spi/spi-imx.c b/drivers/spi/spi-imx.c index e834ff8..d64655b 100644 --- a/drivers/spi/spi-imx.c +++ b/drivers/spi/spi-imx.c @@ -197,6 +197,7 @@ static unsigned int spi_imx_clkdiv_2(unsigned int fin, #define MX51_ECSPI_CONFIG_SCLKPOL(cs) (1 << ((cs) + 4)) #define MX51_ECSPI_CONFIG_SBBCTRL(cs) (1 << ((cs) + 8)) #define MX51_ECSPI_CONFIG_SSBPOL(cs) (1 << ((cs) + 12)) +#define MX51_ECSPI_CONFIG_SCLKCTL(cs) (1 << ((cs) + 20)) #define MX51_ECSPI_INT 0x10 #define MX51_ECSPI_INT_TEEN (1 << 0) @@ -287,9 +288,10 @@ static int __maybe_unused mx51_ecspi_config(struct spi_imx_data *spi_imx, if (config->mode & SPI_CPHA) cfg |= MX51_ECSPI_CONFIG_SCLKPHA(config->cs); - if (config->mode & SPI_CPOL) + if (config->mode & SPI_CPOL) { cfg |= MX51_ECSPI_CONFIG_SCLKPOL(config->cs); - + cfg |= MX51_ECSPI_CONFIG_SCLKCTL(config->cs); + } if (config->mode & SPI_CS_HIGH) cfg |= MX51_ECSPI_CONFIG_SSBPOL(config->cs);