Re: Problem using S3C2416's HSSPI

2012-10-02 Thread Sylwester Nawrocki
On 10/02/2012 01:47 AM, Heiko Stübner wrote:
>> diff --git a/arch/arm/mach-s3c24xx/common-s3c2443.c
>> b/arch/arm/mach-s3c24xx/common-s3c2443.c index aeeb2be..aeb4a24 100644
>> --- a/arch/arm/mach-s3c24xx/common-s3c2443.c
>> +++ b/arch/arm/mach-s3c24xx/common-s3c2443.c
>> @@ -559,7 +559,7 @@ static struct clk hsmmc1_clk = {
>>
>>  static struct clk hsspi_clk = {
>> .name   = "spi",
>> -   .devname= "s3c64xx-spi.0",
>> +   .devname= "s3c2443-spi.0",
>> .parent = &clk_p,
>> .enable = s3c2443_clkcon_enable_p,
>> .ctrlbit= S3C2443_PCLKCON_HSSPI,
>> @@ -633,7 +633,7 @@ static struct clk_lookup s3c2443_clk_lookup[] = {
>> CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_p),
>> CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_esys_uart.clk),
>> CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.0", &hsmmc1_clk),
>> -   CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk0", &hsspi_clk),
>> +   CLKDEV_INIT("s3c2443-spi.0", "spi_busclk0", &hsspi_clk),
>>  };
> 
> ahaa ... that's the cause. As far as I was able to determine, in the patchset 
> only the clocks were renamed and the different device names introduced.
> 
> The spi devices did not get a function to set the name, like for the rtc, adc 
> and nand. The devices are named s3c6410-spi by default, so it seems only the 
> s3c64xx machines should have a working spi currently.

That reminds me that I have some patches that set the SPI device names and
I have been using those for non-dt exynos platform. Yes, it looks like we
need a generic function for all Samsung machines that would override SPI
device names on all except mach-s3c64xx.

> I'm working on a patch to fix this for all Samsung arches.

OK. I have something like this too. Anyway it seems SPI is now broken on
all non-dt machines except s3c64xx in kernel 3.6. Perhaps these patches
should be also sent now to sta...@vger.kernel.org.

Regards,
Sylwester


-- 
Sylwester Nawrocki
Samsung Poland R&D Center
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Problem using S3C2416's HSSPI

