AR71XX RTC

Florian Kruegl smeagle at bsdler.de
Sun Jan 24 16:55:02 UTC 2010


Hi,

On Sun, 2010-01-24 at 02:41 +0100, Florian Kruegl wrote:
> On Sat, 2010-01-23 at 16:53 -0800, Oleksandr Tymoshenko wrote:
> > On 2010-01-23, at 4:44 PM, Florian Kruegl wrote:
> > 
> > > Hi,
> > > 
> > > On Sat, 2010-01-23 at 16:21 -0800, Oleksandr Tymoshenko wrote:
> > >> On 2010-01-23, at 4:00 PM, Florian Kruegl wrote:
> > >> 
> > >>> Hi,
> > >>> 
> > >>> anyone working on pfc2123 driver for RouterStation Pro? 
> > >>> Seems quite well documented, one issue might be CS hack, but the rest
> > >>> should be straight.
> > >>    Driver was commited yesterday:
> > >> http://svn.freebsd.org/viewvc/base?view=revision&revision=202839
> > >> 
> > >> And yes, CS hack is the problem. I'm trying to figure out how to fit it into FreeBSD
> > >> SPI framework. 
> > > 
> > > sounds good, will do an update as soon as i removed me work from code.
> > > My CS "solution" was more than crude, but the frames simply didn't
> > > fit... so I am looking forward for a different one :) 
> > 
> >     Yeah, my CS solution was dirty hack too. If for "didn't fit" you mean missing last 
> > byte of frame then this problem was solved to. Bug was in AR71XX SPI code: falling 
> > edge was not provided for last byte in transfer in time and RTC chip acts of falling edge. 
> > Fix was committed before driver.
> > 
> > 
> > 
> 
> code looks similar, can't tell much about result as kernel hangs for a
> while before getting this:
> <<<<<<<<<<<<<<<<<<<<<<<<<<< schnipp >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> Trap cause = 2 (TLB miss (load or instr. fetch) - kernel mode)
> [thread pid 4 tid 100009 ]
> Stopped at      _thread_lock_flags+0x150:       lw      v0,60(a3)
> db> bt
> Tracing pid 4 tid 100009 td 0xc0c47270
> db_trace_thread+30 (?,?,?,?) ra 800a6c10 sz 24
> 800a6af4+11c (0,?,ffffffff,?) ra 800a6604 sz 32
> 800a6270+394 (?,?,?,?) ra 800a6794 sz 168
> db_command_loop+78 (?,?,?,?) ra 800a8e68 sz 24
> 800a8d60+108 (?,?,?,?) ra 80215ff8 sz 424
> kdb_trap+f8 (?,?,?,?) ra 80474350 sz 32
> trap+134c (?,?,?,?) ra 8046b7fc sz 176
> MipsKernGenException+100 (b,173,804d5de8,deadc0d8) ra 801c593c sz 200
> _thread_lock_flags+130 (?,?,?,?) ra 80221f18 sz 56
> sleepq_broadcast+ac (?,?,?,?) ra 801e5f20 sz 40
> wakeup+2c (?,?,?,?) ra 8016de18 sz 32
> g_io_deliver+198 (?,?,?,?) ra 8016bbd4 sz 80
> 8016b590+644 (?,?,?,?) ra 8016e184 sz 104
> g_io_schedule_down+2ec (?,?,?,?) ra 8016eb94 sz 64
> 8016eb18+7c (?,?,?,?) ra 801a331c sz 24
> fork_exit+a0 (?,?,?,?) ra 80478f10 sz 48
> fork_trampoline+10 (?,?,?,?) ra 0 sz 0
> pid 4
> <<<<<<<<<<<<<<<<<<<<<<<<<<< schnapp >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
> 
> will use AR71XX as config file tomorrow, mine has many additional devs
> configured for booting from usb devices.
> 
[...]

seems to make no difference. removed all mini pci devs  and most code
changes. kernel hangs during bootup for a while. then gets a trap. 

Source Info:

-------------------------- schnipp --------------------------
brain:head> svn info
Path: .
URL: svn://svn.freebsd.org/base/head
Repository Root: svn://svn.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 202904
Node Kind: directory
Schedule: normal
Last Changed Author: marcel
Last Changed Rev: 202904
Last Changed Date: 2010-01-24 00:16:50 +0100 (Sun, 24 Jan 2010)
-------------------------- schnapp --------------------------

