[PATCH v2] spi/imx: set the inactive state of the clock according to the clock polarity

2012-09-25 Thread Dirk Behme
From: Knut Wohlrab knut.wohl...@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 withspi-cpol = 1 = clock active low  polarity = inactive state high

Signed-off-by: Knut Wohlrab knut.wohl...@de.bosch.com
Signed-off-by: Dirk Behme dirk.be...@de.bosch.com
Acked-by: Shawn Guo shawn@linaro.org
CC: Mark Brown broo...@opensource.wolfsonmicro.com
---
Changes in v2:
No functional changes on the patch itself. Add Acked-by and Sob tags,
CC to Mark Brown.

 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


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity

2012-09-24 Thread Dirk Behme
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.wohl...@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 withspi-cpol = 1 = clock active low  polarity = inactive state high

 Signed-off-by: Knut Wohlrab knut.wohl...@de.bosch.com

Signed-off-by: Dirk Behme dirk.be...@de.bosch.com

 Acked-by: Shawn Guo shawn@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

--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity

2012-09-22 Thread Dirk Behme
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 Wohlrabknut.wohl...@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 withspi-cpol = 1 = clock active low  polarity = inactive state 
 high

 Signed-off-by: Knut Wohlrabknut.wohl...@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-ker...@lists.infradead.org
 http://lists.infradead.org/mailman/listinfo/linux-arm-kernel




--
How fast is your code?
3 out of 4 devs don\\\'t know how their code performs in production.
Find out how slow your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219672;13503038;z?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


Re: [PATCH] spi/imx: set the inactive state of the clock according to the clock polarity

2012-09-21 Thread Dirk Behme
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.wohl...@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 withspi-cpol = 1 = clock active low  polarity = inactive state high

 Signed-off-by: Knut Wohlrab knut.wohl...@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

--
Got visibility?
Most devs has no idea what their production app looks like.
Find out how fast your code is with AppDynamics Lite.
http://ad.doubleclick.net/clk;262219671;13503038;y?
http://info.appdynamics.com/FreeJavaPerformanceDownload.html
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general


[PATCH] spi/imx: set the inactive state of the clock according to the clock polarity

2012-08-31 Thread Dirk Behme
From: Knut Wohlrab knut.wohl...@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 withspi-cpol = 1 = clock active low  polarity = inactive state high

Signed-off-by: Knut Wohlrab knut.wohl...@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


--
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
___
spi-devel-general mailing list
spi-devel-general@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/spi-devel-general