Port-arm archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: NetBSD port to Marvell Armada XP



Hi again, ARM crowd.

On 16 Apr, 2013, at 19:22 , Radoslaw Kujawa 
<radoslaw.kujawa%c0ff33.net@localhost> wrote:

> I'm proud to present the NetBSD port to Marvell Armada XP[1] SoCs. The port 
> was done by Semihalf[2] and sponsored by Marvell, who has generously agreed 
> to release the source code. For a past few weeks I've been working on 
> bringing this port into official NetBSD source tree. 

Last night I've finished integrating the Armada XP port into our source tree. 
Now that all components are in tree, one run NetBSD on Armada XP by building 
the evbarm port. The kernel for Armada is built from configuration "ARMADAXP". 

The port includes support for PJ4B CPU core and most of SoC peripherals:
- UARTs (stock com driver with added support for NS16750)
- SATA (existing mvsata driver with minor mods)
- PCI Express (existing mvpex driver with minor mods)
- I2C (existing gttwsi with minor mods)
- SPI (new mvspi driver)
- USB (existing mvehci driver with minor mods)

The notable omission is lack of support for on-chip Ethernet, but PCI Express 
ethernet card can be used.

It was tested extensively on a Marvell DB-MV784MP-GP board. This (and probably 
-DB board) is the only hardware that is currently supported, however adding 
support for additional boards should be trivial. 

I've incorporated the changes suggested by various people, but some parts of 
this port could still use more work (particularly support for Armada PIC, 
detection of available physical memory, etc.). I'm open to any suggestions.


Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 6.99.21 (ARMADAXP) #1: Thu May 30 01:26:05 CEST 2013
        
