Hi,
I'm trying to build a custom Linux system on a DE1-SoC board by Terasic. The stock Linux works fine. Even with my own preloader and U-boot.
Currently I'm trying to build a custom Kernel. I need Kernel Version 4.5.2. I compiled the Kernel using socfpga_defconfig.
In addition to that I searched for a device tree for the DE1 SoC Board.
the Kernel is running and the SD card is working. However, USB and Ethernet aren't working.
I attached my Device-Tree-File. It includes the "standard" include files that come with the linux kernel.
the first Problem I have is the one with the Ethernet.
I added a custom mdio section to the gmac1 device because without it Linux couldn't detect the PHY.
My Ethernet config looks like that:
Now the problem:
Inside of Linux everything seems fine. I have a eth0 Network device that automatically detects link etc. when I plug in the LAN cable dmesg shows
I can assign a IP address to the interface as well. Even the MAC address configured in u-boot is set up correctly.
Despite all that, the interface isn't working at all.
I connected the DE1 SoC directly to an other PC. As soon as I start ping on the DE1 SoC the LEDs of the PC indicate that Ehternet traffic is present. But I can't view any data via Wireshark. I don't get it. It's like the Ethernet is sending with the wrong frequency. I just don't get it.
My second problem is the USB interface. As you can see in my dts-File, I'm just activating the module and leave everything as it is defined in the standard includes supplied with the kernel. I get following output when the board boots:
For me this seems correct. However, no USB device is detected when I connect it to the board. dmesg doesn't show anything.
If I boot with a connected USB-Device (USB Memory Stick) and unplug it. I get following dmesg message:
I'm also not able to identify the problem here.
I hope you can help me to get this thing working.
Thanks!
I'm trying to build a custom Linux system on a DE1-SoC board by Terasic. The stock Linux works fine. Even with my own preloader and U-boot.
Currently I'm trying to build a custom Kernel. I need Kernel Version 4.5.2. I compiled the Kernel using socfpga_defconfig.
In addition to that I searched for a device tree for the DE1 SoC Board.
the Kernel is running and the SD card is working. However, USB and Ethernet aren't working.
I attached my Device-Tree-File. It includes the "standard" include files that come with the linux kernel.
the first Problem I have is the one with the Ethernet.
I added a custom mdio section to the gmac1 device because without it Linux couldn't detect the PHY.
My Ethernet config looks like that:
Code:
&gmac1 {
status = "okay";
phy-mode = "rgmii";
rxd0-skew-ps = <0>;
rxd1-skew-ps = <0>;
rxd2-skew-ps = <0>;
rxd3-skew-ps = <0>;
txen-skew-ps = <0>;
txc-skew-ps = <2600>;
rxdv-skew-ps = <0>;
rxc-skew-ps = <2000>;
/* CUSTOM Adaptations */
interrupt-parent = < &intc >;
address-bits = < 48 >;
micrel-ksz9021rlrn-clk-skew = < 0xA0E0 >;
micrel-ksz9021rlrn-rx-skew = < 0x0 >;
max-frame-size = <3800>;
/* Custom MDIO Block. Seems to work. stmmac now checks address of PHY */
mdio0 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "snps,dwmac-mdio";
phy1: ethernet-phy@0 {
/* No options here */
};
};
};
Inside of Linux everything seems fine. I have a eth0 Network device that automatically detects link etc. when I plug in the LAN cable dmesg shows
Code:
[ 2387.294093] socfpga-dwmac ff702000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
Despite all that, the interface isn't working at all.
I connected the DE1 SoC directly to an other PC. As soon as I start ping on the DE1 SoC the LEDs of the PC indicate that Ehternet traffic is present. But I can't view any data via Wireshark. I don't get it. It's like the Ethernet is sending with the wrong frequency. I just don't get it.
My second problem is the USB interface. As you can see in my dts-File, I'm just activating the module and leave everything as it is defined in the standard includes supplied with the kernel. I get following output when the board boots:
Code:
[ 1.663535] usb 1-1: new high-speed USB device number 2 using dwc2
[ 1.770992] random: init urandom read with 9 bits of entropy available
[ 1.875030] hub 1-1:1.0: USB hub found
[ 1.879051] hub 1-1:1.0: 2 ports detected
If I boot with a connected USB-Device (USB Memory Stick) and unplug it. I get following dmesg message:
Code:
[ 26.152423] usb 1-1.2: USB disconnect, device number 3
I hope you can help me to get this thing working.
Thanks!