Port-arm archive

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

Freescale i.MX7 support added



Hi all

I have commited about adding support Freescale i.MX7 processor
and Atmark Techno Armadillo-IoT G3 board.
 - http://armadillo.atmark-techno.com/armadillo-iot-g3
   (only available in Japanese)

UART/Ethernet/USB/SDHC/RTC/GPIO/WDOG and MULTIPROCESSOR works.


And now, i.MX7Dual processor has two Cortex-A7 cores and one Cortex-M4 core.
An M4 core is slower than A7, and more importantly, it has no MMU.
I don't know how/what to use M4 core on netbsd.
Does anyone have a nice idea/framework?  or for blinking LED? ;-)


[dmesg]
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
    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 7.99.29 (ARMADILLO-IOT-G3) #0: Fri May 13 02:38:10 JST 2016
        ryo@moveq:/usr/src/sys/arch/evbarm/compile/ARMADILLO-IOT-G3
total memory = 512 MB
avail memory = 500 MB
sysctl_createv: sysctl_create(machine_arch) returned 17
mainbus0 (root)
cpu0 at mainbus0 core 0: 792 MHz Cortex-A7 r0p5 (Cortex V7A core)
cpu0: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu0: 32KB/32B 2-way L1 VIPT Instruction cache
cpu0: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache
cpu0: 512KB/64B 8-way write-through L2 PIPT Unified cache
vfp0 at cpu0: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
cpu1 at mainbus0 core 1
armperiph0 at mainbus0
armgic0 at armperiph0: Generic Interrupt Controller, 160 sources (151 valid)
armgic0: 32 Priorities, 128 SPIs, 7 PPIs, 16 SGIs
armgtmr0 at armperiph0: ARMv7 Generic 64-bit Timer (8000 kHz)
armgtmr0: interrupting on irq 27
axi0 at mainbus0: Advanced eXtensible Interface
imxccm0 at axi0 addr 0x30380000: Clock Control Module
imxocotp0 at axi0 addr 0x30350000: On-Chip OTP Controller
imxocotp0: OCOTP_VERSION 5.0.0
imxgpio0 at axi0 addr 0x30260000 intr 96 irqbase 256: interrupts 256..287
imxgpio1 at axi0 addr 0x30250000 intr 98 irqbase 288: interrupts 288..319
imxgpio2 at axi0 addr 0x30240000 intr 100 irqbase 320: interrupts 320..351
imxgpio3 at axi0 addr 0x30230000 intr 102 irqbase 352: interrupts 352..383
imxgpio4 at axi0 addr 0x30220000 intr 104 irqbase 384: interrupts 384..415
imxgpio5 at axi0 addr 0x30210000 intr 106 irqbase 416: interrupts 416..447
imxgpio6 at axi0 addr 0x30200000 intr 108 irqbase 448: interrupts 448..479
imxiomux0 at axi0 addr 0x30330000: IOMUX Controller
imxuart4 at axi0 addr 0x30a70000 intr 62
imxuart4: console
sdhc0 at axi0 addr 0x30b40000 intr 54: Ultra Secured Digial Host Controller
sdhc0: SDHC 3.0, rev 0, 32-bit ADMA2, 180000 kHz, HS SDR50 DDR50 1.8V 3.0V 3.3V, re-tuning mode 1, 4096 byte blocks
sdmmc0 at sdhc0 slot 0
sdhc2 at axi0 addr 0x30b60000 intr 56: Ultra Secured Digial Host Controller
sdhc2: SDHC 3.0, rev 0, 32-bit ADMA2, 180000 kHz, HS SDR50 DDR50 1.8V 3.0V 3.3V, re-tuning mode 1, 4096 byte blocks
sdmmc1 at sdhc2 slot 0
imxwdog0 at axi0 addr 0x30280000 intr 110: i.MX Watchdog Timer, default period is 10 seconds
imxwdog1 at axi0 addr 0x30290000 intr 111: i.MX Watchdog Timer, default period is 10 seconds
imxwdog2 at axi0 addr 0x302a0000 intr 42: i.MX Watchdog Timer, default period is 10 seconds
imxwdog3 at axi0 addr 0x302b0000 intr 141: i.MX Watchdog Timer, default period is 10 seconds
enet1 at axi0 addr 0x30bf0000 intr 132: Gigabit Ethernet Controller
enet1: Ethernet address 00:11:0c:1b:80:2d
ukphy0 at enet1 phy 0: OUI 0x008083, model 0x0013, rev. 1
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
imxusbc0 at axi0 addr 0x30b10000: Universal Serial Bus Controller
ehci0 at imxusbc0 unit 0 intr 75: i.MX USB Controller
ehci0: id=5 revision=161 HCI revision=0x100
ehci0: 1 host port, device capable, 8 endpoints
usb0 at ehci0: USB revision 2.0
imxsnvs0 at axi0 addr 0x30370000: Secure Non-Volatile Storage
cpu_boot_secondary_processors: writing mbox with 0x2
cpu_hatch(cpu1):  vectors vbar=0x8001e640 stacks tlbcpu1: 792 MHz Cortex-A7 r0p5 (Cortex V7A core)
cpu1: DC enabled IC enabled WB disabled EABT branch prediction enabled
cpu1: 32KB/32B 2-way L1 VIPT Instruction cache
cpu1: 32KB/64B 4-way write-back-locking-C L1 PIPT Data cache
cpu1: 512KB/64B 8-way write-through L2 PIPT Unified cache
 vfpvfp1 at cpu1: NEON MPE (VFP 3.0+), rounding, NaN propagation, denormals
 interrupts md(0x8000d200) done!
