Linux iNode 双网卡,已解决: Zynq 7000 双网卡配置-内核DTS该如何配置 - Community Forums...
問題:ETH0是通的,ETH1找不到PHY(連接到GMII2RGMII轉(zhuǎn)換器時(shí),找不到該設(shè)備),dts和vivado該如何配置?
系統(tǒng):Zynq 7Z015
Vivado:2018.3
內(nèi)核:4.6
VIVADO工程如下:
在內(nèi)核設(shè)備樹文件中,配置如下:
aliases {
ethernet0 = "/amba/eth@e000b000";
ethernet1 = "/amba/eth1@e000c000";
serial0 = "/amba/serial@e0001000";
};
eth@e000b000 {
compatible = "xlnx,ps7-ethernet-1.00.a";
reg = <0xe000b000 0x1000>;
interrupts = <0x0 0x16 0x4>;
interrupt-parent = <0x1>;
#address-cells = <0x1>;
#size-cells = <0x0>;
clock-names = "ref_clk", "aper_clk";
clocks = <0x2 0xd 0x2 0x1e>;
xlnx,enet-clk-freq-hz = <0x17d7840>;
xlnx,enet-reset = "MIO 11";
xlnx,enet-slcr-1000mbps-div0 = <0x8>;
xlnx,enet-slcr-1000mbps-div1 = <0x1>;
xlnx,enet-slcr-100mbps-div0 = <0x8>;
xlnx,enet-slcr-100mbps-div1 = <0x5>;
xlnx,enet-slcr-10mbps-div0 = <0x8>;
xlnx,enet-slcr-10mbps-div1 = <0x32>;
xlnx,eth-mode = <0x1>;
xlnx,has-mdio = <0x1>;
xlnx,ptp-enet-clock = <0x69f6bcb>;
phy-handle = ;
phy-mode = "rgmii-id";
phy0:phy@0 {
device_type = "ethernet-phy";
reg = <0x0>;
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>;
linux,phandle = <0x6>;
phandle = <0x6>;
};
};
eth1@e000c000 {
compatible = "xlnx,ps7-ethernet-1.00.a";
reg = <0xe000c000 0x1000>;
interrupts = <0x0 0x17 0x4>;
interrupt-parent = <0x1>;
#address-cells = <0x1>;
#size-cells = <0x0>;
clock-names = "ref_clk", "aper_clk";
clocks = <0x2 0xd 0x2 0x1e>;
xlnx,enet-clk-freq-hz = <0x17d7840>;
xlnx,enet-reset = "MIO 11";
xlnx,enet-slcr-1000mbps-div0 = <0x8>;
xlnx,enet-slcr-1000mbps-div1 = <0x1>;
xlnx,enet-slcr-100mbps-div0 = <0x8>;
xlnx,enet-slcr-100mbps-div1 = <0x5>;
xlnx,enet-slcr-10mbps-div0 = <0x8>;
xlnx,enet-slcr-10mbps-div1 = <0x32>;
xlnx,eth-mode = <0x1>;
xlnx,has-mdio = <0x1>;
xlnx,ptp-enet-clock = <0x69f6bcb>;
gmii2rgmii-phy-handle = ;
phy-mode = "gmii";
phy1:phy@8 {
compatible="marvell,88e1512";
device_type = "ethernet-phy";
reg = <0x8>;
marvell,reg-init = <0x3 0x10 0xff00 0x1e 0x3 0x11 0xfff0 0xa>;
linux,phandle = <0x8>;
phandle = <0x8>;
};
};
};
ETH1是通過PL側(cè)的GMII2RGMII擴(kuò)展出去的。
先啟動如下:
Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0x0
Linux version 4.6.0-g35c0d02-dirty (tigerp@tigerp-CloudStack-KVM-Hypervisor) (gcc version 6.2.1 20161114 (Linaro GCC Snapshot 6.2-2016.11) ) #15 SMP PREEMPT Tue May 14 15:39:08 CST 2019
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Xilinx Zynq ZED
bootconsole [earlycon0] enabled
cma: Reserved 128 MiB at 0x38000000
Memory policy: Data cache writealloc
percpu: Embedded 12 pages/cpu @ef7d3000 s19404 r8192 d21556 u49152
Built 1 zonelists in Zone order, mobility grouping on. ?Total pages: 260608
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 895956K/1048576K available (4795K kernel code, 245K rwdata, 1968K rodata, 248K init, 136K bss, 21548K reserved, 131072K cma-reserved, 131072K highmem)
Virtual kernel memory layout:
vector ?: 0xffff0000 - 0xffff1000 ? ( ? 4 kB)
fixmap ?: 0xffc00000 - 0xfff00000 ? (3072 kB)
vmalloc : 0xf0800000 - 0xff800000 ? ( 240 MB)
lowmem ?: 0xc0000000 - 0xf0000000 ? ( 768 MB)
pkmap ? : 0xbfe00000 - 0xc0000000 ? ( ? 2 MB)
modules : 0xbf000000 - 0xbfe00000 ? ( ?14 MB)
.text : 0xc0008000 - 0xc06a319c ? (6765 kB)
.init : 0xc06a4000 - 0xc06e2000 ? ( 248 kB)
.data : 0xc06e2000 - 0xc071f5a0 ? ( 246 kB)
.bss : 0xc071f5a0 - 0xc0741970 ? ( 137 kB)
Preemptible hierarchical RCU implementation.
Build-time adjustment of leaf fanout to 32.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
slcr mapped to f0802000
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
zynq_clock_init: clkc starts at f0802100
Zynq clock init
ps_clk frequency not specified, using 33 MHz.
sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x4ce07af025, max_idle_ns: 440795209040 ns
Switching to timer-based delay loop, resolution 3ns
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
timer #0 at f080a000, irq=17
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 666.66 BogoMIPS (lpj=3333333)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x82c0 - 0x8318
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (1333.33 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
EDAC MC: Ver: 3.0.0
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm_global_timer
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 4948K (dfb2b000 - e0000000)
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
futex hash table entries: 512 (order: 3, 32768 bytes)
workingset: timestamp_bits=28 max_order=18 bucket_order=0
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Error: Driver 'mwipcore' is already registered, aborting...
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 143, base_baud = 6249999) is a xuartps
?onsole [ttyPS0] enabled
console [ttyPS0] enabled
bootconsole [earlycon0] disabled
bootconsole [earlycon0] disabled
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to f085e000
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
[nandsim] warning: read_byte: unexpected data output cycle, state is STATE_READY return 0x0
nand: device found, Manufacturer ID: 0x98, Chip ID: 0x39
nand: Toshiba NAND 128MiB 1,8V 8-bit
nand: 128 MiB, SLC, erase size: 16 KiB, page size: 512, OOB size: 16
flash size: 128 MiB
page size: 512 bytes
OOB area size: 16 bytes
sector size: 16 KiB
pages number: 262144
pages per sector: 32
bus width: 8
bits in sector size: 14
bits in page size: 9
bits in OOB size: 4
flash size with OOB: 135168 KiB
page address bytes: 4
sector address bytes: 3
options: 0x42
Scanning device for bad blocks
Creating 1 MTD partitions on "NAND 128MiB 1,8V 8-bit":
0x000000000000-0x000008000000 : "NAND simulator partition 0"
******************* entrance xemacps_probe ***********************
xemacps_probe:e000b000.eth interface=8
phy_node=phy
xemacps_probe:read phyid is 0
libphy: XEMACPS mii bus: probed
xemacps e000b000.eth: pdev->id 0, baseaddr 0xe000b000, irq 162
******************* exit xemacps_probe ***********************
******************* entrance xemacps_probe ***********************
xemacps_probe:e000c000.eth1 interface=2
gmii2rgmii_phy_node=phy
xemacps_probe:read phyid is 8
xemacps e000c000.eth1: invalid address, use random
xemacps e000c000.eth1: MAC updated 32:a2:a0:e0:54:98
xemacps e000c000.eth1: pdev->id 8, baseaddr 0xe000c000, irq 163
******************* exit xemacps_probe ***********************
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
e0002000.usb supply vbus not found, using dummy regulator
ULPI transceiver vendor/product ID 0x0424/0x0006
Found SMSC USB331x ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
############# hub usb_new_device:busnum=1,devnum=1 #############
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
NET: Registered protocol family 17
Registering SWP/SWPB emulation handler
hctosys: unable to open rtc device (rtc0)
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SC16G 14.8 GiB
mmcblk0: p1
ALSA device list:
No soundcards found.
Freeing unused kernel memory: 248K (c06a4000 - c06e2000)
This architecture does not have kernel memory protection.
INIT: version 2.88 booting
Starting Bootlog daemon: bootlogd.
Creating /dev/flash/* device nodes
random: dd urandom read with 1 bits of entropy available
Configuring network interfaces...
xemacps_open:eth0
xemacps_mii_probe:devname=eth0
xemacps_open:eth1
xemacps_mii_probe:devname=eth1
xemacps e000c000.eth1: eth1: no gmii to rgmii converter found
xemacps e000c000.eth1: XEMACPS mii bus mii_probe fail.
ifconfig: SIOCSIFFLAGS: No such device or address
xemacps_open:eth1
xemacps_mii_probe:devname=eth1
xemacps e000c000.eth1: eth1: no gmii to rgmii converter found
xemacps e000c000.eth1: XEMACPS mii bus mii_probe fail.
ifconfig: SIOCSIFFLAGS: No such device or address
starting Busybox inet Daemon: inetd... done.
INIT: Entering runlevel: 3
Starting Dropbear SSH server: Will output 1024 bit rsa secret key to '/etc/dropbear/dropbear_rsa_host_key'
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgwCw2xqdouR53J3Zdzul6zO9ieEsvhCoJPOSWwogGCznm/4y1upBqH9VIvmC9mbJ8b251cD96w62AIT5N55/+dlkFyCZAB88Ecet9PVCejPe37nEEi9NWsflJQjuQfrCKuDX5wiOtLaQA5/nd8Thz8LlYVkn2KjKmay6wpIHyZRrJLXp root@zynq
Fingerprint: md5 6f:b5:d6:43:17:fe:2e:02:cd:b6:2a:3a:c5:ab:72:f4
dropbear.
Stopping Bootlog daemon: bootlogd.
Starting tcf-agent: OK
PetaLinux v2013.10 (Yocto 1.4) zynq ttyPS0
zynq login: xemacps e000b000.eth: Set clk to 25000000 Hz
xemacps e000b000.eth: link up (100/FULL)
root
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Linux iNode 双网卡,已解决: Zynq 7000 双网卡配置-内核DTS该如何配置 - Community Forums...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle 去除英文字母,请教:如何去
- 下一篇: ustc小道消息20211213