2012-10-01 Thread Heiko Stübner
Am Montag, 1. Oktober 2012, 21:40:35 schrieb Sylwester Nawrocki:
> On 10/01/2012 09:18 PM, Heiko Stübner wrote:
> > Hi José,
> > 
> > Am Montag, 1. Oktober 2012, 19:32:15 schrieb José Miguel Gonçalves:
> >> I'm trying to use the HSSPI controller on a S3C2416 based board but I'm
> >> having some problems.
> >> 
> >> I've added "&s3c64xx_device_spi0" to my array of platform devices and
> >> added a call to s3c64xx_spi0_set_platdata(NULL, 0, 1) before
> >> platform_add_devices(). When the kernel starts I see the following
> >> error:
> >> 
> >> s3c64xx-spi s3c6410-spi.0: Unable to acquire clock 'spi'
> >> s3c64xx-spi: probe of s3c6410-spi.0 failed with error -2
> > 
> > what kernel version do you use?
> > 
> > I.e. the clock support for the s3c64xx-spi on s3c2443 and s3c2416 was
> > added through [1] in march - so it's not this old.
> 
> In this commit
> 
> commit a5238e360b715e9a1bb39d7d3537f78cc9e9e286
> Author: Thomas Abraham 
> Date:   Fri Jul 13 07:15:14 2012 +0900
> 
> spi: s3c64xx: move controller information into driver data
> 
> Platform data is used to specify controller hardware specific
> information such as the tx/rx fifo level mask and bit offset of rx fifo
> level. Such information is not suitable to be supplied from device tree.
> Instead, it can be moved into the driver data and removed from platform
> data.
> 
> Signed-off-by: Thomas Abraham 
> Acked-by: Jaswinder Singh 
> Acked-by: Grant Likely 
> Signed-off-by: Kukjin Kim 
> 
> All "s3c64xx-spi.0" devname fields that you added were replaced with
> "s3c24xx-spi.0". I wonder if that's not the reason clk_get(..., "spi");
> fails in the spi-s3c64xx driver used on mach-s3c24xx. But it of course
> depends on the kernel version, we need to first clarify that.
> 
> diff --git a/arch/arm/mach-s3c24xx/common-s3c2443.c
> b/arch/arm/mach-s3c24xx/common-s3c2443.c index aeeb2be..aeb4a24 100644
> --- a/arch/arm/mach-s3c24xx/common-s3c2443.c
> +++ b/arch/arm/mach-s3c24xx/common-s3c2443.c
> @@ -559,7 +559,7 @@ static struct clk hsmmc1_clk = {
> 
>  static struct clk hsspi_clk = {
> .name   = "spi",
> -   .devname= "s3c64xx-spi.0",
> +   .devname= "s3c2443-spi.0",
> .parent = &clk_p,
> .enable = s3c2443_clkcon_enable_p,
> .ctrlbit= S3C2443_PCLKCON_HSSPI,
> @@ -633,7 +633,7 @@ static struct clk_lookup s3c2443_clk_lookup[] = {
> CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_p),
> CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_esys_uart.clk),
> CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.0", &hsmmc1_clk),
> -   CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk0", &hsspi_clk),
> +   CLKDEV_INIT("s3c2443-spi.0", "spi_busclk0", &hsspi_clk),
>  };

ahaa ... that's the cause. As far as I was able to determine, in the patchset 
only the clocks were renamed and the different device names introduced.

The spi devices did not get a function to set the name, like for the rtc, adc 
and nand. The devices are named s3c6410-spi by default, so it seems only the 
s3c64xx machines should have a working spi currently.

I'm working on a patch to fix this for all Samsung arches.


Heiko
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Problem using S3C2416's HSSPI

2012-10-01 Thread José Miguel Gonçalves

On 10/01/2012 08:18 PM, Heiko Stübner wrote:

Hi José,

Am Montag, 1. Oktober 2012, 19:32:15 schrieb José Miguel Gonçalves:

I'm trying to use the HSSPI controller on a S3C2416 based board but I'm
having some problems.

I've added "&s3c64xx_device_spi0" to my array of platform devices and added
a call to s3c64xx_spi0_set_platdata(NULL, 0, 1) before
platform_add_devices(). When the kernel starts I see the following error:

s3c64xx-spi s3c6410-spi.0: Unable to acquire clock 'spi'
s3c64xx-spi: probe of s3c6410-spi.0 failed with error -2

what kernel version do you use?



I'm now using kernel 3.6.

José Gonçalves
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Problem using S3C2416's HSSPI

2012-10-01 Thread Sylwester Nawrocki
Hi,

On 10/01/2012 09:18 PM, Heiko Stübner wrote:
> Hi José,
> 
> Am Montag, 1. Oktober 2012, 19:32:15 schrieb José Miguel Gonçalves:
>> I'm trying to use the HSSPI controller on a S3C2416 based board but I'm
>> having some problems.
>>
>> I've added "&s3c64xx_device_spi0" to my array of platform devices and added
>> a call to s3c64xx_spi0_set_platdata(NULL, 0, 1) before
>> platform_add_devices(). When the kernel starts I see the following error:
>>
>> s3c64xx-spi s3c6410-spi.0: Unable to acquire clock 'spi'
>> s3c64xx-spi: probe of s3c6410-spi.0 failed with error -2
> 
> what kernel version do you use?
> 
> I.e. the clock support for the s3c64xx-spi on s3c2443 and s3c2416 was added
> through [1] in march - so it's not this old.

In this commit

