On Sat, Feb 27, 2016 at 11:09:10PM +0100, Patrick Wildt wrote:
> Hi,
> 
> the Allwinner A10 and A20 SoC include an EMAC, but it's only used in
> few devices like the Cubieboard.  The A20, like the A31 and A80, contain
> a GMAC, which is a Synopsys Designware controller.  This is commonly
> used on the Banana Pi, Lamobo R1, Cubieboard 2 and more.  This diff
> is the complete diff I worked on to support the GMAC.  It's based on
> NetBSD's DWC driver plus some glue code.
> 
> Unfortunately this diff currently (probably) only works on the
> Cubieboard 2, or devices similarly wired.  Not every device is wired
> the same, and we currently have no way to distinguish A20 based devices.
> Once we are able to parse a device tree it will be much easier to set up
> the clock and tx delay per board.

Cubieboard 2, also with the workaround patch from arm@.

Thank you.

#### dmesg ####
OpenBSD/sunxi booting ...
arg0 0x0 arg1 0x10bb arg2 0x40000100
atag core flags 0 pagesize 0 rootdev 0
atag serial 0x16516616:0b01944c
atag mem start 0x40000000 size 0x40000000
bootfile:
bootargs:
memory size derived from u-boot
bootconf.mem[0].address = 40000000 pages 262144/0x40000000
Allocating page tables
freestart = 0x40774000, free_pages = 260236 (0x0003f88c)
IRQ stack: p0x407a2000 v0xc07a2000
ABT stack: p0x407a3000 v0xc07a3000
UND stack: p0x407a4000 v0xc07a4000
SVC stack: p0x407a5000 v0xc07a5000
Creating L1 page table at 0x40774000
Mapping kernel
Constructing L2 page tables
undefined page pmap [ using 398344 bytes of bsd ELF symbol table ]
board type: 4283
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.
Copyright (c) 1995-2016 OpenBSD. All rights reserved.  http://www.OpenBSD.org

OpenBSD 5.9-current (GENERIC) #2: Mon Feb 29 01:35:57 BRT 2016
    dbolgher...@bbb.my.domain:/usr/src/sys/arch/armv7/compile/GENERIC
