[#6218] In sport emulate spi testing, can't see square wave through network oscilloscope(ndso) on target board BF537_STAMP
Submitted By: angelia wu
Open Date
2010-09-01 23:19:05 Close Date
2010-10-31 23:01:29
Priority:
Medium Assignee:
Bob Liu
Status:
Closed Fixed In Release:
N/A
Found In Release:
2010R1 Release:
Blackfin Linux:2010R1
Category:
N/A Board:
STAMP
Processor:
BF537 Silicon Revision:
Is this bug repeatable?:
Yes Resolution:
Assigned (Not Start)
Uboot version or rev.:
Toolchain version or rev.:
svn-4681
App binary format:
N/A
Summary: In sport emulate spi testing, can't see square wave through network oscilloscope(ndso) on target board BF537_STAMP
Details:
In sport emulate spi testing, can't see square wave through network oscilloscope(ndso) on target board BF537_STAMP.
the log as follow.
U-Boot 2010.06-svn2366 (ADI-2010R1-pre) (Jul 27 2010 - 21:47:44)
CPU: ADSP bf537-0.2 (Detected Rev: 0.2) (bypass boot)
Board: ADI BF537 stamp board
Support: http://blackfin.uclinux.org/
Clock: VCO: 500 MHz, Core: 500 MHz, System: 125 MHz
RAM: 64 MiB
Flash: 4 MiB
In: serial
Out: serial
Err: serial
KGDB: [on serial] ready
Net: bfin_mac
Hit any key to stop autoboot: 0
Using bfin_mac device
TFTP from server 10.100.4.174; our IP address is 10.100.4.50
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###########################################
done
Bytes transferred = 5388936 (523a88 hex)
## Booting kernel from Legacy Image at 01000000 ...
Image Name: bf537-2.6.34.6-ADI-2010R1-pre-sv
Created: 2010-09-02 2:57:31 UTC
Image Type: Blackfin Linux Kernel Image (gzip compressed)
Data Size: 5388872 Bytes = 5.1 MiB
Load Address: 00001000
Entry Point: 001a3684
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting Kernel at = 001a3684
Linux version 2.6.34.6-ADI-2010R1-pre-svn9118 (test@uclinux41) (gcc version 4.3.5 (ADI-trunk/svn-4681) ) #192 Thu Sep 2 10:57:26 CST 2010
register early platform devices
bootconsole [early_shadow0] enabled
bootconsole [early_BFuart0] enabled
early printk enabled on early_BFuart0
Limiting kernel memory to 56MB due to anomaly 05000263
Board Memory: 64MB
Kernel Managed Memory: 64MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x001175e0
rodata = 0x001175e0-0x00174efc
bss = 0x00175000-0x001854e8
data = 0x001854e8-0x00198000
stack = 0x00196000-0x00198000
init = 0x00198000-0x00995000
available = 0x00995000-0x03800000
DMA Zone = 0x03f00000-0x04000000
Hardware Trace Active and Enabled
Boot Mode: 0
Blackfin support (C) 2004-2010 Analog Devices, Inc.
Compiled for ADSP-BF537 Rev 0.2
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 500 MHz core clock and 125 MHz System Clock
NOMPU: setting up cplb tables
Instruction Cache Enabled for CPU0
External memory: cacheable in instruction cache
Data Cache Enabled for CPU0
External memory: cacheable (write-back) in data cache
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 14224
Kernel command line: root=/dev/mtdblock0 rw clkin_hz=25000000 earlyprintk=serial,uart0,57600 console=ttyBF0,57600 ip=10.100.4.50:10.100.4.174:10.99.29.1:25f
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory available: 46964k/65536k RAM, (8180k init code, 1113k kernel code, 515k data, 1024k dma, 7740k reserved)
Hierarchical RCU implementation.
NR_IRQS:138
Configuring Blackfin Priority Driven Interrupts
console [ttyBF0] enabled, bootconsole disabled
console [ttyBF0] enabled, bootconsole disabled
Calibrating delay loop... 995.32 BogoMIPS (lpj=1990656)
Security Framework initialized
Mount-cache hash table entries: 512
Blackfin Scratchpad data SRAM: 4 KB
Blackfin L1 Data A SRAM: 16 KB (16 KB free)
Blackfin L1 Data B SRAM: 16 KB (16 KB free)
Blackfin L1 Instruction SRAM: 48 KB (35 KB free)
NET: Registered protocol family 16
Blackfin DMA Controller
stamp_init(): registering device resources
bio: create slab <bio-0> at 0
spi spi0.1: Warning: SPI CPHA not set: Slave Select not under software control!
See Documentation/blackfin/bfin-spi-notes.txt
bfin-spi bfin-spi.0: Blackfin on-chip SPI Controller Driver, Version 1.0, regs_base@ffc00500, dma channel@7
Switching to clocksource bfin_cs_cycles
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
msgmni has been set to 91
io scheduler noop registered
io scheduler cfq registered (default)
bfin-uart: Blackfin serial driver
bfin-uart.0: ttyBF0 at MMIO 0xffc00400 (irq = 18) is a BFIN-UART
brd: module loaded
bfin-sport-spi bfin-sport-spi.1: Emulate a SPI bus with via Blackfin SPORT, regs_base@ffc00800
bfin-sport-spi bfin-sport-spi.2: Emulate a SPI bus with via Blackfin SPORT, regs_base@ffc00900
bfin_mii_bus: probed
bfin_mii_bus: Can't get IRQ 65535 (PHY)
bfin_mac: attached PHY driver [SMSC LAN83C185] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=24)@sclk=125MHz)
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
TCP cubic registered
NET: Registered protocol family 17
&IP-Config: Gateway not on directly connected network.10:41:20 UTC (297680)
dma_alloc_init: dma_page @ 0x02a12000 - 256 pages at 0x03f00000
Freeing unused kernel memory: 8180k freed
_____________________________________
a8888b. / Welcome to the uClinux distribution \
d888888b. / _ _ \
8P"YP"Y88 / | | |_| __ __ (TM) |
8|o||o|88 _____/ | | _ ____ _ _ \ \/ / |
8' .88 \ | | | | _ \| | | | \ / |
8`._.' Y8. \ | |__ | | | | | |_| | / \ |
d/ `8b. \ \____||_|_| |_|\____|/_/\_\ |
dP . Y8b. \ For embedded processors including |
d8:' " `::88b \ the Analog Devices Blackfin /
d8" 'Y88b \___________________________________/
:8P ' :888
8a. : _a88P For further information, check out:
._/"Yaa_: .| 88P| - http://blackfin.uclinux.org/
\ YP" `| 8P `. - http://docs.blackfin.uclinux.org/
/ \.___.d| .' - http://www.uclinux.org/
`--..__)8888P`._.' jgs/a:f - http://www.analog.com/blackfin
Have a lot of fun...
BusyBox v1.16.2 (2010-09-02 10:22:06 CST) hush - the humble shell
root:/> PHY: 0:01 - Link is Up - 100/Full
root:/> ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:22:FE:47:9E
inet addr:10.100.4.50 Bcast:10.100.4.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:2 errors:0 dropped:0 overruns:0 frame:0
TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:120 (120.0 B) TX bytes:42 (42.0 B)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
root:/> ndso &
[1] 170 ndso
root:/> ps -ax
PID USER VSZ STAT COMMAND
1 root 104 S /init
2 root 0 SW [kthreadd]
3 root 0 SW [ksoftirqd/0]
4 root 0 SW [watchdog/0]
5 root 0 SW [events/0]
6 root 0 SW [khelper]
9 root 0 SW [async/mgr]
45 root 0 SW [sync_supers]
47 root 0 SW [bdi-default]
49 root 0 SW [kblockd/0]
51 root 0 SW [bfin-spi.0]
74 root 0 SW [khungtaskd]
75 root 0 SW [kswapd0]
119 root 0 SW [mtdblockd]
120 root 0 SW [bfin-sport-spi.]
122 root 0 SW [bfin-sport-spi.]
164 root 451 S -/bin/sh
165 root 44 S /sbin/inetd
166 root 432 S /sbin/syslogd -n
167 root 428 S /sbin/klogd -n
168 root 32 S /bin/watchdogd -f -s
170 root 368 S ndso
207 root 0 Z N [ndso.cgi]
211 root 432 R ps -ax
root:/> kill 170
[1] Done ndso
root:/> ndso &
[1] 213 ndso
root:/>
Follow-ups
--- Bob Liu 2010-09-09 22:47:24
In order to test sport emulate spi, must change file stamp.c
Index: linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c
===================================================================
--- linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c (revision 9111)
+++ linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c (working copy)
@@ -544,6 +544,7 @@
/* SPI ADC chip */
static struct bfin5xx_spi_chip spi_adc_chip_info = {
.enable_dma = 1, /* use dma transfer with this chip*/
+ //.enable_dma = 0, /* use dma transfer with this chip*/
.bits_per_word = 16,
};
#endif
@@ -1061,6 +1062,7 @@
.modalias = "bfin_spi_adc", /* Name of spi_driver for this device
*/
.max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ */
.bus_num = 0, /* Framework bus number */
+// .bus_num = 1, /* Framework bus number */
.chip_select = 1, /* Framework chip select. */
.platform_data = NULL, /* No spi_driver specific config */
.controller_data = &spi_adc_chip_info,
@@ -1578,7 +1580,7 @@
/* SPORT SPI controller data */
static struct bfin5xx_spi_master bfin_sport_spi0_info = {
- .num_chipselect = 1, /* master only supports one device */
+ .num_chipselect = 2, /* master only supports one device */
.enable_dma = 0, /* master don't support DMA */
.pin_req = {P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_DRPRI,
P_SPORT0_RSCLK, P_SPORT0_TFS, P_SPORT0_RFS, 0},
@@ -1608,7 +1610,7 @@
};
static struct bfin5xx_spi_master bfin_sport_spi1_info = {
- .num_chipselect = 1, /* master only supports one device */
+ .num_chipselect = 2, /* master only supports one device */
.enable_dma = 0, /* master don't support DMA */
.pin_req = {P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_DRPRI,
P_SPORT1_RSCLK, P_SPORT1_TFS, P_SPORT1_RFS, 0},
root@adam-desktop:~/uclinux-dist2#
========
I can trigger the SPI_CLK and CS signal on the stamp spi socket correctly, but
there is still no data on SPI_MISO.
--- Mike Frysinger 2010-09-09 22:50:14
needing to change the CS depending on the config of the addon board makes sense,
but one of the fundamental reasons for having a SPORT/SPI driver in the first
place is for the full duplex dma. so if that isnt working, it needs to be
fixed.
--- Bob Liu 2010-09-09 22:51:39
Sorry, the correct change should be this:
Index: linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c
===================================================================
--- linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c (revision 9111)
+++ linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c (working copy)
@@ -544,6 +544,7 @@
/* SPI ADC chip */
static struct bfin5xx_spi_chip spi_adc_chip_info = {
+// .enable_dma = 1, /* use dma transfer with this chip*/
+ .enable_dma = 0,
.bits_per_word = 16,
};
#endif
@@ -1061,6 +1062,7 @@
.modalias = "bfin_spi_adc", /* Name of spi_driver for
this device */
.max_speed_hz = 6250000, /* max spi clock (SCK) speed in HZ
*/
+// .bus_num = 0, /* Framework bus number */
+ .bus_num = 1, /* Framework bus number */
.chip_select = 1, /* Framework chip select. */
.platform_data = NULL, /* No spi_driver specific config */
.controller_data = &spi_adc_chip_info,
@@ -1578,7 +1580,7 @@
/* SPORT SPI controller data */
static struct bfin5xx_spi_master bfin_sport_spi0_info = {
- .num_chipselect = 1, /* master only supports one device */
+ .num_chipselect = 2, /* master only supports one device */
.enable_dma = 0, /* master don't support DMA */
.pin_req = {P_SPORT0_DTPRI, P_SPORT0_TSCLK, P_SPORT0_DRPRI,
P_SPORT0_RSCLK, P_SPORT0_TFS, P_SPORT0_RFS, 0},
@@ -1608,7 +1610,7 @@
};
static struct bfin5xx_spi_master bfin_sport_spi1_info = {
- .num_chipselect = 1, /* master only supports one device */
+ .num_chipselect = 2, /* master only supports one device */
.enable_dma = 0, /* master don't support DMA */
.pin_req = {P_SPORT1_DTPRI, P_SPORT1_TSCLK, P_SPORT1_DRPRI,
P_SPORT1_RSCLK, P_SPORT1_TFS, P_SPORT1_RFS, 0},
root@adam-desktop:~/uclinux-dist2#
========
--- angelia wu 2010-10-21 00:49:16
yes,now the case is ok.
so i closed the bug 6218.
--- angelia wu 2010-10-21 06:33:18
sorry , the above case is ndso testing not Sport emulate spi bus test.
And the Sport emulate spi test still have the problem.
--- angelia wu 2010-10-31 23:01:29
I test the case again and now it is ok.
I closed the bug.
--- Bob Liu 2010-11-01 04:57:53
Addition comment:
Must follow wiki to change file
linux-2.6.x/arch/blackfin/mach-bf537/boards/stamp.c for testing.
Files
Changes
Commits
Dependencies
Duplicates
Associations
Tags
File Name File Type File Size Posted By
kernel.537sport_spi.config application/x-config 35831 angelia wu
user.537sport_spi.config application/x-config 49072 angelia wu