gpio0 at imxgpio0: 32 pins
gpio1 at imxgpio1: 32 pins
gpio2 at imxgpio2: 32 pins
gpio3 at imxgpio3: 32 pins
gpio4 at imxgpio4: 32 pins
gpio5 at imxgpio5: 32 pins
gpio6 at imxgpio6: 32 pins
uhub0 at usb0: i.MX EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
ld0 at sdmmc0: <0x83:0x4e43:NCard:0x10:0x21267bf7:0x0fa>
ld0: 30672 MB, 7789 cyl, 128 head, 63 sec, 512 bytes/sect x 62816256 sectors
ld0: 4-bit width, DDR50, 50.000 MHz
boot device: <unknown>
root device: enet1
dump device: 
file system (default generic): 
root on enet1
nfs_boot: trying DHCP/BOOTP
umass0 at uhub0 port 1 configuration 1 interface 0
umass0: Generic USB Mass Storage Device, rev 2.00/2.20, addr 2
scsibus0 at umass0: 2 targets, 1 lun per target
sd0 at scsibus0 target 0 lun 0: <Mass, Storage Device, 0\0000> disk fixed
sd0: 698 GB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 1465149166 sectors
nfs_boot: DHCP next-server: 0.0.0.0
nfs_boot: my_name=g3
nfs_boot: my_domain=nerv.org
nfs_boot: my_addr=172.17.4.88
nfs_boot: my_mask=255.255.0.0
nfs_boot: gateway=172.17.4.40
root on 172.17.4.40:/src/boot/pxe-g3
root file system type: nfs
kern.module.path=/stand/evbarm/7.99.29/modules
init path (default /sbin/init): 
init: trying /sbin/init
Fri May 13 02:54:01 JST 2016
Not checking /: fs_passno = 0 in /etc/fstab
Starting file system checks:
random_seed: /var/db/entropy-file: Not present
Setting tty flags.
Setting sysctl variables:
ddb.onpanic: 1 -> 0
Starting network.
Hostname: armadillo-g3
IPv6 mode: host
Configuring network interfaces:.
Adding interface aliases:.
add net default: gateway 172.17.4.1
Waiting for DAD to complete for statically configured addresses...
Building databases: dev, utmp, utmpx.
Starting syslogd.
Mounting all file systems...
Clearing temporary files.
Creating a.out runtime link editor directory cache.
Checking quotas: done.
/etc/rc: WARNING: No swap space configured!
/etc/rc.d/swap2 exited with code 1
Starting virecover.
Checking for core dump...
savecore: no core dump (no dumpdev)
Starting local daemons:.
Updating motd.
Starting sshd.
Starting inetd.
Starting cron.
The following components reported failures:
    /etc/rc.d/swap2
See /var/run/rc.log for more information.
Fri May 13 02:54:16 JST 2016

NetBSD/evbarm (armadillo-g3) (console)

login: root
May 13 02:50:44 armadillo-g3 login: ROOT LOGIN (root) on tty console
Last login: Mon May  9 15:41:37 2016 on console
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016
    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 7.99.29 (ARMADILLO-IOT-G3) #0: Fri May 13 02:38:10 JST 2016

Welcome to NetBSD!

We recommend that you create a non-root account and use su(1) for root access.

