CONFIG_FIXED_PHY issue in imx_1.14.28_1.0.0_ga

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

CONFIG_FIXED_PHY issue in imx_1.14.28_1.0.0_ga

4,233 Views
ericlamphear
Contributor III

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

Labels (3)
0 Kudos
Reply
7 Replies

2,401 Views
adamhuang
Contributor III

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.

0 Kudos
Reply

2,401 Views
BiyongSUN
NXP Employee
NXP Employee

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 = <&reg_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 = <&reg_fec_supply>;

57        phy-handle = <&ethphy>;

58        mdio {

59                ethphy: ethernet-phy@6 {

60                        compatible = "ethernet-phy-ieee802.3-c22";

61                        reg = <6>;

62                        max-speed = <100>;

63                };

64        };

65 };

0 Kudos
Reply

2,401 Views
khangbui
Contributor II

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?

0 Kudos
Reply

2,401 Views
florian_germain
Contributor II

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,

0 Kudos
Reply

2,401 Views
khangbui
Contributor II

Hi Florian,

Did you ever find a solution for this issue?

0 Kudos
Reply

2,401 Views
simonvanveerdeg
Contributor I

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

0 Kudos
Reply

2,401 Views
khangbui
Contributor II

Hi Simon,

Did you ever find a solution for this issue?

0 Kudos
Reply