[PATCH v2] spi/imx: set the inactive state of the clock according to the clock polarity
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
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
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
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
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