Hello, I am currently trying to migrate from the 3.10.17 kernel to 3.14.28 on an imx6q based board (roughly based on Nitrogen6x)
In the 3.10.17 release, I had to apply the attached patch to get the fixed_phy to work (I am connecting directly to an FPGA)
--> note: I had to piece this patch together from something I found online that almost fit, so it might not be the best way to implement in 3.10.17, but it did work.
It appears that most of the changes that are in the patch have been integrated into 3.14.28, but I am getting the following error when I compile the kernel modules:
> drivers/of/of_mdio.c: In function 'of_phy_register_fixed_link':
> drivers/of/of_mdio.c:300:3: error: implicit declaration of function 'fixed_phy_register' [-Werror=implicit-function-declaration]
> return fixed_phy_register(PHY_POLL, &status, np);
^
I tried searching for the function declaration, but found nothing...
Has this been removed from the kernel? If so, what would be the proper call to make here?
Any help would be appreciated.
thanks
Original Attachment has been moved to: 0001-add-support-for-fixed-phy-fec-for-fpga.patch.zip
To execute 'make imx_v7_defconf' instead of 'make menuconfig' to generate a .config file, can build kernel image successfully. You might compare the default configuration with the one you get from menuconfig.
Please refer to the new binding guide in 3.14.28
Optional subnodes:
32 - mdio : specifies the mdio bus in the FEC, used as a container for phy nodes
33 according to phy.txt in the same directory
34
35 Example:
36
37 ethernet@83fec000 {
38 compatible = "fsl,imx51-fec", "fsl,imx27-fec";
39 reg = <0x83fec000 0x4000>;
40 interrupts = <87>;
41 phy-mode = "mii";
42 phy-reset-gpios = <&gpio2 14 0>; /* GPIO2_14 */
43 local-mac-address = [00 04 9F 01 1B B9];
44 phy-supply = <®_fec_supply>;
45 };
46
47 Example with phy specified:
48
49 ethernet@83fec000 {
50 compatible = "fsl,imx51-fec", "fsl,imx27-fec";
51 reg = <0x83fec000 0x4000>;
52 interrupts = <87>;
53 phy-mode = "mii";
54 phy-reset-gpios = <&gpio2 14 0>; /* GPIO2_14 */
55 local-mac-address = [00 04 9F 01 1B B9];
56 phy-supply = <®_fec_supply>;
57 phy-handle = <ðphy>;
58 mdio {
59 ethphy: ethernet-phy@6 {
60 compatible = "ethernet-phy-ieee802.3-c22";
61 reg = <6>;
62 max-speed = <100>;
63 };
64 };
65 };
I'm having the same problem as well. I can specify the mdio bus, but does this mean I don't need CONFIG_FIXED_PHY in order to establish a direct connection to a switch?
Hi,
I have exactly the same problem, i use imx6sx with BSP 3.14.28.
On eth1, a phy is connected, i use mdio subnode to desribe it and it works.
But eth0 is used to connect imx6 to a switch. I don't manage this switch so no MDC-MDIO is connected to IMX.
Does i need to add a fixed-link subnode?
I tried to add CONFIG_FIXED_PHY in the kernel and i get the same compilation error.
Does anyone can help me?
Thanks,
Hi Florian,
Did you ever find a solution for this issue?
Hi,
I have more or less the same problem.
I've moved from 3.10.53 to 3.14.28 but my ehternet is not working.
I use a RealTek Ethernet phy wit phy Address 1, but when is specify the folowing, it still doesn't work.
....
mdio {
ethphy: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
max-speed = <100>;
};
};
......
I see that that the drivers is looking for a device match on the mdio_bus, but there is no mdio_bus registered.
Do I need something more then only mdio in the fec (ethernet) node ?
Thanks
Simon Vanveerdeghem
Hi Simon,
Did you ever find a solution for this issue?