This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教am335x 双网口配置的问题

Other Parts Discussed in Thread: TPS65217, AM3359

,自己做的板子 双网口,broadcom50610 phy芯片,在 sdk-07.00.00.00之前的版本中,即3.2内核中,使用都正常,在新版本(linux 3.12.10)中怎么配置都有问题,请教各位大侠!

从外面ping  板子显示:

From 192.168.10.105 icmp_seq=1 Destination Host Unreachable
From 192.168.10.105 icmp_seq=2 Destination Host Unreachable
From 192.168.10.105 icmp_seq=3 Destination Host Unreachable
From 192.168.10.105 icmp_seq=5 Destination Host Unreachable
From 192.168.10.105 icmp_seq=6 Destination Host Unreachable
From 192.168.10.105 icmp_seq=7 Destination Host Unreachable
From 192.168.10.105 icmp_seq=9 Destination Host Unreachable
From 192.168.10.105 icmp_seq=10 Destination Host Unreachable

启动信息

U-Boot SPL 2013.10-00189-g78d8ebd-dirty (Sep 30 2014 - 17:24:57)
Could not probe the EEPROM; something fundamentally wrong on the I2C bus.
Could not get board ID.
reading args
spl: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2013.10-00189-g78d8ebd-dirty (Sep 30 2014 - 17:24:57)

I2C: ready
DRAM: 256 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
*** Error - No Valid Environment Area found
*** Warning - bad CRC, using default environment

Net: <ethaddr> not set. Validating first E-fuse MAC
Could not get PHY for cpsw: addr 18
cpsw, usb_ether
Hit any key to stop autoboot: 0
mmc0 is current device
Scanning mmc 0...
4117616 bytes read in 264 ms (14.9 MiB/s)
33206 bytes read in 24 ms (1.3 MiB/s)
mmc0 is current device
SD/MMC found on device 0
reading uEnv.txt
674 bytes read in 3 ms (218.8 KiB/s)
Loaded environment from uEnv.txt
Importing environment from mmc ...
Running uenvcmd ...
reading uImage
4097184 bytes read in 245 ms (15.9 MiB/s)
reading am335x-bone.dtb
35525 bytes read in 7 ms (4.8 MiB/s)
## Booting kernel from Legacy Image at 80200000 ...
Image Name: Linux-3.12.10-rt21-ti2013.12.01
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 4097120 Bytes = 3.9 MiB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 80f80000
Booting using the fdt blob at 0x80f80000
Loading Kernel Image ... OK
Loading Device Tree to 8f320000, end 8f32bac4 ... OK

Starting kernel ...