commit a5238e360b715e9a1bb39d7d3537f78cc9e9e286
Author: Thomas Abraham 
Date:   Fri Jul 13 07:15:14 2012 +0900

spi: s3c64xx: move controller information into driver data

Platform data is used to specify controller hardware specific information
such as the tx/rx fifo level mask and bit offset of rx fifo level. Such
information is not suitable to be supplied from device tree. Instead,
it can be moved into the driver data and removed from platform data.

Signed-off-by: Thomas Abraham 
Acked-by: Jaswinder Singh 
Acked-by: Grant Likely 
Signed-off-by: Kukjin Kim 

All "s3c64xx-spi.0" devname fields that you added were replaced with 
"s3c24xx-spi.0".
I wonder if that's not the reason clk_get(..., "spi"); fails in the spi-s3c64xx 
driver
used on mach-s3c24xx. But it of course depends on the kernel version, we need 
to first 
clarify that.
 
diff --git a/arch/arm/mach-s3c24xx/common-s3c2443.c 
b/arch/arm/mach-s3c24xx/common-s3c2443.c
index aeeb2be..aeb4a24 100644
--- a/arch/arm/mach-s3c24xx/common-s3c2443.c
+++ b/arch/arm/mach-s3c24xx/common-s3c2443.c
@@ -559,7 +559,7 @@ static struct clk hsmmc1_clk = {
 
 static struct clk hsspi_clk = {
.name   = "spi",
-   .devname= "s3c64xx-spi.0",
+   .devname= "s3c2443-spi.0",
.parent = &clk_p,
.enable = s3c2443_clkcon_enable_p,
.ctrlbit= S3C2443_PCLKCON_HSSPI,
@@ -633,7 +633,7 @@ static struct clk_lookup s3c2443_clk_lookup[] = {
CLKDEV_INIT(NULL, "clk_uart_baud2", &clk_p),
CLKDEV_INIT(NULL, "clk_uart_baud3", &clk_esys_uart.clk),
CLKDEV_INIT("s3c-sdhci.1", "mmc_busclk.0", &hsmmc1_clk),
-   CLKDEV_INIT("s3c64xx-spi.0", "spi_busclk0", &hsspi_clk),
+   CLKDEV_INIT("s3c2443-spi.0", "spi_busclk0", &hsspi_clk),
 };


> [1] 
> http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/089086.html

--

Regards,
Sylwester
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: Problem using S3C2416's HSSPI

2012-10-01 Thread Heiko Stübner
Hi José,

Am Montag, 1. Oktober 2012, 19:32:15 schrieb José Miguel Gonçalves:
> I'm trying to use the HSSPI controller on a S3C2416 based board but I'm
> having some problems.
> 
> I've added "&s3c64xx_device_spi0" to my array of platform devices and added
> a call to s3c64xx_spi0_set_platdata(NULL, 0, 1) before
> platform_add_devices(). When the kernel starts I see the following error:
> 
> s3c64xx-spi s3c6410-spi.0: Unable to acquire clock 'spi'
> s3c64xx-spi: probe of s3c6410-spi.0 failed with error -2

what kernel version do you use?

I.e. the clock support for the s3c64xx-spi on s3c2443 and s3c2416 was added
through [1] in march - so it's not this old. 


Heiko


[1] http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/089086.html
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Problem using S3C2416's HSSPI

2012-10-01 Thread José Miguel Gonçalves

Hi,

I'm trying to use the HSSPI controller on a S3C2416 based board but I'm having 
some problems.


I've added "&s3c64xx_device_spi0" to my array of platform devices and added a call 
to s3c64xx_spi0_set_platdata(NULL, 0, 1) before platform_add_devices(). When the 
kernel starts I see the following error:


s3c64xx-spi s3c6410-spi.0: Unable to acquire clock 'spi'
s3c64xx-spi: probe of s3c6410-spi.0 failed with error -2

So I reckon I'm still missing some kind of initialization. Can someone help me on 
this?


Best regards,
José Gonçalves

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html