* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
@ 2012-08-31 8:55 Dirk Behme
2012-08-31 2:35 ` Shawn Guo
2012-09-24 5:06 ` Shawn Guo
0 siblings, 2 replies; 11+ messages in thread
From: Dirk Behme @ 2012-08-31 8:55 UTC (permalink / raw)
To: linux-arm-kernel
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?
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
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-08-31 8:55 [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity Dirk Behme
@ 2012-08-31 2:35 ` Shawn Guo
2012-09-21 7:36 ` Dirk Behme
2012-09-24 5:06 ` Shawn Guo
1 sibling, 1 reply; 11+ messages in thread
From: Shawn Guo @ 2012-08-31 2:35 UTC (permalink / raw)
To: linux-arm-kernel
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
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-08-31 2:35 ` Shawn Guo
@ 2012-09-21 7:36 ` Dirk Behme
2012-09-21 7:54 ` Uwe Kleine-König
0 siblings, 1 reply; 11+ messages in thread
From: Dirk Behme @ 2012-09-21 7:36 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-09-21 7:36 ` Dirk Behme
@ 2012-09-21 7:54 ` Uwe Kleine-König
2012-09-22 6:10 ` Dirk Behme
0 siblings, 1 reply; 11+ messages in thread
From: Uwe Kleine-König @ 2012-09-21 7:54 UTC (permalink / raw)
To: linux-arm-kernel
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 at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
--
Pengutronix e.K. | Uwe Kleine-K?nig |
Industrial Linux Solutions | http://www.pengutronix.de/ |
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-09-21 7:54 ` Uwe Kleine-König
@ 2012-09-22 6:10 ` Dirk Behme
2012-09-22 13:44 ` Fabio Estevam
0 siblings, 1 reply; 11+ messages in thread
From: Dirk Behme @ 2012-09-22 6:10 UTC (permalink / raw)
To: 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 at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-08-31 8:55 [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity Dirk Behme
2012-08-31 2:35 ` Shawn Guo
@ 2012-09-24 5:06 ` Shawn Guo
2012-09-24 6:34 ` Dirk Behme
1 sibling, 1 reply; 11+ messages in thread
From: Shawn Guo @ 2012-09-24 5:06 UTC (permalink / raw)
To: linux-arm-kernel
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>
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-09-24 5:06 ` Shawn Guo
@ 2012-09-24 6:34 ` Dirk Behme
2012-09-24 10:02 ` Mark Brown
0 siblings, 1 reply; 11+ messages in thread
From: Dirk Behme @ 2012-09-24 6:34 UTC (permalink / raw)
To: linux-arm-kernel
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
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-09-24 6:34 ` Dirk Behme
@ 2012-09-24 10:02 ` Mark Brown
2012-09-24 11:31 ` Dirk Behme
0 siblings, 1 reply; 11+ messages in thread
From: Mark Brown @ 2012-09-24 10:02 UTC (permalink / raw)
To: linux-arm-kernel
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...
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity
2012-09-24 10:02 ` Mark Brown
@ 2012-09-24 11:31 ` Dirk Behme
2012-09-25 11:08 ` Mark Brown
0 siblings, 1 reply; 11+ messages in thread
From: Dirk Behme @ 2012-09-24 11:31 UTC (permalink / raw)
To: linux-arm-kernel
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 at lists.sourceforge.net and
linux-arm-kernel at 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
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2012-09-25 11:08 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-31 8:55 [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity Dirk Behme
2012-08-31 2:35 ` Shawn Guo
2012-09-21 7:36 ` Dirk Behme
2012-09-21 7:54 ` Uwe Kleine-König
2012-09-22 6:10 ` Dirk Behme
2012-09-22 13:44 ` Fabio Estevam
2012-09-24 5:06 ` Shawn Guo
2012-09-24 6:34 ` Dirk Behme
2012-09-24 10:02 ` Mark Brown
2012-09-24 11:31 ` Dirk Behme
2012-09-25 11:08 ` Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).