Quantcast
Channel: Altera Forums
Viewing all articles
Browse latest Browse all 19390

Cyclone V SoC, DE1-SoC Board. Ethernet and USB don't work with custom kernel

$
0
0
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:

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 */
        };
    };
};

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
Code:

[ 2387.294093] socfpga-dwmac ff702000.ethernet eth0: Link is Up - 100Mbps/Full - flow control rx/tx
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:
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

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:
Code:

[  26.152423] usb 1-1.2: USB disconnect, device number 3
I'm also not able to identify the problem here.

I hope you can help me to get this thing working.

Thanks!
Attached Files

Viewing all articles
Browse latest Browse all 19390

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>