real mem  = 1073741824 (1024MB)
avail mem = 1044967424 (996MB)
warning: no entropy supplied by boot loader
mainbus0 at root
cortex0 at mainbus0
ampintc0 at cortex0 nirq 160
agtimer0 at cortex0: tick rate 24000 KHz
cpu0 at mainbus0: ARM Cortex A7 rev 4 (ARMv7 core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB(32b/l,2way) I-cache, 32KB(64b/l,4way) wr-back D-cache
sunxi0 at mainbus0: Allwinner A20
sxipio0 at sunxi0
sxiccmu0 at sunxi0
sxidog0 at sunxi0
sxirtc0 at sunxi0
sxiuart0 at sunxi0: console
sxiuart1 at sunxi0
sxiuart2 at sunxi0
sxiuart3 at sunxi0
sxiuart4 at sunxi0
sxiuart5 at sunxi0
sxiuart6 at sunxi0
sxiuart7 at sunxi0
awge0 at sunxi0
awge0: Ethernet address: 02:16:0b:01:94:4c
rlphy0 at awge0 phy 1: RTL8201L 10/100 PHY, rev. 1
ahci0 at sunxi0 AHCI 1.1
ahci0: port 0: 1.5Gb/s
scsibus0 at ahci0: 32 targets
sd0 at scsibus0 targ 0 lun 0: <ATA, TOSHIBA MK3265GS, GJ00> SCSI3 0/direct 
fixed naa.50000393138822a0
sd0: 305245MB, 512 bytes/sector, 625142448 sectors
ehci0 at sunxi0
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 "Allwinner EHCI root hub" rev 2.00/1.00 addr 1
ehci1 at sunxi0
usb1 at ehci1: USB revision 2.0
uhub1 at usb1 "Allwinner EHCI root hub" rev 2.00/1.00 addr 1
gpio0 at sxipio0: 18 pins
gpio1 at sxipio0: 24 pins
gpio2 at sxipio0: 25 pins
gpio3 at sxipio0: 28 pins
gpio4 at sxipio0: 12 pins
gpio5 at sxipio0: 6 pins
gpio6 at sxipio0: 12 pins
gpio7 at sxipio0: 28 pins
gpio8 at sxipio0: 22 pins
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
boot device: lookup '' failed.
root device: sd0a
swap device (default sd0b):
root on sd0a swap on sd0b dump on sd0b
WARNING: preposterous time in file system
WARNING: CHECK AND RESET THE DATE!
Automatic boot in progress: starting file system checks.
/dev/sd0a (0d3d29f19b4e9e54.a): file system is clean; not checking
/dev/sd0l (0d3d29f19b4e9e54.l): file system is clean; not checking
/dev/sd0d (0d3d29f19b4e9e54.d): file system is clean; not checking
/dev/sd0f (0d3d29f19b4e9e54.f): file system is clean; not checking
/dev/sd0g (0d3d29f19b4e9e54.g): file system is clean; not checking
/dev/sd0h (0d3d29f19b4e9e54.h): file system is clean; not checking
/dev/sd0k (0d3d29f19b4e9e54.k): file system is clean; not checking
/dev/sd0j (0d3d29f19b4e9e54.j): file system is clean; not checking
/dev/sd0e (0d3d29f19b4e9e54.e): file system is clean; not checking
setting tty flags
pf enabled
starting network
DHCPDISCOVER on awge0 - interval 3
DHCPOFFER from 192.168.1.1 (14:cc:20:de:4b:cc)
DHCPREQUEST on awge0 to 255.255.255.255
DHCPACK from 192.168.1.1 (14:cc:20:de:4b:cc)
bound to 192.168.1.69 -- renewal in 3600 seconds.
starting early daemons: syslogd pflogd ntpd.
starting RPC daemons:.
savecore: no core dump
checking quotas: done.
clearing /tmp
kern.securelevel: 0 -> 1
creating runtime link editor directory cache.
preserving editor files.
starting network daemons: sshd smtpd sndiod.
starting local daemons: cron.
Thu Jan  1 07:47:54 BRT 1970

OpenBSD/armv7 (cb2.my.domain) (console)

login:

#### ddb ####
ddb> trace
panic+0x18
        scp=0xc03c44c0 rlv=0xc0537eb8 (_bus_dmamap_sync+0xb8)
        rsp=0xcc3d2db0 rfp=0xcc3d2df4
_bus_dmamap_sync+0xc
        scp=0xc0537e0c rlv=0xc030edb4 (dwc_gmac_txdesc_sync+0xa8)
        rsp=0xcc3d2df8 rfp=0xcc3d2e1c
        r10=0x00000000 r9=0x000000ff r8=0xc54c119c r7=0xc0537e00
        r6=0x00000005 r5=0x00000000 r4=0xc54c1000
dwc_gmac_txdesc_sync+0x10
        scp=0xc030ed1c rlv=0xc0310a38 (dwc_gmac_start+0xec)
        rsp=0xcc3d2e20 rfp=0xcc3d2e4c
        r7=0xc54c1000 r6=0xc54c103c r5=0x00000000 r4=0x00000000
dwc_gmac_start+0x10
        scp=0xc031095c rlv=0xc040c278 (if_start_locked+0x34)
        rsp=0xcc3d2e50 rfp=0xcc3d2e6c
        r10=0xc54c129c r9=0x00000000 r8=0x00000000 r7=0x00000062
        r6=0xc069274c r5=0x00000003 r4=0xc54c103c
if_start_locked+0xc
        scp=0xc040c250 rlv=0xc0410168 (if_enqueue+0x98)
        rsp=0xcc3d2e70 rfp=0xcc3d2e94
        r6=0x00000002 r5=0xc54c103c r4=0x00000000
if_enqueue+0x10
        scp=0xc04100e0 rlv=0xc0411cf4 (ether_output+0x188)
        rsp=0xcc3d2e98 rfp=0xcc3d2ecc
        r8=0xcc3d2e9e r7=0x00000008 r6=0xca4bd700 r5=0xc54c103c
        r4=0xca4bd756
ether_output+0xc
        scp=0xc0411b78 rlv=0xc0467ea8 (ip_output+0x6d0)
        rsp=0xcc3d2ed0 rfp=0xcc3d2f40
        r10=0x00000000 r8=0xc54c103c r7=0xcc3d2f04 r6=0xcc3d2efc
        r5=0xc068e658 r4=0xca4bd764
ip_output+0xc
        scp=0xc04677e4 rlv=0xc04613a4 (ip_send+0x80)
        rsp=0xcc3d2f44 rfp=0xcc3d2f78
        r10=0xc06e6190 r9=0x00000000 r8=0xc06e632c r7=0xcc3d2f7c
        r6=0xc069274c r5=0x00000000 r4=0xcc3d2f50
ip_send+0x48
        scp=0xc046136c rlv=0xc03b7770 (taskq_thread+0x90)
        rsp=0xcc3d2f7c rfp=0xcc3d2fb0
        r6=0x00000001 r5=0xc53dc040 r4=0xc03b7648
taskq_thread+0xc
        scp=0xc03b76ec rlv=0xc0538878 (proc_trampoline+0x18)
        rsp=0xcc3d2fb4 rfp=0xc07a6edc
        r7=0x00000000 r6=0x00000000 r5=0xc53dc040 r4=0xc03b76e0
Bad frame pointer: 0xc07a6edc
ddb> ps
   TID   PPID   PGRP    UID  S       FLAGS  WAIT          COMMAND
  4908      1   4908      0  3    0x100083  ttyin         ksh
 20834      1  20834      0  3    0x100098  poll          cron
 18754      1  18754     99  3    0x100090  poll          sndiod
 28037      1  28037    110  3    0x100090  poll          sndiod
 32534  11442  11442     95  3    0x100090  kqread        smtpd
 25769  11442  11442     95  3    0x100090  kqread        smtpd
 23822  11442  11442     95  3    0x100090  kqread        smtpd
 30273  11442  11442     95  3    0x100090  kqread        smtpd
 14142  11442  11442     95  3    0x100090  kqread        smtpd
  4179  11442  11442    103  3    0x100090  kqread        smtpd
 11442      1  11442      0  3    0x100080  kqread        smtpd
 13130      1  13130      0  3        0x80  select        sshd
 23647  28151   7264     83  3    0x100090  poll          ntpd
 28151   7264   7264     83  3    0x100090  poll          ntpd
  7264      1   7264      0  3    0x100080  poll          ntpd
  7806  27743  27743     74  3    0x100090  bpf           pflogd
 27743      1  27743      0  3        0x80  netio         pflogd
 26121  11260  11260     73  3    0x100090  kqread        syslogd
 11260      1  11260      0  3    0x100080  netio         syslogd
  6306      1   6306     77  3    0x100090  poll          dhclient
  4007      1   4007      0  3        0x80  poll          dhclient
 19407      0      0      0  3     0x14200  pgzero        zerothread
  7013      0      0      0  3     0x14200  aiodoned      aiodoned
  3359      0      0      0  3     0x14200  syncer        update
  4092      0      0      0  3     0x14200  cleaner       cleaner
  2344      0      0      0  3     0x14200  reaper        reaper
  7077      0      0      0  3     0x14200  pgdaemon      pagedaemon
 29027      0      0      0  3     0x14200  bored         crypto
  6851      0      0      0  3     0x14200  pftm          pfpurge
 24135      0      0      0  3     0x14200  usbtsk        usbtask
  6548      0      0      0  3     0x14200  usbatsk       usbatsk
*16145      0      0      0  7     0x14210                softnet
 24256      0      0      0  3     0x14200  bored         systqmp
 15766      0      0      0  3     0x14200  bored         systq
 10622      0      0      0  3  0x40014200                idle0
  8444      0      0      0  3     0x14200  kmalloc       kmthread
     1      0      1      0  3        0x82  wait          init
     0     -1      0      0  3     0x10200  scheduler     swapper
ddb>

-- 
db

Reply via email to