rkujawa%r2d2.home.c0ff33.net@localhost:/home/rkujawa/repos/NetBSD/HEAD/src/sys/arch/evbarm/compile/obj/ARMADAXP
total memory = 2048 MB
avail memory = 2006 MB
timecounter: Timecounters tick every 10.000 msec
mainbus0 (root)
cpu0 at mainbus0 core 0: Sheeva 88SV584x rev 2 (Marvell V core)
cpu0: DC enabled IC enabled WB enabled LABT branch prediction enabled
cpu0: isar: [0]=0x2141111 [1]=0x13112111 [2]=0x21232041 [3]=0x11112131, 
[4]=0x10142, [5]=0
cpu0: mmfr: [0]=0x1100105 [1]=0x40000000 [2]=0x11230000 [3]=0x2102211
cpu0: pfr: [0]=0x1031 [1]=0x1
cpu0: 32KB/32B 4-way L1 Instruction cache
cpu0: 32KB/32B 8-way write-back-locking-C L1 Data cache
cpu0: 2048KB/32B 32-way write-through L2 Unified cache
mvsoc0 at mainbus0: Marvell MV78460 Rev. B0  Armada XP
mvsoc0: CPU Clock 1333.000 MHz  SysClock 667.000 MHz  TClock 250.000 MHz
mvsoctmr0 at mvsoc0 unit 0 offset 0x20300-0x203ff irq 37: Marvell SoC Timer
com0 at mvsoc0 unit 0 offset 0x12000-0x1201f irq 41: ns16550a, working fifo
com0: console
com1 at mvsoc0 unit 1 offset 0x12100-0x1211f irq 42: ns16550a, working fifo
com2 at mvsoc0 unit 2 offset 0x12200-0x1221f irq 43: ns16550a, working fifo
com3 at mvsoc0 unit 3 offset 0x12300-0x1231f irq 44: ns16550a, working fifo
mvsocrtc0 at mvsoc0 unit 0 offset 0x10300-0x10317 irq 50: Marvell SoC Real Time 
Clock
ehci0 at mvsoc0 unit 0 offset 0x50000-0x51fff irq 45: Marvell USB 2.0 Interface
ehci0: EHCI version 1.0
usb0 at ehci0: USB revision 2.0
ehci1 at mvsoc0 unit 1 offset 0x51000-0x52fff irq 46: Marvell USB 2.0 Interface
ehci1: EHCI version 1.0
usb1 at ehci1: USB revision 2.0
mvpex0 at mvsoc0 unit 0 offset 0x40000-0x41fff irq 58: Marvell PCI Express 
Interface
pci0 at mvpex0
pci0: i/o space, memory space enabled
vendor 0x11ab product 0x7846 (miscellaneous memory, revision 0x02) at pci0 dev 
0 function 0 not configured
mvpex1 at mvsoc0 unit 1 offset 0x44000-0x45fff irq 59: Marvell PCI Express 
Interface
pci1 at mvpex1
pci1: i/o space, memory space enabled
mvpex2 at mvsoc0 unit 2 offset 0x48000-0x49fff irq 60: Marvell PCI Express 
Interface
pci2 at mvpex2
pci2: i/o space, memory space enabled
mvpex3 at mvsoc0 unit 3 offset 0x4c000-0x4dfff irq 61: Marvell PCI Express 
Interface
pci3 at mvpex3
pci3: i/o space, memory space enabled
mvpex4 at mvsoc0 unit 4 offset 0x42000-0x43fff irq 99: Marvell PCI Express 
Interface
pci4 at mvpex4
pci4: i/o space, memory space enabled
vendor 0x11ab product 0x7846 (miscellaneous memory, revision 0x02) at pci4 dev 
0 function 0 not configured
re0 at pci4 dev 1 function 0: RealTek 8168/8111 PCIe Gigabit Ethernet (rev. 
0x06)
re0: interrupting at interrupt pin INTA#
re0: Ethernet address a0:f3:c1:00:c1:8f
re0: using 256 tx descriptors
rgephy0 at re0 phy 7: RTL8169S/8110S/8211 1000BASE-T media interface, rev. 4
rgephy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 
1000baseT-FDX, auto
mvpex5 at mvsoc0 unit 5 offset 0x82000-0x83fff irq 103: Marvell PCI Express 
Interface
pci5 at mvpex5
pci5: i/o space, memory space enabled
vendor 0x11ab product 0x7846 (miscellaneous memory, revision 0x02) at pci5 dev 
0 function 0 not configured
mvsata0 at mvsoc0 unit 0 offset 0xa0000-0xa7fff irq 55: Marvell Serial-ATA Host 
Controller (SATAHC)
mvsata0: GenIIe, 1hc, 2port/hc
atabus0 at mvsata0 channel 0
atabus1 at mvsata0 channel 1
gttwsi0 at mvsoc0 unit 0 offset 0x11000-0x110ff irq 31: Marvell TWSI controller
iic0 at gttwsi0: I2C bus
spdmem0 at iic0 addr 0x56
spdmem0: DDR3 SDRAM, ECC, temp-sensor, 4GB, 1778MHz (PC3-14222)
spdmem0: 12 rows, 13 cols, 8 log. banks, 2 phys. banks, 1.125ns cycle time
spdmem0: tAA-tRCD-tRP-tRAS: 11-11-11-30
gttwsi1 at mvsoc0 unit 1 offset 0x11100-0x111ff irq 32: Marvell TWSI controller
iic1 at gttwsi1: I2C bus
mvspi0 at mvsoc0 unit 0 offset 0x10600-0x1064f irq 30: Marvell SPI controller
spi0 at mvspi0: SPI bus
m25p0 at spi0 slave 0
spiflash0 at m25p0: Numonyx N25Q128 SPI flash
spiflash0: 16384 KB, 256 sectors of 64 KB each
mvspi1 at mvsoc0 unit 1 offset 0x10680-0x106cf irq 30: Marvell SPI controller
spi1 at mvspi1: SPI bus
timecounter: Timecounter "clockinterrupt" frequency 100 Hz quality 0
timecounter: Timecounter "mvsoctmr0" frequency 25000000 Hz quality 100
uhub0 at usb0: Marvell EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub0: 1 port with 1 removable, self powered
uhub1 at usb1: Marvell EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub1: 1 port with 1 removable, self powered
IPsec: Initialized Security Association Processing.
mvsata0 port 0: device present, speed: 3.0Gb/s
mvsata0 port 1: device present, speed: 3.0Gb/s
wd0 at atabus0 drive 0
wd0: <TS8GHSD310>
wd0: drive supports 1-sector PIO transfers, LBA48 addressing
wd0: 7627 MB, 15498 cyl, 16 head, 63 sec, 512 bytes/sect x 15621984 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd0(mvsata0:0:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd1 at atabus1 drive 0
wd1: <ST980813ASG>
wd1: drive supports 16-sector PIO transfers, LBA48 addressing
wd1: 76319 MB, 155061 cyl, 16 head, 63 sec, 512 bytes/sect x 156301488 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 6 (Ultra/133)
wd1(mvsata0:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
boot device: <unknown>
root device: 
use one of: re0 wd0[a-p] wd1[a-p] spiflash0[a-p] ddb halt reboot
root device: wd1a
dump device (default wd1b): 
file system (default generic): 
root on wd1a dumps on wd1b
root file system type: ffs
warning: no /dev/console
init path (default /sbin/init): 
init: trying /sbin/init
# 


-- 
Best regards,
Radoslaw Kujawa






Home | Main Index | Thread Index | Old Index