Re: Problem using S3C2416's HSSPI
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
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
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
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
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
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