Линукс стартует все работает, но драйвер altera_tse не видит PHY.
Лог загрузки:
Код
Linux version 4.1.0 (vilii@ubuntu) (gcc version 4.7.3 (Sourcery CodeBench Lite 2
013.05-43) ) #22 Wed Sep 23 01:29:49 MSK 2015
bootconsole [early0] enabled
early_console initialized at 0xe8002028
On node 0 totalpages: 32767
free_area_init_node: node 0, pgdat c085d0ac, node_mem_map c0879460
Normal zone: 256 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 32767 pages, LIFO batch:7
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32511
Kernel command line: debug console=ttyJ0,115200
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Sorting __ex_table...
Memory: 121232K/131068K available (2701K kernel code, 78K rwdata, 576K rodata, 5
204K init, 93K bss, 9836K reserved, 0K cma-reserved)
NR_IRQS:64 nr_irqs:64 0
clocksource nios2-clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:
15290083572 ns
Calibrating delay loop (skipped), value calculated using timer frequency.. 250.0
0 BogoMIPS (lpj=500000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
devtmpfs: initialized
cpu cpu0: Error -2 creating of_node link
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450
41785100000 ns
NET: Registered protocol family 16
Switched to clocksource nios2-clksrc
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
futex hash table entries: 256 (order: -1, 3072 bytes)
jffs2: version 2.2. (NAND) ┬й 2001-2006 Red Hat, Inc.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
8002028.serial: ttyJ0 at MMIO 0x8002028 (irq = 2, base_baud = 0) is a Altera JTA
G UART
console [ttyJ0] enabled
console [ttyJ0] enabled
bootconsole [early0] disabled
bootconsole [early0] disabled
loop: module loaded
altera_tse 10000000.ethernet (unnamed net_device) (uninitialized): FOUND MDIO su
bnode
libphy: altera_tse: probed
altera_tse 10000000.ethernet (unnamed net_device) (uninitialized): MDIO bus alte
ra_tse-0: created
altera_tse 10000000.ethernet: Altera TSE MACFF version 15.0 at 0x10000000 irq 4/
3
altera_tse 10000000.ethernet eth0: phy-handle found
altera_tse 10000000.ethernet eth0: Could not find the PHY
altera_tse 10000000.ethernet eth0: Cannot attach to PHY (error: -19)
altera_tse 10000000.ethernet eth0 (unregistered): MDIO bus altera_tse-0: removed
iounmap: bad address e0000000
mousedev: PS/2 mouse device common for all mice
NET: Registered protocol family 17
Freeing unused kernel memory: 5204K (c02a5000 - c07ba000)
Starting logging: OK
Initializing random number generator... random: dd urandom read with 32 bits of
entropy available
done.
Starting network...
ssh-keygen: generating new host keys: RSA random: nonblocking pool is initialize
d
DSA ECDSA ED25519
Starting sshd: OK
Welcome to Nios II
nios2 login: root
013.05-43) ) #22 Wed Sep 23 01:29:49 MSK 2015
bootconsole [early0] enabled
early_console initialized at 0xe8002028
On node 0 totalpages: 32767
free_area_init_node: node 0, pgdat c085d0ac, node_mem_map c0879460
Normal zone: 256 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 32767 pages, LIFO batch:7
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32511
Kernel command line: debug console=ttyJ0,115200
PID hash table entries: 512 (order: -1, 2048 bytes)
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Sorting __ex_table...
Memory: 121232K/131068K available (2701K kernel code, 78K rwdata, 576K rodata, 5
204K init, 93K bss, 9836K reserved, 0K cma-reserved)
NR_IRQS:64 nr_irqs:64 0
clocksource nios2-clksrc: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns:
15290083572 ns
Calibrating delay loop (skipped), value calculated using timer frequency.. 250.0
0 BogoMIPS (lpj=500000)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes)
devtmpfs: initialized
cpu cpu0: Error -2 creating of_node link
clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 76450
41785100000 ns
NET: Registered protocol family 16
Switched to clocksource nios2-clksrc
NET: Registered protocol family 2
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
futex hash table entries: 256 (order: -1, 3072 bytes)
jffs2: version 2.2. (NAND) ┬й 2001-2006 Red Hat, Inc.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 254)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
8002028.serial: ttyJ0 at MMIO 0x8002028 (irq = 2, base_baud = 0) is a Altera JTA
G UART
console [ttyJ0] enabled
console [ttyJ0] enabled
bootconsole [early0] disabled
bootconsole [early0] disabled
loop: module loaded
altera_tse 10000000.ethernet (unnamed net_device) (uninitialized): FOUND MDIO su
bnode
libphy: altera_tse: probed
altera_tse 10000000.ethernet (unnamed net_device) (uninitialized): MDIO bus alte
ra_tse-0: created
altera_tse 10000000.ethernet: Altera TSE MACFF version 15.0 at 0x10000000 irq 4/
3
altera_tse 10000000.ethernet eth0: phy-handle found
altera_tse 10000000.ethernet eth0: Could not find the PHY
altera_tse 10000000.ethernet eth0: Cannot attach to PHY (error: -19)
altera_tse 10000000.ethernet eth0 (unregistered): MDIO bus altera_tse-0: removed
iounmap: bad address e0000000
mousedev: PS/2 mouse device common for all mice
NET: Registered protocol family 17
Freeing unused kernel memory: 5204K (c02a5000 - c07ba000)
Starting logging: OK
Initializing random number generator... random: dd urandom read with 32 bits of
entropy available
done.
Starting network...
ssh-keygen: generating new host keys: RSA random: nonblocking pool is initialize
d
DSA ECDSA ED25519
Starting sshd: OK
Welcome to Nios II
nios2 login: root
А вот дерево устройств:
Код
/*
* This devicetree is generated by sopc2dts version unknown on Tue Sep 22 18:23:02 MSD 2015
* Sopc2dts is written by Walter Goossens <waltergoossens@home.nl>
* in cooperation with the nios2 community <nios2-dev@lists.rocketboards.org>
*/
/dts-v1/;
/ {
model = "ALTR,q_sys";
compatible = "ALTR,q_sys";
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
nios2_gen2_0: cpu@0x0 {
device_type = "cpu";
compatible = "altr,nios2-15.0", "altr,nios2-1.1";
reg = <0x00000000>;
interrupt-controller;
#interrupt-cells = <1>;
altr,exception-addr = <3221225504>; /* embeddedsw.dts.params.altr,exception-addr type NUMBER */
altr,fast-tlb-miss-addr = <3355443200>; /* embeddedsw.dts.params.altr,fast-tlb-miss-addr type NUMBER */
altr,has-div = <1>; /* embeddedsw.dts.params.altr,has-div type NUMBER */
altr,has-initda = <1>; /* embeddedsw.dts.params.altr,has-initda type NUMBER */
altr,has-mmu = <1>; /* embeddedsw.dts.params.altr,has-mmu type NUMBER */
altr,has-mul = <1>; /* embeddedsw.dts.params.altr,has-mul type NUMBER */
altr,implementation = "fast"; /* embeddedsw.dts.params.altr,implementation type STRING */
altr,pid-num-bits = <8>; /* embeddedsw.dts.params.altr,pid-num-bits type NUMBER */
altr,reset-addr = <3221225472>; /* embeddedsw.dts.params.altr,reset-addr type NUMBER */
altr,tlb-num-entries = <256>; /* embeddedsw.dts.params.altr,tlb-num-entries type NUMBER */
altr,tlb-num-ways = <16>; /* embeddedsw.dts.params.altr,tlb-num-ways type NUMBER */
altr,tlb-ptr-sz = <8>; /* embeddedsw.dts.params.altr,tlb-ptr-sz type NUMBER */
clock-frequency = <125000000>; /* embeddedsw.dts.params.clock-frequency type NUMBER */
dcache-line-size = <32>; /* embeddedsw.dts.params.dcache-line-size type NUMBER */
dcache-size = <32768>; /* embeddedsw.dts.params.dcache-size type NUMBER */
icache-line-size = <32>; /* embeddedsw.dts.params.icache-line-size type NUMBER */
icache-size = <32768>; /* embeddedsw.dts.params.icache-size type NUMBER */
}; //end cpu@0x0 (nios2_gen2_0)
}; //end cpus
memory@0 {
device_type = "memory";
reg = <0x08000000 0x00001000 0x00000000 0x07ffffff>;
}; //end memory@0
sopc0: sopc@0 {
device_type = "soc";
ranges;
#address-cells = <1>;
#size-cells = <1>;
compatible = "ALTR,avalon", "simple-bus";
bus-frequency = <125000000>;
jtag_uart_0: serial@0x8002028 {
compatible = "altr,juart-15.0", "altr,juart-1.0";
reg = <0x08002028 0x00000008>;
interrupt-parent = <&nios2_gen2_0>;
interrupts = <2>;
}; //end serial@0x8002028 (jtag_uart_0)
eth_tse_0: ethernet@0x10000000 {
compatible = "altr,tse-15.0", "altr,tse-1.0";
reg = <0x10000000 0x00000400>,
<0x10000440 0x00000040>,
<0x10000400 0x00000040>,
<0x00000000 0x08000000>;
reg-names = "control_port", "rx_csr", "tx_csr", "s1";
interrupt-parent = <&nios2_gen2_0>;
interrupts = <4 3>;
interrupt-names = "rx_irq", "tx_irq";
ALTR,rx-fifo-depth = <2048>; /* embeddedsw.dts.params.ALTR,rx-fifo-depth type NUMBER */
ALTR,tx-fifo-depth = <2048>; /* embeddedsw.dts.params.ALTR,tx-fifo-depth type NUMBER */
rx-fifo-depth = <8192>; /* embeddedsw.dts.params.rx-fifo-depth type NUMBER */
tx-fifo-depth = <8192>; /* embeddedsw.dts.params.tx-fifo-depth type NUMBER */
address-bits = <48>;
max-frame-size = <1518>;
local-mac-address = [00 00 00 00 00 00];
altr,has-supplementary-unicast;
altr,enable-sup-addr = <1>;
altr,has-hash-multicast-filter;
altr,enable-hash = <1>;
phy-mode = "rgmii";
altr,mii-id = <1>;
phy-handle = <&phy0>;
// altr,phy-addr = <0>;
eth_tse_0_mdio: mdio {
compatible = "altr,tse-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
device_type = "ethernet-phy";
};//end ethernet-phy at 0 (phy0)
}; //end mdio (eth_tse_0_mdio)
}; //end ethernet@0x10000000 (eth_tse_0)
sysid_qsys_0: sysid@0x8002020 {
compatible = "altr,sysid-15.0", "altr,sysid-1.0";
reg = <0x08002020 0x00000008>;
id = <0>; /* embeddedsw.dts.params.id type NUMBER */
timestamp = <1442930316>; /* embeddedsw.dts.params.timestamp type NUMBER */
}; //end sysid@0x8002020 (sysid_qsys_0)
timer_0: timer@0x8002000 {
compatible = "altr,timer-15.0", "altr,timer-1.0";
reg = <0x08002000 0x00000020>;
interrupt-parent = <&nios2_gen2_0>;
interrupts = <1>;
clock-frequency = <125000000>; /* embeddedsw.dts.params.clock-frequency type NUMBER */
}; //end timer@0x8002000 (timer_0)
timer_1: timer@0x8002040 {
compatible = "altr,timer-15.0", "altr,timer-1.0";
reg = <0x08002040 0x00000020>;
interrupt-parent = <&nios2_gen2_0>;
interrupts = <0>;
clock-frequency = <125000000>; /* embeddedsw.dts.params.clock-frequency type NUMBER */
}; //end timer@0x8002040 (timer_1)
}; //end sopc@0 (sopc0)
chosen {
bootargs = "debug console=ttyJ0,115200";
}; //end chosen
}; //end /
* This devicetree is generated by sopc2dts version unknown on Tue Sep 22 18:23:02 MSD 2015
* Sopc2dts is written by Walter Goossens <waltergoossens@home.nl>
* in cooperation with the nios2 community <nios2-dev@lists.rocketboards.org>
*/
/dts-v1/;
/ {
model = "ALTR,q_sys";
compatible = "ALTR,q_sys";
#address-cells = <1>;
#size-cells = <1>;
cpus {
#address-cells = <1>;
#size-cells = <0>;
nios2_gen2_0: cpu@0x0 {
device_type = "cpu";
compatible = "altr,nios2-15.0", "altr,nios2-1.1";
reg = <0x00000000>;
interrupt-controller;
#interrupt-cells = <1>;
altr,exception-addr = <3221225504>; /* embeddedsw.dts.params.altr,exception-addr type NUMBER */
altr,fast-tlb-miss-addr = <3355443200>; /* embeddedsw.dts.params.altr,fast-tlb-miss-addr type NUMBER */
altr,has-div = <1>; /* embeddedsw.dts.params.altr,has-div type NUMBER */
altr,has-initda = <1>; /* embeddedsw.dts.params.altr,has-initda type NUMBER */
altr,has-mmu = <1>; /* embeddedsw.dts.params.altr,has-mmu type NUMBER */
altr,has-mul = <1>; /* embeddedsw.dts.params.altr,has-mul type NUMBER */
altr,implementation = "fast"; /* embeddedsw.dts.params.altr,implementation type STRING */
altr,pid-num-bits = <8>; /* embeddedsw.dts.params.altr,pid-num-bits type NUMBER */
altr,reset-addr = <3221225472>; /* embeddedsw.dts.params.altr,reset-addr type NUMBER */
altr,tlb-num-entries = <256>; /* embeddedsw.dts.params.altr,tlb-num-entries type NUMBER */
altr,tlb-num-ways = <16>; /* embeddedsw.dts.params.altr,tlb-num-ways type NUMBER */
altr,tlb-ptr-sz = <8>; /* embeddedsw.dts.params.altr,tlb-ptr-sz type NUMBER */
clock-frequency = <125000000>; /* embeddedsw.dts.params.clock-frequency type NUMBER */
dcache-line-size = <32>; /* embeddedsw.dts.params.dcache-line-size type NUMBER */
dcache-size = <32768>; /* embeddedsw.dts.params.dcache-size type NUMBER */
icache-line-size = <32>; /* embeddedsw.dts.params.icache-line-size type NUMBER */
icache-size = <32768>; /* embeddedsw.dts.params.icache-size type NUMBER */
}; //end cpu@0x0 (nios2_gen2_0)
}; //end cpus
memory@0 {
device_type = "memory";
reg = <0x08000000 0x00001000 0x00000000 0x07ffffff>;
}; //end memory@0
sopc0: sopc@0 {
device_type = "soc";
ranges;
#address-cells = <1>;
#size-cells = <1>;
compatible = "ALTR,avalon", "simple-bus";
bus-frequency = <125000000>;
jtag_uart_0: serial@0x8002028 {
compatible = "altr,juart-15.0", "altr,juart-1.0";
reg = <0x08002028 0x00000008>;
interrupt-parent = <&nios2_gen2_0>;
interrupts = <2>;
}; //end serial@0x8002028 (jtag_uart_0)
eth_tse_0: ethernet@0x10000000 {
compatible = "altr,tse-15.0", "altr,tse-1.0";
reg = <0x10000000 0x00000400>,
<0x10000440 0x00000040>,
<0x10000400 0x00000040>,
<0x00000000 0x08000000>;
reg-names = "control_port", "rx_csr", "tx_csr", "s1";
interrupt-parent = <&nios2_gen2_0>;
interrupts = <4 3>;
interrupt-names = "rx_irq", "tx_irq";
ALTR,rx-fifo-depth = <2048>; /* embeddedsw.dts.params.ALTR,rx-fifo-depth type NUMBER */
ALTR,tx-fifo-depth = <2048>; /* embeddedsw.dts.params.ALTR,tx-fifo-depth type NUMBER */
rx-fifo-depth = <8192>; /* embeddedsw.dts.params.rx-fifo-depth type NUMBER */
tx-fifo-depth = <8192>; /* embeddedsw.dts.params.tx-fifo-depth type NUMBER */
address-bits = <48>;
max-frame-size = <1518>;
local-mac-address = [00 00 00 00 00 00];
altr,has-supplementary-unicast;
altr,enable-sup-addr = <1>;
altr,has-hash-multicast-filter;
altr,enable-hash = <1>;
phy-mode = "rgmii";
altr,mii-id = <1>;
phy-handle = <&phy0>;
// altr,phy-addr = <0>;
eth_tse_0_mdio: mdio {
compatible = "altr,tse-mdio";
#address-cells = <1>;
#size-cells = <0>;
phy0: ethernet-phy@0 {
reg = <0x0>;
device_type = "ethernet-phy";
};//end ethernet-phy at 0 (phy0)
}; //end mdio (eth_tse_0_mdio)
}; //end ethernet@0x10000000 (eth_tse_0)
sysid_qsys_0: sysid@0x8002020 {
compatible = "altr,sysid-15.0", "altr,sysid-1.0";
reg = <0x08002020 0x00000008>;
id = <0>; /* embeddedsw.dts.params.id type NUMBER */
timestamp = <1442930316>; /* embeddedsw.dts.params.timestamp type NUMBER */
}; //end sysid@0x8002020 (sysid_qsys_0)
timer_0: timer@0x8002000 {
compatible = "altr,timer-15.0", "altr,timer-1.0";
reg = <0x08002000 0x00000020>;
interrupt-parent = <&nios2_gen2_0>;
interrupts = <1>;
clock-frequency = <125000000>; /* embeddedsw.dts.params.clock-frequency type NUMBER */
}; //end timer@0x8002000 (timer_0)
timer_1: timer@0x8002040 {
compatible = "altr,timer-15.0", "altr,timer-1.0";
reg = <0x08002040 0x00000020>;
interrupt-parent = <&nios2_gen2_0>;
interrupts = <0>;
clock-frequency = <125000000>; /* embeddedsw.dts.params.clock-frequency type NUMBER */
}; //end timer@0x8002040 (timer_1)
}; //end sopc@0 (sopc0)
chosen {
bootargs = "debug console=ttyJ0,115200";
}; //end chosen
}; //end /
Может есть у кого идеи что происходит и куда смотреть, на плате phy работет горит светодиод гигабита, и RX моргает но линукс не может связаться с ним, уже в дереве адреса mdio перебирал, не помогает.