I am working on a custom board based on AM3358 and running Linux RT (sdk-linux-rt-am335x-evm-06.03.00.106)
The hardware design includes 2 PHY where one is sharing REF_CLK with the other via CLKOUT pin.
To enable the CLKOUT pin to share REF_CLK I would expect Linux being able to write PHY registers via PRU-ICSS MDIO bus (pruss_mdio: mdio@4a332400).
&pruss_mdio {
pinctrl-0 = <&pruss_mdio_default>;
pinctrl-names = "default";
status = "okay";
pruss_eth0_phy: ethernet-phy@2 {
reg = <2>; /* TJA responds to PHY address 0 */
reset-gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;
reset-assert-us = <20>; /* PHY datasheet states 5 uS min - 20 us max */
reset-deassert-us = <100>; /* Wake-up time */
};
pruss_eth1_phy: ethernet-phy@3 {
reg = <3>;
reset-gpios = <&gpio2 25 GPIO_ACTIVE_LOW>;
};
};
My questions are:
- how can I register a phy fixup for my particular PHY device in order to write the proper register configuration to share CLKOUT (the 2 phy devices have different PHY-IDs from different vendors) ?
- is the pruss.c driver able to configure PHYs before PRU FW being started ?
- how to prevent PRU FW to reset PHY devices ?
Thank you in advance
Andrea