armadillo-g3# uname -a
NetBSD armadillo-g3 7.99.29 NetBSD 7.99.29 (ARMADILLO-IOT-G3) #0: Fri May 13 02:38:10 JST 2016  ryo@moveq:/usr/src/sys/arch/evbarm/compile/ARMADILLO-IOT-G3 evbarm

armadillo-g3# sysctl hw machdep
hw.machine = evbarm
hw.model = Cortex-A7 r0p5 (Cortex V7A core)
hw.ncpu = 2
hw.byteorder = 1234
hw.physmem = 536870912
hw.usermem = 536862720
hw.pagesize = 8192
hw.disknames = ld0 sd0
hw.machine_arch = earmv7hf
hw.alignbytes = 7
hw.cnmagic = \x27\x01
hw.physmem64 = 536870912
hw.usermem64 = 536862720
hw.iostatnames = ld0 sd0 nfs0 nfs1 nfs2
hw.ncpuonline = 2
hw.uhso.autoswitch = 1
hw.firmware.path = /libdata/firmware:/usr/libdata/firmware:/usr/pkg/libdata/firmware:/usr/pkg/libdata
machdep.debug = 0
machdep.powersave = 1
machdep.cpu_arch = 7A
machdep.cpu_id = 1091551349
machdep.fpu_id = 1090662517
machdep.fpu_present = 1
machdep.hwdiv_present = 1
machdep.neon_present = 1
machdep.simd_present = 1
machdep.simdex_present = 1
machdep.synchprim_present = 32
machdep.printfataltraps = 0
machdep.unaligned_sigbus = 0
machdep.kmpages = 655
machdep.imx7.frequency.pll.arm = 792000000
machdep.imx7.frequency.pll.system = 480000000
machdep.imx7.frequency.pll.enet = 1000000000
machdep.imx7.frequency.pll.audio = 162000000
machdep.imx7.frequency.pll.video = 162000000
machdep.imx7.frequency.pll.ddr = 528000000
machdep.imx7.frequency.pll.usb = 480000000
machdep.imx7.frequency.arm_a7 = 792000000
machdep.imx7.frequency.arm_m4 = 240000000

armadillo-g3# cpuctl identify 0
cpu0: isa features: Swap, Bitcount, Bitfield, CmpBranch, Coproc=0, Debug
cpu0: isa features: Divde=2, Endian, Except, Except_AR, Extend=2, IfThen
cpu0: isa features: Immediate, Interwork=3, Jazelle, LoadStore, MemHint=4
cpu0: isa features: MultAccessInt=0, Mult=2, MultS=3, MultU=2, PSR_AR
cpu0: isa features: Reversal=2, Saturate, SIMD=3, SVC, SynchPrim=2, TabBranch
cpu0: isa features: ThumbCopy, TrueNOP, ThumbEE_Extn, Unpriv=2, WithShifts=4
cpu0: isa features: Writeback, SMC, Barrier, SynchPrim_frac, PSR_M, SWP
cpu0: memory model: VMSA-Support=5, Outermost-Shareablity=1
cpu0: memory model: Shareability-Levels=1, Auxilary-Registers=1
cpu0: memory model: Innermost-Shareability=1, Branch-Predictor=4
cpu0: memory model: Unified-TLB=4, Mem-Barrier=2, WFI-Stall=1
cpu0: memory model: Cache-Maintenance-MVA=1, Cache-Maintenance-Set/Way=1
cpu0: memory model: BP-Maintenance=2, Maintenance-Broadcast=2
cpu0: memory model: Coherent-Tablewalk=1, Cached-Memory-Size=2
cpu0: processor features: ThumbEE=1, Jazelle=3, Thumb=1, ARM=1, Programmer=1
cpu0: processor features: Security=1, M-profile=0, Virtualization=1
cpu0: processor features: Generic-Timer=1
cpu0: media and VFP features: ASIMD-Registers=2, Single-Precision=2
cpu0: media and VFP features: Double-Precision=2, Divide=1, Square-Root=1
cpu0: media and VFP features: VFP-Rounding-Modes=1, Flush-To-Zero=1
cpu0: media and VFP features: Default-NaN=1, ASIMD-Load/Store=1
cpu0: media and VFP features: ASIMD-Integer=1, ASIMD-SPFP=1, ASIMD-HPFP=1
cpu0: media and VFP features: VFP-HPFP=1, ASIMD-FMAC=1

--
ryo shimizu


Home | Main Index | Thread Index | Old Index