Re: [PATCH V3 0/4] ARM: tegra: Enable SLINK controller driver

From: Laxman Dewangan
Date: Wed Oct 31 2012 - 04:53:15 EST


On Wednesday 31 October 2012 01:59 AM, Stephen Warren wrote:
On 10/30/2012 01:05 AM, Laxman Dewangan wrote:
This series modify the dts file to add the slink addresses,
make AUXDATA in board dt files, enable slink4 for tegra30-cardhu and
enable slink controller defconfig.
This series only instantiates the SPI controller, and not any SPI
devices. I tried to solve this:

diff --git a/arch/arm/boot/dts/tegra30-cardhu.dtsi b/arch/arm/boot/dts/tegra30-cardhu.dtsi
index 700f0a3..3689853 100644
--- a/arch/arm/boot/dts/tegra30-cardhu.dtsi
+++ b/arch/arm/boot/dts/tegra30-cardhu.dtsi
@@ -278,6 +278,11 @@
spi@7000da00 {
status = "okay";
spi-max-frequency =<25000000>;
+ flash@0 {
+ reg =<0>;
+ compatible = "atmel,at25df321a";
+ spi-max-frequency =<25000000>;
+ };
};

ahub {
However, this didn't work. Has the driver been tested? I'm seeing the
exact same problems I saw with the old driver, namely that the SPI flash
chip can't be identified; I think the ID bytes are read back as 0, and
hence drivers/mtd/devices/m25p80.c falls back to identifying the device
as mr25h256. Attempting to hexdump -C /dev/mtd0 gives me 32K of zeros,
whereas the device is 4M and full of non-zero data according to U-Boot.

Do you know what the problem is here? Can you please update the patch
series so that the SPI flash is instantiated and works correctly?

I will send the new patch series for taking care of the issue.

In Cardhu, there is 2 different type of flash, Winbond and Atmel.
There is hw rework require in Cardhu A02 to enable the serial flash and it is already taken care in Cardhu A04. I will forward the hw rework details to you in internal mail communication.

Also Serial flash is in CS1, not in CS0. So even if you have hw rework, above change will not work.

I had tested on different way earlier (dynamic allocating master for serial flash) and also tested on above method.
For this I enable MTD, MTD_CHAR and MTD_M25P80.
Debug prints as:
[ 1.279424] m25p_probe
[ 1.282536] m25p80 spi32766.1: w25q32 (4096 Kbytes)
[ 1.287418] mtd .name = spi32766.1, .size = 0x400000 (4MiB) .erasesize = 0x00
001000 (4KiB) .numeraseregions = 0
[ 1.298120] m25p_probe() returns 0




--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/