[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 3.12.10-rt21-ti2013.12.01 (wu@robot) (gcc version 4.7.3 20130226 (prerelease) (crosstool-NG5
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] Machine: Generic AM33XX (Flattened Device Tree), model: TI AM335x BeagleBone
[ 0.000000] cma: CMA: reserved 24 MiB at 8d800000
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] CPU: All CPU(s) started in SVC mode.
[ 0.000000] AM335X ES2.1 (sgx neon )
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 64256
[ 0.000000] Kernel command line: console=ttyO0,115200n8 root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait ip=off login=0
[ 0.000000] PID hash table entries: 1024 (order: 0, 4096 bytes)
[ 0.000000] Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
[ 0.000000] Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
[ 0.000000] Memory: 223500K/259072K available (5539K kernel code, 560K rwdata, 1812K rodata, 343K init, 252K bss, 355)
[ 0.000000] Virtual kernel memory layout:
[ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB)
[ 0.000000] fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
[ 0.000000] vmalloc : 0xd0800000 - 0xff000000 ( 744 MB)
[ 0.000000] lowmem : 0xc0000000 - 0xd0000000 ( 256 MB)
[ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
[ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
[ 0.000000] .text : 0xc0008000 - 0xc073604c (7353 kB)
[ 0.000000] .init : 0xc0737000 - 0xc078ce50 ( 344 kB)
[ 0.000000] .data : 0xc078e000 - 0xc081a0b0 ( 561 kB)
[ 0.000000] .bss : 0xc081a0bc - 0xc0859258 ( 253 kB)
[ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[ 0.000000] Preemptible hierarchical RCU implementation.
[ 0.000000] NR_IRQS:16 nr_irqs:16 16
[ 0.000000] IRQ: Found an INTC at 0xfa200000 (revision 5.0) with 128 interrupts
[ 0.000000] Total of 128 interrupts on 1 active controller
[ 0.000000] OMAP clockevent source: timer2 at 24000000 Hz
[ 0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 178956ms
[ 0.000000] OMAP clocksource: timer1 at 24000000 Hz
[ 0.000000] Console: colour dummy device 80x30
[ 0.049750] Calibrating delay loop... 531.66 BogoMIPS (lpj=2658304)
[ 0.049756] pid_max: default: 32768 minimum: 301
[ 0.049889] Security Framework initialized
[ 0.049959] Mount-cache hash table entries: 512
[ 0.060644] CPU: Testing write buffer coherency: ok
[ 0.061016] Setting up static identity map for 0xc056e778 - 0xc056e7e8
[ 0.062837] devtmpfs: initialized
[ 0.066131] VFP support v0.3: implementor 41 architecture 3 part 30 variant c rev 3
[ 0.132623] omap_hwmod: debugss: _wait_target_disable failed
[ 0.133605] pinctrl core: initialized pinctrl subsystem
[ 0.134950] regulator-dummy: no parameters
[ 0.137755] NET: Registered protocol family 16
[ 0.144127] DMA: preallocated 256 KiB pool for atomic coherent allocations
[ 0.148562] cpuidle: using governor ladder
[ 0.148587] cpuidle: using governor menu
[ 0.157218] platform mpu.1: FIXME: clock-name 'fck' DOES NOT exist in dt!
[ 0.159011] platform 49000000.edma: FIXME: clock-name 'fck' DOES NOT exist in dt!
[ 0.161122] OMAP GPIO hardware version 0.1
[ 0.175069] platform 56000000.sgx: FIXME: clock-name 'fck' DOES NOT exist in dt!
[ 0.179594] DSS not supported on this SoC
[ 0.179619] No ATAGs?
[ 0.179633] hw-breakpoint: debug architecture 0x4 unsupported.
[ 0.222412] bio: create slab <bio-0> at 0
[ 0.247076] edma-dma-engine edma-dma-engine.0: TI EDMA DMA engine driver
[ 0.248355] vmmcsd_fixed: 3300 mV
[ 0.249109] netpower_fixed: no parameters
[ 0.249875] netphyreset_fixed: no parameters
[ 0.250502] ledpower_fixed: no parameters
[ 0.254709] vgaarb: loaded
[ 0.256652] SCSI subsystem initialized
[ 0.258888] usbcore: registered new interface driver usbfs
[ 0.259186] usbcore: registered new interface driver hub
[ 0.259537] usbcore: registered new device driver usb
[ 0.261484] omap_i2c 44e0b000.i2c: could not find pctldev for node /pinmux@44e10800/pinmux_i2c0_pins, deferring probe
[ 0.261528] platform 44e0b000.i2c: Driver omap_i2c requests probe deferral
[ 0.262145] pps_core: LinuxPPS API ver. 1 registered
[ 0.262160] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[ 0.262402] PTP clock support registered
[ 0.265813] Switched to clocksource timer1
[ 0.298434] NET: Registered protocol family 2
[ 0.299255] TCP established hash table entries: 2048 (order: 2, 16384 bytes)
[ 0.299328] TCP bind hash table entries: 2048 (order: 3, 49152 bytes)
[ 0.299432] TCP: Hash tables configured (established 2048 bind 2048)
[ 0.299521] TCP: reno registered
[ 0.299542] UDP hash table entries: 256 (order: 2, 16384 bytes)
[ 0.299585] UDP-Lite hash table entries: 256 (order: 2, 16384 bytes)
[ 0.299962] NET: Registered protocol family 1
[ 0.300570] RPC: Registered named UNIX socket transport module.
[ 0.300587] RPC: Registered udp transport module.
[ 0.300598] RPC: Registered tcp transport module.
[ 0.300608] RPC: Registered tcp NFSv4.1 backchannel transport module.
[ 0.301972] NetWinder Floating Point Emulator V0.97 (double precision)
[ 0.302998] PM: Loading am335x-pm-firmware.bin
[ 0.450783] VFS: Disk quotas dquot_6.5.2
[ 0.451320] Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
[ 0.458107] NFS: Registering the id_resolver key type
[ 0.458254] Key type id_resolver registered
[ 0.458266] Key type id_legacy registered
[ 0.458326] jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
[ 0.460078] msgmni has been set to 484
[ 0.463299] NET: Registered protocol family 38
[ 0.463363] io scheduler noop registered
[ 0.463374] io scheduler deadline registered
[ 0.463926] io scheduler cfq registered (default)
[ 0.467160] pinctrl-single 44e10800.pinmux: 142 pins at pa f9e10800 size 568
[ 0.532731] Console: switching to colour frame buffer device 100x37
[ 0.542222] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[ 0.547071] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0
[ 1.178745] console [ttyO0] enabled
[ 1.185061] omap_rng 48310000.rng: OMAP Random Number Generator ver. 20
[ 1.209369] brd: module loaded
[ 1.221541] loop: module loaded
[ 1.232228] mtdoops: mtd device (mtddev=name/number) must be supplied
[ 1.244817] usbcore: registered new interface driver asix
[ 1.251238] usbcore: registered new interface driver ax88179_178a
[ 1.258060] usbcore: registered new interface driver cdc_ether
[ 1.264522] usbcore: registered new interface driver r815x
[ 1.271129] usbcore: registered new interface driver smsc95xx
[ 1.277784] usbcore: registered new interface driver net1080
[ 1.284092] usbcore: registered new interface driver cdc_subset
[ 1.290696] usbcore: registered new interface driver zaurus
[ 1.297222] usbcore: registered new interface driver cdc_ncm
[ 1.304146] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[ 1.311142] ehci-pci: EHCI PCI platform driver
[ 1.316760] ehci-omap: OMAP-EHCI Host Controller driver
[ 1.323847] usbcore: registered new interface driver cdc_wdm
[ 1.330333] usbcore: registered new interface driver usb-storage
[ 1.338818] mousedev: PS/2 mouse device common for all mice
[ 1.348361] input: ti-tsc as /devices/ocp.2/44e0d000.tscadc/TI-am335x-tsc/input/input0
[ 1.360301] omap_rtc 44e3e000.rtc: rtc core: registered 44e3e000.rtc as rtc0
[ 1.368354] 44e3e000.rtc: already running
[ 1.373879] i2c /dev entries driver
[ 1.378120] Driver for 1-wire Dallas network protocol.
[ 1.387072] omap_wdt: OMAP Watchdog Timer Rev 0x01: initial timeout 60 sec
[ 1.397613] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
[ 1.404836] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
[ 1.412582] omap_hsmmc 48060000.mmc: unable to get vmmc regulator -517
[ 1.419775] edma-dma-engine edma-dma-engine.0: freeing channel for 24
[ 1.426706] edma-dma-engine edma-dma-engine.0: freeing channel for 25
[ 1.436937] omap_hwmod: gpio1: _wait_target_disable failed
[ 1.442857] platform 48060000.mmc: Driver omap_hsmmc requests probe deferral
[ 1.453412] edma-dma-engine edma-dma-engine.0: allocated channel for 0:36
[ 1.460826] omap-sham 53100000.sham: hw accel on OMAP rev 4.3
[ 1.468948] omap-aes 53500000.aes: OMAP AES hw accel rev: 3.2
[ 1.475087] edma-dma-engine edma-dma-engine.0: allocated channel for 0:5
[ 1.482445] edma-dma-engine edma-dma-engine.0: allocated channel for 0:6
[ 1.491775] usbcore: registered new interface driver usbhid
[ 1.497945] usbhid: USB HID core driver
[ 1.505156] TCP: cubic registered
[ 1.508796] Initializing XFRM netlink socket
[ 1.513356] NET: Registered protocol family 17
[ 1.518174] NET: Registered protocol family 15
[ 1.523002] 8021q: 802.1Q VLAN Support v1.8
[ 1.527772] Key type dns_resolver registered
[ 1.533200] cpu cpu0: cpu0 regulator not ready, retry
[ 1.538785] platform cpufreq-cpu0.0: Driver cpufreq-cpu0 requests probe deferral
[ 1.547498] ThumbEE CPU extension supported.
[ 1.559415] DCDC1: at 1800 mV
[ 1.563870] vdd_mpu: 925 <--> 1375 mV at 1275 mV
[ 1.570175] vdd_core: 925 <--> 1150 mV at 1125 mV
[ 1.576552] LDO1: at 1800 mV
[ 1.580803] LDO2: at 3300 mV
[ 1.585070] LDO3: 1800 <--> 3300 mV at 3300 mV
[ 1.591176] LDO4: at 3300 mV
[ 1.595337] tps65217 0-0024: TPS65217 ID 0xf version 1.2
[ 1.601189] omap_i2c 44e0b000.i2c: bus 0 rev0.11 at 400 kHz
[ 1.608412] edma-dma-engine edma-dma-engine.0: allocated channel for 0:25
[ 1.615634] edma-dma-engine edma-dma-engine.0: allocated channel for 0:24
[ 1.701204] ##reset_phy##
[ 1.745574] mmc0: host does not support reading read-only switch. assuming write-enable.
[ 1.753055] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6
[ 1.753064] davinci_mdio 4a101000.mdio: detected phy mask fcffffff
[ 1.766534] libphy: 4a101000.mdio: probed
[ 1.766555] davinci_mdio 4a101000.mdio: phy[24]: device 4a101000.mdio:18, driver Broadcom BCM50610
[ 1.766562] davinci_mdio 4a101000.mdio: phy[25]: device 4a101000.mdio:19, driver Broadcom BCM50610
[ 1.767699] Detected MACID = 88:33:14:f6:e9:ed
[ 1.776151] cpsw: Detected MACID = 88:33:14:f6:e9:ef
[ 1.787573] omap_rtc 44e3e000.rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
[ 1.828822] Waiting for root device /dev/mmcblk0p2...
[ 1.832211] mmc0: new high speed SDHC card at address aaaa
[ 1.841410] mmcblk0: mmc0:aaaa SU08G 7.40 GiB
[ 1.848340] mmcblk0: p1 p2 p3 p4
[ 2.377595] EXT4-fs (mmcblk0p2): warning: maximal mount count reached, running e2fsck is recommended
[ 2.391554] EXT4-fs (mmcblk0p2): recovery complete
[ 2.399276] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[ 2.407967] VFS: Mounted root (ext4 filesystem) on device 179:2.
[ 2.420248] devtmpfs: mounted
[ 2.424137] Freeing unused kernel memory: 340K (c0737000 - c078c000)
INIT: version 2.88 booting
Starting udev
[ 3.060506] udevd[892]: starting version 182
[ 3.759488] musb_am335x: disagrees about version of symbol module_layout
[ 4.011545] musb_am335x: disagrees about version of symbol module_layout
[ 4.057327] PM: CM3 Firmware Version = 0x186
[ 7.450423] EXT4-fs (mmcblk0p3): warning: maximal mount count reached, running e2fsck is recommended
[ 7.498270] EXT4-fs (mmcblk0p3): recovery complete
[ 7.503402] EXT4-fs (mmcblk0p3): mounted filesystem with ordered data mode. Opts: (null)
[ 7.631277] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
Starting Bootlog daemon: bootlogd: cannot allocate pseudo tty: No such file or directory
bootlogd.
[ 8.516527] EXT4-fs (mmcblk0p2): re-mounted. Opts: data=ordered
ALSA: Restoring mixer settings...
/usr/sbin/alsactl: load_state:1696: No soundcards found...
Configuring network interfaces... [ 9.466820] net eth0: initializing cpsw version 1.12 (0)
[ 9.478352] net eth0: phy found : id is : 0x143bd63
[ 9.493285] 8021q: adding VLAN 0 to HW filter on device eth0
udhcpc (v1.20.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
[ 19.109305] net eth1: initializing cpsw version 1.12 (0)
[ 19.120842] net eth1: phy found : id is : 0x143bd63
[ 19.129671] 8021q: adding VLAN 0 to HW filter on device eth1
udhcpc (v1.20.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
done.
Mon Mar 31 02:34:00 UTC 2014
INIT: Entering runlevel: 5
Starting system message bus: dbus.
UIM SYSFS Node Not Found
Starting Dropbear SSH server: dropbear.
Starting telnet daemon.
Starting syslogd/klogd: done
Starting thttpd.
Starting PVR
Error: missing filename.
Could not find pvrsrvkm driver
Starting Lighttpd Web Server: lighttpd.
2000-01-01 00:00:00: (log.c.166) server started
/
Starting Matrix GUI application.
[ 31.680621] configfs: disagrees about version of symbol module_layout
ERROR: could not insert 'g_mass_storage': Exec format error
***************************************************************
***************************************************************
NOTICE: This file system contains the followin GPLv3 packages:
binutils-symlinks
binutils
gdbserver

If you do not wish to distribute GPLv3 components please remove
the above packages prior to distribution. This can be done using
the opkg remove command. i.e.:
opkg remove <package>
Where <package> is the name printed in the list above

NOTE: If the package is a dependency of another package you
will be notified of the dependent packages. You should
use the --force-removal-of-dependent-packages option to
also remove the dependent packages as well
***************************************************************
***************************************************************
Stopping Bootlog daemon: bootlogd.

_____ _____ _ _
| _ |___ ___ ___ ___ | _ |___ ___ |_|___ ___| |_
| | _| .'| . | . | | __| _| . | | | -_| _| _|
|__|__|_| |__,|_ |___| |__| |_| |___|_| |___|___|_|
|___| |___|

Arago Project http://arago-project.org am335x-evm ttyO0

Arago 2013.12 am335x-evm ttyO0

am335x-evm login:

dts-v1/;

#include "am33xx.dtsi"
#include <dt-bindings/pwm/pwm.h>

/ {
model = "TI AM335x BeagleBone";
compatible = "ti,am335x-bone", "ti,am33xx";

cpus {
cpu@0 {
cpu0-supply = <&dcdc2_reg>;
};
};

memory {
device_type = "memory";
reg = <0x80000000 0x10000000>; /* 256 MB */
};

am33xx_pinmux: pinmux@44e10800 {
status = "okay";
pinctrl-names = "default";
pinctrl-0 = <&clkout2_pin &netphy_reset>;
lcd_pins_default: lcd_pins_default {
pinctrl-single,pins = <
0x20 0x01 /* gpmc_ad8.lcd_data16, OUTPUT | MODE1 */
0x24 0x01 /* gpmc_ad9.lcd_data17, OUTPUT | MODE1 */
0x28 0x01 /* gpmc_ad10.lcd_data18, OUTPUT | MODE1 */
0x2c 0x01 /* gpmc_ad11.lcd_data19, OUTPUT | MODE1 */
0x30 0x01 /* gpmc_ad12.lcd_data20, OUTPUT | MODE1 */
0x34 0x01 /* gpmc_ad13.lcd_data21, OUTPUT | MODE1 */
0x38 0x01 /* gpmc_ad14.lcd_data22, OUTPUT | MODE1 */
0x3c 0x01 /* gpmc_ad15.lcd_data23, OUTPUT | MODE1 */
0xa0 0x00 /* lcd_data0.lcd_data0, OUTPUT | MODE0 */
0xa4 0x00 /* lcd_data1.lcd_data1, OUTPUT | MODE0 */
0xa8 0x00 /* lcd_data2.lcd_data2, OUTPUT | MODE0 */
0xac 0x00 /* lcd_data3.lcd_data3, OUTPUT | MODE0 */
0xb0 0x00 /* lcd_data4.lcd_data4, OUTPUT | MODE0 */
0xb4 0x00 /* lcd_data5.lcd_data5, OUTPUT | MODE0 */
0xb8 0x00 /* lcd_data6.lcd_data6, OUTPUT | MODE0 */
0xbc 0x00 /* lcd_data7.lcd_data7, OUTPUT | MODE0 */
0xc0 0x00 /* lcd_data8.lcd_data8, OUTPUT | MODE0 */
0xc4 0x00 /* lcd_data9.lcd_data9, OUTPUT | MODE0 */
0xc8 0x00 /* lcd_data10.lcd_data10, OUTPUT | MODE0 */
0xcc 0x00 /* lcd_data11.lcd_data11, OUTPUT | MODE0 */
0xd0 0x00 /* lcd_data12.lcd_data12, OUTPUT | MODE0 */
0xd4 0x00 /* lcd_data13.lcd_data13, OUTPUT | MODE0 */
0xd8 0x00 /* lcd_data14.lcd_data14, OUTPUT | MODE0 */
0xdc 0x00 /* lcd_data15.lcd_data15, OUTPUT | MODE0 */
0xe0 0x00 /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
0xe4 0x00 /* lcd_hsync.lcd_hsync, OUTPUT | MODE0 */
0xe8 0x00 /* lcd_pclk.lcd_pclk, OUTPUT | MODE0 */
0xec 0x00 /* lcd_ac_bias_en.lcd_ac_bias_en, OUTPUT | MODE0 */

>;
};

lcd_pins_sleep: lcd_pins_sleep {
pinctrl-single,pins = <
0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad8.lcd_data16 */
0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad9.lcd_data17 */
0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.lcd_data18 */
0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.lcd_data19 */
0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad12.lcd_data20 */
0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad13.lcd_data21 */
0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad14.lcd_data22 */
0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad15.lcd_data23 */
0xa0 (PULL_DISABLE | MUX_MODE7) /* lcd_data0.lcd_data0 */
0xa4 (PULL_DISABLE | MUX_MODE7) /* lcd_data1.lcd_data1 */
0xa8 (PULL_DISABLE | MUX_MODE7) /* lcd_data2.lcd_data2 */
0xac (PULL_DISABLE | MUX_MODE7) /* lcd_data3.lcd_data3 */
0xb0 (PULL_DISABLE | MUX_MODE7) /* lcd_data4.lcd_data4 */
0xb4 (PULL_DISABLE | MUX_MODE7) /* lcd_data5.lcd_data5 */
0xb8 (PULL_DISABLE | MUX_MODE7) /* lcd_data6.lcd_data6 */
0xbc (PULL_DISABLE | MUX_MODE7) /* lcd_data7.lcd_data7 */
0xc0 (PULL_DISABLE | MUX_MODE7) /* lcd_data8.lcd_data8 */
0xc4 (PULL_DISABLE | MUX_MODE7) /* lcd_data9.lcd_data9 */
0xc8 (PULL_DISABLE | MUX_MODE7) /* lcd_data10.lcd_data10 */
0xcc (PULL_DISABLE | MUX_MODE7) /* lcd_data11.lcd_data11 */
0xd0 (PULL_DISABLE | MUX_MODE7) /* lcd_data12.lcd_data12 */
0xd4 (PULL_DISABLE | MUX_MODE7) /* lcd_data13.lcd_data13 */
0xd8 (PULL_DISABLE | MUX_MODE7) /* lcd_data14.lcd_data14 */
0xdc (PULL_DISABLE | MUX_MODE7) /* lcd_data15.lcd_data15 */
0xe0 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */
0xe4 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_hsync.lcd_hsync */
0xe8 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_pclk.lcd_pclk */
0xec (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_ac_bias_en.lcd_ac_bias_en */

>;
};

user_leds_default: user_leds_default {
pinctrl-single,pins = <
0x14 (PIN_OUTPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_5 */
0x18 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_6 */
>;
};

user_leds_sleep: user_leds_sleep {
pinctrl-single,pins = <
0x14 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a5.gpio1_5 */
0x18 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_a6.gpio1_6 */
>;
};
netphy_reset:phy_reset_pins{
pinctrl-single,pins = < 0x10c (PIN_OUTPUT_PULLDOWN|MUX_MODE7) /* mii1_crs.gpio3_1*/
0x70 (PIN_OUTPUT_PULLDOWN|MUX_MODE7) /* gpmc_wait0.gpio0_30*/
0x1a4 (PIN_OUTPUT_PULLUP| MUX_MODE7) /*mcasp0_fsr.gpio3_19*/
0x8c (PIN_OUTPUT_PULLUP| MUX_MODE7) /*gpmc_clk.gpio2_1*/
0x84 (PIN_OUTPUT_PULLUP| MUX_MODE7) /*gpmc_csn2.gpio1_31*/
0x74 (PIN_OUTPUT_PULLUP| MUX_MODE7) /*gpmc_wpn.gpio0_31*/
>;

};

i2c0_pins: pinmux_i2c0_pins {
pinctrl-single,pins = <
0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */
0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */
>;
};

i2c1_pins: pinmux_i2c1_pins {
pinctrl-single,pins = <
0x168 (PIN_INPUT_PULLUP | MUX_MODE3) /* uart0_ctsn.i2c1_sda */
0x16c (PIN_INPUT_PULLUP | MUX_MODE3) /* uart0_rtsn.i2c1_scl */
>;
};


uart0_pins: pinmux_uart0_pins {
pinctrl-single,pins = <
0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */
0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */
>;
};

clkout1_pin: pinmux_clkout1_pin {
pinctrl-single,pins = <
0x1b0 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr0.clkout1 */
>;
};

clkout2_pin: pinmux_clkout2_pin {
pinctrl-single,pins = <
0x1b4 (PIN_OUTPUT_PULLDOWN | MUX_MODE3) /* xdma_event_intr1.clkout2 */
>;
};

ecap2_pins_default: backlight_pins {
pinctrl-single,pins = <
0x19c 0x4 /* mcasp0_ahclkr.ecap2_in_pwm2_out MODE4 */
>;
};

ecap2_pins_sleep: ecap2_pins_sleep {
pinctrl-single,pins = <
0x19c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* mcasp0_ahclkr.ecap2_in_pwm2_out */
>;
};

cpsw_default: cpsw_default {
pinctrl-single,pins = <
/* Slave 1 */
0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */
0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */
0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */
0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */
0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */
0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */
0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */
0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */
0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */

/* Slave 2 */
0x40 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a0.rgmii2_tctl */
0x44 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a1.rgmii2_rctl */
0x48 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a2.rgmii2_td3 */
0x4c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a3.rgmii2_td2 */
0x50 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a4.rgmii2_td1 */
0x54 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a5.rgmii2_td0 */
0x58 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* gpmc_a6.rgmii2_tclk */
0x5c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a7.rgmii2_rclk */
0x60 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a8.rgmii2_rd3 */
0x64 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a9.rgmii2_rd2 */
0x68 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a10.rgmii2_rd1 */
0x6c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* gpmc_a11.rgmii2_rd0 */
>;
};

cpsw_sleep: cpsw_sleep {
pinctrl-single,pins = <
/* Slave 1 reset value */
0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)

/* Slave 2 reset value*/
0x40 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x44 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x48 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x4c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x50 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x54 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x58 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x5c (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x60 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x64 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x68 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x6c (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};

davinci_mdio_default: davinci_mdio_default {
pinctrl-single,pins = <
/* MDIO */
0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */
0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0) /* mdio_clk.mdio_clk */
>;
};

davinci_mdio_sleep: davinci_mdio_sleep {
pinctrl-single,pins = <
/* MDIO reset value */
0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};

mmc1_pins_default: pinmux_mmc1_pins {
pinctrl-single,pins = <
0x0F0 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat3.mmc0_dat3 */
0x0F4 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat2.mmc0_dat2 */
0x0F8 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat1.mmc0_dat1 */
0x0FC (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_dat0.mmc0_dat0 */
0x100 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_clk.mmc0_clk */
0x104 (PIN_INPUT_PULLUP | MUX_MODE0) /* mmc0_cmd.mmc0_cmd */
0x1A0 (PIN_INPUT_PULLUP | MUX_MODE7) /* mcasp0_aclkr.gpio3_18 */
0x160 (PIN_INPUT | MUX_MODE7) /* spi0_cs1.gpio0_6 */
>;
};

mmc1_pins_sleep: pinmux_mmc1_pins_sleep {
pinctrl-single,pins = <
0x0F0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x0F4 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x0F8 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x0FC (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x1A0 (PIN_INPUT_PULLDOWN | MUX_MODE7)
0x160 (PIN_INPUT_PULLDOWN | MUX_MODE7)
>;
};
emmc_pins: pinmux_emmc_pins {
pinctrl-single,pins = <
0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */
0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */
0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */
0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */
0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */
0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */
0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */
0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */
0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */
0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 */
>;
};


};

ocp {
uart0: serial@44e09000 {
pinctrl-names = "default";
pinctrl-0 = <&uart0_pins>;

status = "okay";
};

i2c0: i2c@44e0b000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c0_pins>;

status = "okay";
clock-frequency = <400000>;

/* Set OPP50 (0.95V) for VDD core */
sleep-sequence = /bits/ 8 <
0x02 0x24 0x0b 0x6d /* Password unlock 1 */
0x02 0x24 0x10 0x02 /* Set DCDC3 to 0.95V */
0x02 0x24 0x0b 0x6d /* Password unlock 2 */
0x02 0x24 0x10 0x02 /* Set DCDC3 to 0.95V */
0x02 0x24 0x0b 0x6c /* Password unlock 1 */
0x02 0x24 0x11 0x86 /* Apply DCDC changes */
0x02 0x24 0x0b 0x6c /* Password unlock 2 */
0x02 0x24 0x11 0x86 /* Apply DCDC changes */
>;

/* Set OPP100 (1.10V) for VDD core */
wake-sequence = /bits/ 8 <
0x02 0x24 0x0b 0x6d /* Password unlock 1 */
0x02 0x24 0x10 0x08 /* Set DCDC3 to 1.1V */
0x02 0x24 0x0b 0x6d /* Password unlock 2 */
0x02 0x24 0x10 0x08 /* Set DCDC3 to 1.1V */
0x02 0x24 0x0b 0x6c /* Password unlock 1 */
0x02 0x24 0x11 0x86 /* Apply DCDC changes */
0x02 0x24 0x0b 0x6c /* Password unlock 2 */
0x02 0x24 0x11 0x86 /* Apply DCDC changes */
>;

tps: tps@24 {
reg = <0x24>;
};

};
i2c1: i2c@4802a000 {
pinctrl-names = "default";
pinctrl-0 = <&i2c1_pins>;

status = "okay";
clock-frequency = <400000>;

ad7993: ad7993@21 {
compatible = "adi,ad7993";
reg = <0x21>;
};
adp5585: adp5585@34 {
compatible = "adi,adp5585-keys";
reg = <0x34>;
};
};


musb: usb@47400000 {
status = "okay";

control@44e10000 {
status = "okay";
};

usb-phy@47401300 {
status = "okay";
};

usb-phy@47401b00 {
status = "okay";
};

usb@47401000 {
status = "okay";
};

usb@47401800 {
status = "okay";
dr_mode = "host";
};

dma-controller@07402000 {
status = "okay";
};
};

epwmss2: epwmss@48304000 {
status = "okay";

ecap2: ecap@48304100 {
status = "okay";
pinctrl-names = "default", "sleep";
pinctrl-0 = <&ecap2_pins_default>;
pinctrl-1 = <&ecap2_pins_sleep>;
};
};

lcdc: lcdc@0x4830e000 {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&lcd_pins_default>;
pinctrl-1 = <&lcd_pins_sleep>;
gpios = <&gpio0 31 GPIO_ACTIVE_HIGH
&gpio1 31 GPIO_ACTIVE_HIGH
&gpio2 1 GPIO_ACTIVE_HIGH
>;
status = "okay";
display-timings {
800x600{
hactive = <800>;
vactive = <600>;
hback-porch = <45>;
hfront-porch = <312>;
hsync-len = <40>;
vback-porch = <24>;
vfront-porch = <35>;
vsync-len = <4>;
clock-frequency = <40000000>;
hsync-active = <1>;
vsync-active = <1>;

};
};
};

};


vmmcsd_fixed: fixedregulator@0 {
compatible = "regulator-fixed";
regulator-name = "vmmcsd_fixed";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};

leds {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&user_leds_default>;
pinctrl-1 = <&user_leds_sleep>;

compatible = "gpio-leds";


led@2 {
label = "beaglebone:green:heartbeat";
gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "heartbeat";
default-state = "off";
};

led@3 {
label = "beaglebone:green:mmc0";
gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
linux,default-trigger = "mmc0";
default-state = "off";
};

};

backlight {
compatible = "pwm-backlight";
pwms = <&ecap2 0 50000 PWM_POLARITY_INVERTED>;
brightness-levels = <0 58 61 66 75 90 125 170 255>;
default-brightness-level = <8>;
};

};

#include "tps65217.dtsi"

&tps {
regulators {
dcdc1_reg: regulator@0 {
regulator-always-on;
};

dcdc2_reg: regulator@1 {
/* VDD_MPU voltage limits 0.95V - 1.325V with +/-4% tolerance */
regulator-name = "vdd_mpu";
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1378000>;
regulator-boot-on;
regulator-always-on;
};

dcdc3_reg: regulator@2 {
/* VDD_CORE voltage limits 0.95V - 1.1V with +/-4% tolerance */
regulator-name = "vdd_core";
regulator-min-microvolt = <925000>;
regulator-max-microvolt = <1150000>;
regulator-boot-on;
regulator-always-on;
};

ldo1_reg: regulator@3 {
regulator-always-on;
};
ldo2_reg: regulator@4 {
regulator-always-on;
};

ldo3_reg: regulator@5 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;

};

ldo4_reg: regulator@6 {
regulator-always-on;
};
};

};

&mmc1 {
status = "okay";
vmmc-supply = <&ldo3_reg>;
bus-width = <0x4>;
pinctrl-names = "default", "sleep";
pinctrl-0 = <&mmc1_pins_default>;
pinctrl-1 = <&mmc1_pins_sleep>;
cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
cd-inverted;
};

&mac {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&cpsw_default>;
pinctrl-1 = <&cpsw_sleep>;
dual_emac;
};

&davinci_mdio {
pinctrl-names = "default", "sleep";
pinctrl-0 = <&davinci_mdio_default>;
pinctrl-1 = <&davinci_mdio_sleep>;
};

&cpsw_emac0 {
phy_id = <&davinci_mdio>, <24>;
dual_emac_res_vlan = <2>;
phy-mode = "rgmii-txid";
};

&cpsw_emac1 {
phy_id = <&davinci_mdio>, <25>;
dual_emac_res_vlan = <3>;
phy-mode = "rgmii-txid";
};

&tscadc {
status = "okay";
tsc {
ti,wires = <4>;
ti,x-plate-resistance = <200>;
ti,coordinate-readouts = <5>;
ti,wire-config = <0x00 0x11 0x22 0x33>;
};
};

  • 打上下面这个patch试试看,曾经在StarterKit EVM板上测试过双网口,出现获取不到IP的情况,最后用了这个patch就解决了。

    actually you only need to modify the file "EZSDK_07_00_00_00/linux-3.12.10-ti2013.12.01/drivers/net/ethernet/ti/cpsw.c' as below:

    diff --git a/drivers/net/ethernet/ti/cpsw.c b/drivers/net/ethernet/ti/cpsw.c

    --- a/drivers/net/ethernet/ti/cpsw.c

    +++ b/drivers/net/ethernet/ti/cpsw.c

    @@ -1201,8 +1201,7 @@  static int cpsw_ndo_open(struct net_device *ndev)

         for_each_slave(priv, cpsw_slave_open, priv);

     

          /* Add default VLAN */

    -     if (!priv->data.dual_emac)

    -           cpsw_add_default_vlan(priv);

    +     cpsw_add_default_vlan(priv);

     

          if (!cpsw_common_res_usage_state(priv)) {

               /* setup tx dma to fixed prio and zero offset */

  • 这个补丁我已经打过了,帮我看一下dts文件,是不是配置的问题,gpio3 19 给 网卡供电,gpio1-30,gpio3-1是reset信号

  • Hi,@listenrain  请问您的问题解决了么?我也被困在这个问题上好多天了。

  • 暂没解决,有其它事情要做

  • 您好!我用的AM3359的片子,双网口ip设置为不同网段时能ping通,设置为同一网段,划vlan后仍然不能ping通,请问最有可能的原因?

  • 能够提供您的DTS么?

  • 我用的是米尔的核心板,你是指

    /*
     * Device Tree Generator version: 1.1
     *
     * (C) Copyright 2007-2008 Xilinx, Inc.
     * (C) Copyright 2007-2009 Michal Simek
     *
     * Michal SIMEK <monstr@monstr.eu>
     *
     * This program is free software; you can redistribute it and/or
     * modify it under the terms of the GNU General Public License as
     * published by the Free Software Foundation; either version 2 of
     * the License, or (at your option) any later version.
     *
     * This program is distributed in the hope that it will be useful,
     * but WITHOUT ANY WARRANTY; without even the implied warranty of
     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     * GNU General Public License for more details.
     *
     * You should have received a copy of the GNU General Public License
     * along with this program; if not, write to the Free Software
     * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
     * MA 02111-1307 USA
     *
     * CAUTION: This file is automatically generated by libgen.
     * Version: Xilinx EDK 10.1.03 EDK_K_SP3.6
     *
     * XPS project directory: Xilinx-ML505-ll_temac-sgdma-MMU-FDT-edk101
     */

    /dts-v1/;
    / {
     #address-cells = <1>;
     #size-cells = <1>;
     compatible = "xlnx,microblaze";
     hard-reset-gpios = <&LEDs_8Bit 2 1>;
     model = "testing";
     DDR2_SDRAM: memory@90000000 {
      device_type = "memory";
      reg = < 0x90000000 0x10000000 >;
     } ;
     aliases {
      ethernet0 = &Hard_Ethernet_MAC;
      serial0 = &RS232_Uart_1;
     } ;
     chosen {
      bootargs = "console=ttyUL0,115200 highres=on";
      linux,stdout-path = "/plb@0/serial@84000000";
     } ;
     cpus {
      #address-cells = <1>;
      #cpus = <0x1>;
      #size-cells = <0>;
      microblaze_0: cpu@0 {
       clock-frequency = <125000000>;
       compatible = "xlnx,microblaze-7.10.d";
       d-cache-baseaddr = <0x90000000>;
       d-cache-highaddr = <0x9fffffff>;
       d-cache-line-size = <0x10>;
       d-cache-size = <0x2000>;
       device_type = "cpu";
       i-cache-baseaddr = <0x90000000>;
       i-cache-highaddr = <0x9fffffff>;
       i-cache-line-size = <0x10>;
       i-cache-size = <0x2000>;
       model = "microblaze,7.10.d";
       reg = <0>;
       timebase-frequency = <125000000>;
       xlnx,addr-tag-bits = <0xf>;
       xlnx,allow-dcache-wr = <0x1>;
       xlnx,allow-icache-wr = <0x1>;
       xlnx,area-optimized = <0x0>;
       xlnx,cache-byte-size = <0x2000>;
       xlnx,d-lmb = <0x1>;
       xlnx,d-opb = <0x0>;
       xlnx,d-plb = <0x1>;
       xlnx,data-size = <0x20>;
       xlnx,dcache-addr-tag = <0xf>;
       xlnx,dcache-always-used = <0x1>;
       xlnx,dcache-byte-size = <0x2000>;
       xlnx,dcache-line-len = <0x4>;
       xlnx,dcache-use-fsl = <0x1>;
       xlnx,debug-enabled = <0x1>;
       xlnx,div-zero-exception = <0x1>;
       xlnx,dopb-bus-exception = <0x0>;
       xlnx,dynamic-bus-sizing = <0x1>;
       xlnx,edge-is-positive = <0x1>;
       xlnx,family = "virtex5";
       xlnx,endianness = <0x1>;
       xlnx,fpu-exception = <0x1>;
       xlnx,fsl-data-size = <0x20>;
       xlnx,fsl-exception = <0x0>;
       xlnx,fsl-links = <0x0>;
       xlnx,i-lmb = <0x1>;
       xlnx,i-opb = <0x0>;
       xlnx,i-plb = <0x1>;
       xlnx,icache-always-used = <0x1>;
       xlnx,icache-line-len = <0x4>;
       xlnx,icache-use-fsl = <0x1>;
       xlnx,ill-opcode-exception = <0x1>;
       xlnx,instance = "microblaze_0";
       xlnx,interconnect = <0x1>;
       xlnx,interrupt-is-edge = <0x0>;
       xlnx,iopb-bus-exception = <0x0>;
       xlnx,mmu-dtlb-size = <0x4>;
       xlnx,mmu-itlb-size = <0x2>;
       xlnx,mmu-tlb-access = <0x3>;
       xlnx,mmu-zones = <0x10>;
       xlnx,number-of-pc-brk = <0x1>;
       xlnx,number-of-rd-addr-brk = <0x0>;
       xlnx,number-of-wr-addr-brk = <0x0>;
       xlnx,opcode-0x0-illegal = <0x1>;
       xlnx,pvr = <0x2>;
       xlnx,pvr-user1 = <0x0>;
       xlnx,pvr-user2 = <0x0>;
       xlnx,reset-msr = <0x0>;
       xlnx,sco = <0x0>;
       xlnx,unaligned-exceptions = <0x1>;
       xlnx,use-barrel = <0x1>;
       xlnx,use-dcache = <0x1>;
       xlnx,use-div = <0x1>;
       xlnx,use-ext-brk = <0x1>;
       xlnx,use-ext-nm-brk = <0x1>;
       xlnx,use-extended-fsl-instr = <0x0>;
       xlnx,use-fpu = <0x2>;
       xlnx,use-hw-mul = <0x2>;
       xlnx,use-icache = <0x1>;
       xlnx,use-interrupt = <0x1>;
       xlnx,use-mmu = <0x3>;
       xlnx,use-msr-instr = <0x1>;
       xlnx,use-pcmp-instr = <0x1>;
      } ;
     } ;
     mb_plb: plb@0 {
      #address-cells = <1>;
      #size-cells = <1>;
      compatible = "xlnx,plb-v46-1.03.a", "xlnx,plb-v46-1.00.a", "simple-bus";
      ranges ;
      FLASH: flash@a0000000 {
       bank-width = <2>;
       compatible = "xlnx,xps-mch-emc-2.00.a", "cfi-flash";
       reg = < 0xa0000000 0x2000000 >;
       xlnx,family = "virtex5";
       xlnx,include-datawidth-matching-0 = <0x1>;
       xlnx,include-datawidth-matching-1 = <0x0>;
       xlnx,include-datawidth-matching-2 = <0x0>;
       xlnx,include-datawidth-matching-3 = <0x0>;
       xlnx,include-negedge-ioregs = <0x0>;
       xlnx,include-plb-ipif = <0x1>;
       xlnx,include-wrbuf = <0x1>;
       xlnx,max-mem-width = <0x10>;
       xlnx,mch-native-dwidth = <0x20>;
       xlnx,mch-plb-clk-period-ps = <0x1f40>;
       xlnx,mch-splb-awidth = <0x20>;
       xlnx,mch0-accessbuf-depth = <0x10>;
       xlnx,mch0-protocol = <0x0>;
       xlnx,mch0-rddatabuf-depth = <0x10>;
       xlnx,mch1-accessbuf-depth = <0x10>;
       xlnx,mch1-protocol = <0x0>;
       xlnx,mch1-rddatabuf-depth = <0x10>;
       xlnx,mch2-accessbuf-depth = <0x10>;
       xlnx,mch2-protocol = <0x0>;
       xlnx,mch2-rddatabuf-depth = <0x10>;
       xlnx,mch3-accessbuf-depth = <0x10>;
       xlnx,mch3-protocol = <0x0>;
       xlnx,mch3-rddatabuf-depth = <0x10>;
       xlnx,mem0-width = <0x10>;
       xlnx,mem1-width = <0x20>;
       xlnx,mem2-width = <0x20>;
       xlnx,mem3-width = <0x20>;
       xlnx,num-banks-mem = <0x1>;
       xlnx,num-channels = <0x0>;
       xlnx,priority-mode = <0x0>;
       xlnx,synch-mem-0 = <0x0>;
       xlnx,synch-mem-1 = <0x0>;
       xlnx,synch-mem-2 = <0x0>;
       xlnx,synch-mem-3 = <0x0>;
       xlnx,synch-pipedelay-0 = <0x2>;
       xlnx,synch-pipedelay-1 = <0x2>;
       xlnx,synch-pipedelay-2 = <0x2>;
       xlnx,synch-pipedelay-3 = <0x2>;
       xlnx,tavdv-ps-mem-0 = <0x1adb0>;
       xlnx,tavdv-ps-mem-1 = <0x3a98>;
       xlnx,tavdv-ps-mem-2 = <0x3a98>;
       xlnx,tavdv-ps-mem-3 = <0x3a98>;
       xlnx,tcedv-ps-mem-0 = <0x1adb0>;
       xlnx,tcedv-ps-mem-1 = <0x3a98>;
       xlnx,tcedv-ps-mem-2 = <0x3a98>;
       xlnx,tcedv-ps-mem-3 = <0x3a98>;
       xlnx,thzce-ps-mem-0 = <0x88b8>;
       xlnx,thzce-ps-mem-1 = <0x1b58>;
       xlnx,thzce-ps-mem-2 = <0x1b58>;
       xlnx,thzce-ps-mem-3 = <0x1b58>;
       xlnx,thzoe-ps-mem-0 = <0x1b58>;
       xlnx,thzoe-ps-mem-1 = <0x1b58>;
       xlnx,thzoe-ps-mem-2 = <0x1b58>;
       xlnx,thzoe-ps-mem-3 = <0x1b58>;
       xlnx,tlzwe-ps-mem-0 = <0x88b8>;
       xlnx,tlzwe-ps-mem-1 = <0x0>;
       xlnx,tlzwe-ps-mem-2 = <0x0>;
       xlnx,tlzwe-ps-mem-3 = <0x0>;
       xlnx,twc-ps-mem-0 = <0x2af8>;
       xlnx,twc-ps-mem-1 = <0x3a98>;
       xlnx,twc-ps-mem-2 = <0x3a98>;
       xlnx,twc-ps-mem-3 = <0x3a98>;
       xlnx,twp-ps-mem-0 = <0x11170>;
       xlnx,twp-ps-mem-1 = <0x2ee0>;
       xlnx,twp-ps-mem-2 = <0x2ee0>;
       xlnx,twp-ps-mem-3 = <0x2ee0>;
       xlnx,xcl0-linesize = <0x4>;
       xlnx,xcl0-writexfer = <0x1>;
       xlnx,xcl1-linesize = <0x4>;
       xlnx,xcl1-writexfer = <0x1>;
       xlnx,xcl2-linesize = <0x4>;
       xlnx,xcl2-writexfer = <0x1>;
       xlnx,xcl3-linesize = <0x4>;
       xlnx,xcl3-writexfer = <0x1>;
      } ;
      Hard_Ethernet_MAC: xps-ll-temac@81c00000 {
       #address-cells = <1>;
       #size-cells = <1>;
       compatible = "xlnx,compound";
       ranges ;
       ethernet@81c00000 {
        compatible = "xlnx,xps-ll-temac-1.01.b", "xlnx,xps-ll-temac-1.00.a";
        device_type = "network";
        interrupt-parent = <&xps_intc_0>;
        interrupts = < 5 2 >;
        llink-connected = <&PIM3>;
        local-mac-address = [ 00 0a 35 00 00 00 ];
        reg = < 0x81c00000 0x40 >;
        xlnx,bus2core-clk-ratio = <0x1>;
        xlnx,phy-type = <0x1>;
        xlnx,phyaddr = <0x1>;
        xlnx,rxcsum = <0x0>;
        xlnx,rxfifo = <0x1000>;
        xlnx,temac-type = <0x0>;
        xlnx,txcsum = <0x0>;
        xlnx,txfifo = <0x1000>;
       } ;
      } ;
      IIC_EEPROM: i2c@81600000 {
       compatible = "xlnx,xps-iic-2.00.a";
       interrupt-parent = <&xps_intc_0>;
       interrupts = < 6 2 >;
       reg = < 0x81600000 0x10000 >;
       xlnx,clk-freq = <0x7735940>;
       xlnx,family = "virtex5";
       xlnx,gpo-width = <0x1>;
       xlnx,iic-freq = <0x186a0>;
       xlnx,scl-inertial-delay = <0x0>;
       xlnx,sda-inertial-delay = <0x0>;
       xlnx,ten-bit-adr = <0x0>;
      } ;
      LEDs_8Bit: gpio@81400000 {
       compatible = "xlnx,xps-gpio-1.00.a";
       interrupt-parent = <&xps_intc_0>;
       interrupts = < 7 2 >;
       reg = < 0x81400000 0x10000 >;
       xlnx,all-inputs = <0x0>;
       xlnx,all-inputs-2 = <0x0>;
       xlnx,dout-default = <0x0>;
       xlnx,dout-default-2 = <0x0>;
       xlnx,family = "virtex5";
       xlnx,gpio-width = <0x8>;
       xlnx,interrupt-present = <0x1>;
       xlnx,is-bidir = <0x1>;
       xlnx,is-bidir-2 = <0x1>;
       xlnx,is-dual = <0x0>;
       xlnx,tri-default = <0xffffffff>;
       xlnx,tri-default-2 = <0xffffffff>;
       #gpio-cells = <2>;
       gpio-controller;
      } ;

      gpio-leds {
       compatible = "gpio-leds";

       heartbeat {
        label = "Heartbeat";
        gpios = <&LEDs_8Bit 4 1>;
        linux,default-trigger = "heartbeat";
       };

       yellow {
        label = "Yellow";
        gpios = <&LEDs_8Bit 5 1>;
       };

       red {
        label = "Red";
        gpios = <&LEDs_8Bit 6 1>;
       };

       green {
        label = "Green";
        gpios = <&LEDs_8Bit 7 1>;
       };
      } ;
      RS232_Uart_1: serial@84000000 {
       clock-frequency = <125000000>;
       compatible = "xlnx,xps-uartlite-1.00.a";
       current-speed = <115200>;
       device_type = "serial";
       interrupt-parent = <&xps_intc_0>;
       interrupts = < 8 0 >;
       port-number = <0>;
       reg = < 0x84000000 0x10000 >;
       xlnx,baudrate = <0x1c200>;
       xlnx,data-bits = <0x8>;
       xlnx,family = "virtex5";
       xlnx,odd-parity = <0x0>;
       xlnx,use-parity = <0x0>;
      } ;
      SysACE_CompactFlash: sysace@83600000 {
       compatible = "xlnx,xps-sysace-1.00.a";
       interrupt-parent = <&xps_intc_0>;
       interrupts = < 4 2 >;
       reg = < 0x83600000 0x10000 >;
       xlnx,family = "virtex5";
       xlnx,mem-width = <0x10>;
      } ;
      debug_module: debug@84400000 {
       compatible = "xlnx,mdm-1.00.d";
       reg = < 0x84400000 0x10000 >;
       xlnx,family = "virtex5";
       xlnx,interconnect = <0x1>;
       xlnx,jtag-chain = <0x2>;
       xlnx,mb-dbg-ports = <0x1>;
       xlnx,uart-width = <0x8>;
       xlnx,use-uart = <0x1>;
       xlnx,write-fsl-ports = <0x0>;
      } ;
      mpmc@90000000 {
       #address-cells = <1>;
       #size-cells = <1>;
       compatible = "xlnx,mpmc-4.02.a";
       ranges ;
       PIM3: sdma@84600180 {
        compatible = "xlnx,ll-dma-1.00.a";
        interrupt-parent = <&xps_intc_0>;
        interrupts = < 2 2 1 2 >;
        reg = < 0x84600180 0x80 >;
       } ;
      } ;
      xps_intc_0: interrupt-controller@81800000 {
       #interrupt-cells = <0x2>;
       compatible = "xlnx,xps-intc-1.00.a";
       interrupt-controller ;
       reg = < 0x81800000 0x10000 >;
       xlnx,kind-of-intr = <0x100>;
       xlnx,num-intr-inputs = <0x9>;
      } ;
      xps_timer_1: timer@83c00000 {
       compatible = "xlnx,xps-timer-1.00.a";
       interrupt-parent = <&xps_intc_0>;
       interrupts = < 3 2 >;
       reg = < 0x83c00000 0x10000 >;
       xlnx,count-width = <0x20>;
       xlnx,family = "virtex5";
       xlnx,gen0-assert = <0x1>;
       xlnx,gen1-assert = <0x1>;
       xlnx,one-timer-only = <0x0>;
       xlnx,trig0-assert = <0x1>;
       xlnx,trig1-assert = <0x1>;
      } ;
     } ;
    }  ;