-------------------------- schnipp --------------------------
brain:head> svn stat
?       GRTAGS
?       GSYMS
?       GTAGS
?       GPATH
M       sys/kern/vfs_mount.c
M       sys/mips/conf/AR71XX
?       sys/dev/pfc2123
-------------------------- schnapp --------------------------

- vfs_mount should be far away. 
- sys/dev/pfc2123 is no longer used.
- sys/mips/conf/AR71XX altered to include pfc2123_rtc


-------------------------- schnipp --------------------------
FreeBSD 9.0-CURRENT #1: Sun Jan 24 15:58:37 UTC 2010

root at pinky.lan.terror.local:/home/smeagle/obj/mips/mips/home/smeagle/src/freebsd/head/sys/AR71XX mips
real memory  = 134217728 (131072K bytes)
avail memory = 125689856 (119MB)
nexus0: <MIPS32 root nexus>
clock0: <Generic MIPS32 ticker> on nexus0
clock0: [FILTER]
apb0 at irq 4 on nexus0
apb0: [FILTER]
uart0: <16550 or compatible> on apb0
uart0: [FILTER]
uart0: console (115200,n,8,1)
pcib0 at irq 0 on nexus0
pcib0: [FILTER]
pci0: <PCI bus> on pcib0
pci0: <old, non-VGA display device> at device 0.0 (no driver attached)
pci0: <processor> at device 17.0 (no driver attached)
arge0: <Atheros AR71xx built-in ethernet interface> at mem
0x19000000-0x19000fff irq 2 on nexus0
miibus0: <MII bus> on arge0
ukphy0: <Generic IEEE 802.3u media interface> PHY 4 on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT-FDX,
auto
arge0: Ethernet address: 00:00:00:00:46:61
arge0: [FILTER+ITHREAD]
arge1: <Atheros AR71xx built-in ethernet interface> at mem
0x1a000000-0x1a000fff irq 3 on nexus0
arge1: Ethernet address: 00:00:00:00:46:62
arge1: [FILTER+ITHREAD]
spi0: <AR71XX SPI> at mem 0x1f000000-0x1f00000f on nexus0
spibus0: <spibus bus> on spi0
mx25l0: <M25Pxx Flash Family> at cs 0 on spibus0
mx25l0: mx25ll128, sector 65536 bytes, 256 sectors
ar71xx_wdog0: <Atheros AR71XX watchdog timer> on nexus0
Timecounter "MIPS32" frequency 360000000 Hz quality 800
Timecounters tick every 1.000 msec
bootpc_init: wired to interface 'arge0'
Sending DHCP Discover packet from interface arge0 (00:00:00:00:46:61)
arge0: link state changed to DOWN
Trap cause = 2 (TLB miss (load or instr. fetch) - kernel mode)
[thread pid 4 tid 100008 ]
Stopped at      _thread_lock_flags+0x150:       lw      v0,60(a3)
db> bt
Tracing pid 4 tid 100008 td 0xc0c414e0
db_trace_thread+30 (?,?,?,?) ra 80055900 sz 24
800557e4+11c (0,?,ffffffff,?) ra 800552f4 sz 32
80054f60+394 (?,?,?,?) ra 80055484 sz 168
db_command_loop+78 (?,?,?,?) ra 80057b58 sz 24
80057a50+108 (?,?,?,?) ra 8017b7d8 sz 424
kdb_trap+f8 (?,?,?,?) ra 8035ab40 sz 32
trap+134c (?,?,?,?) ra 80351fec sz 176
MipsKernGenException+100 (b,173,8039ce74,deadc0d8) ra 8012c92c sz 200
_thread_lock_flags+130 (?,?,?,?) ra 801876f8 sz 56
sleepq_broadcast+ac (?,?,?,?) ra 8014b700 sz 40
wakeup+2c (?,?,?,?) ra 800d6ba8 sz 32
g_io_deliver+198 (?,?,?,?) ra 800d4964 sz 80
800d4320+644 (?,?,?,?) ra 800d6f14 sz 104
g_io_schedule_down+2ec (?,?,?,?) ra 800d7924 sz 64
800d78a8+7c (?,?,?,?) ra 8010c0ac sz 24
fork_exit+a0 (?,?,?,?) ra 8035f700 sz 48
fork_trampoline+10 (?,?,?,?) ra 0 sz 0
pid 4
-------------------------- schnapp --------------------------




Flo



More information about the freebsd-mips mailing list