I think I can help if interested. I just finished supporting a custom project 
that used Bone Debian. The board used two ethernet PHYs. Setting everything up 
can be a pain. I can share what I did, but the actual PHYs just happened to 
have configuration stuff already installed so adding to a custom devicw tree 
was a bit simpler. If using an unsupported Ethernet Chip, you may have to see 
if they have a header file in C that can be imported into a device tree. 
Ray. 

Sent from Yahoo Mail on Android 
 
  On Tue, Jan 12, 2021 at 11:52 AM, [email protected]<[email protected]> 
wrote:   Also, we found that it was useful for custom board issues to consult 
both beagleboard.org and TI-E2E, but for the latter, it was necessary to switch 
to the TI-SDK builds as TI didn't support beagleboard/Debian builds at the 
time..
FYI,
 
On Tuesday, January 12, 2021 at 12:43:08 PM UTC-5 [email protected] wrote:

I have a 3 year old BB-X15 with a dual PHY at home.  I haven't touched Linux 
for a couple of years, but am trying to pick it back up on a hobby basis. We 
were working on a custom board with a dual PHY, but that effort was put on hold 
a couple of year's ago.   Message me if you need me to try anything on the 
BB-X15 which could help with your custom board.  If something useful flushes 
out then it should be posted in public forums.
On my BB-X15, I just downloaded the latest image and did dmesg|grep mdio 
(without anything plugged into the Ethernet ports):
debian@beaglebone:~$ dmesg|grep mdio[    1.112050] davinci_mdio 48485000.mdio: 
davinci mdio revision 1.6, bus freq 1000000[    1.112061] libphy: 
48485000.mdio: probed[    1.134048] davinci_mdio 48485000.mdio: phy[1]: device 
48485000.mdio:01, driver Micrel KSZ9031 Gigabit PHY[    1.134059] davinci_mdio 
48485000.mdio: phy[2]: device 48485000.mdio:02, driver Micrel KSZ9031 Gigabit 
PHY[    6.572870] Micrel KSZ9031 Gigabit PHY 48485000.mdio:01: attached PHY 
driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:01, 
irq=POLL)[    6.710705] Micrel KSZ9031 Gigabit PHY 48485000.mdio:02: attached 
PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:02, 
irq=POLL)[   24.576701] Micrel KSZ9031 Gigabit PHY 48485000.mdio:01: attached 
PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:01, 
irq=POLL)[   24.684787] Micrel KSZ9031 Gigabit PHY 48485000.mdio:02: attached 
PHY driver [Micrel KSZ9031 Gigabit PHY] (mii_bus:phy_addr=48485000.mdio:02, 
irq=POLL)debian@beaglebone:~$ 
debian@beaglebone:~$ uname -aLinux beaglebone 4.14.108-ti-r131 #1buster SMP 
PREEMPT Tue Mar 24 19:18:36 UTC 2020 armv7l GNU/Linuxdebian@beaglebone:~$ cat 
/etc/debian_version10.3

uname -rcat /etc/debian_version: 
Thanks!

On Friday, January 8, 2021 at 2:13:17 PM UTC-5 acheesehead wrote:

I meant dmesg | grep mdio. Here is output.beaglebone:~$ dmesg | grep mdio[    
1.319622] davinci_mdio 4a101000.mdio: davinci mdio revision 1.6, bus freq 
1000000[    1.319638] davinci_mdio 4a101000.mdio: detected phy mask ffffffef[   
 1.338962] libphy: 4a101000.mdio: probed[    1.338993] davinci_mdio 
4a101000.mdio: phy[4]: device 4a101000.mdio:04, driver Atheros 8035 ethernet[   
19.657691] Atheros 8035 ethernet 4a101000.mdio:04: attached PHY driver [Atheros 
8035 ethernet] (mii_bus:phy_addr=4a101000.mdio:04, irq=POLL)
Relevant portions of device tree:
 cpsw_default: cpsw-default { pinctrl-single,pins = < /* Slave 1 */ 
AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* 
mii1_txen.rgmii1_tctl */ AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, 
PIN_INPUT_PULLDOWN, MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */ 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_OUTPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_OUTPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_OUTPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_OUTPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE2) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE2) /* Slave 2 
*/ AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_OUTPUT_PULLDOWN, MUX_MODE2) /* 
mii2_txen.rgmii1_tctl */ AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, 
MUX_MODE2) /* mii2_rxdv.rgmii1_rctl */ AM33XX_PADCONF(AM335X_PIN_GPMC_A2, 
PIN_OUTPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A3, 
PIN_OUTPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A4, 
PIN_OUTPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A5, 
PIN_OUTPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A6, 
PIN_OUTPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A7, 
PIN_INPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A8, 
PIN_INPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A9, 
PIN_INPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A10, 
PIN_INPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_GPMC_A11, 
PIN_INPUT_PULLDOWN, MUX_MODE2) AM33XX_PADCONF(AM335X_PIN_MII1_RX_ER, 
PIN_OUTPUT_PULLDOWN, MUX_MODE7) /* reset line */ >; };
 cpsw_sleep: cpsw-sleep { pinctrl-single,pins = < /* Slave 1 reset value */ 
AM33XX_PADCONF(AM335X_PIN_MII1_TX_EN, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_RX_DV, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD3, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD2, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD1, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_TXD0, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_TX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_RX_CLK, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD3, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD2, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD1, PIN_INPUT_PULLDOWN, MUX_MODE7) 
AM33XX_PADCONF(AM335X_PIN_MII1_RXD0, PIN_INPUT_PULLDOWN, MUX_MODE7) /* Slave 2 
*/ AM33XX_PADCONF(AM335X_PIN_GPMC_A0, PIN_INPUT_PULLDOWN, MUX_MODE7) /* 
mii2_txen.rgmii1_tctl */ AM33XX_PADCONF(AM335X_PIN_GPMC_A1, PIN_INPUT_PULLDOWN, 
MUX_MODE7) /* mii2_rxdv.rgmii1_rctl */ AM33XX_PADCONF(AM335X_PIN_GPMC_A2, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A3, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A4, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A5, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A6, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A7, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A8, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A9, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A10, 
PIN_INPUT_PULLDOWN, MUX_MODE7) AM33XX_PADCONF(AM335X_PIN_GPMC_A11, 
PIN_INPUT_PULLDOWN, MUX_MODE7) >; };
&mac {        pinctrl-names = "default", "sleep";        pinctrl-0 = 
<&cpsw_default>;        pinctrl-1 = <&cpsw_sleep>;        dual_emac = <1>;      
  status = "okay";};
&davinci_mdio {        pinctrl-names = "default", "sleep";        pinctrl-0 = 
<&davinci_mdio_default>;        pinctrl-1 = <&davinci_mdio_sleep>;        
status = "okay";};
&cpsw_emac0 {        phy_id = <&davinci_mdio>, <4>;        phy-mode = 
"rgmii-txid";        dual_emac_res_vlan = <1>;};
&cpsw_emac1 {        phy_id = <&davinci_mdio>, <5>;        phy-mode = 
"rgmii-txid";        dual_emac_res_vlan = <2>;};
 





-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/782cf800-86be-4cb5-bb7e-80e561de5530n%40googlegroups.com.
  

-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/1905571791.915253.1610594674345%40mail.yahoo.com.

Reply via email to