This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DP83867E: Driver is not activated

Part Number: DP83867E
Other Parts Discussed in Thread: ADS7828

The set up:

A custom board using the OSD3358-SM processor. I have 2 each DP86837 chips, one as 0 and the other as 1 (using proper strap, but only trying to get 0 up first). I am using the latest Bone Debian OS for ARM 9.9, Kernel 4.14. I set my Board ID as Beaglebone Black A335BNLT. I created my own overlay to use I2C and SPI busses and a tlv320.... Audio Codec Chip. I have referenced forum after forum, documents, etc. I have yet to see the mdio report the driver as DP86837. The Driver (ko) is in the OS. My overlay works for everything but Ethernet. When I connect Ethernet and check dmesg (via SSH via USB into my board) and it shows it as up, 1gbps but the driver shows as a General PHY and I cannot ping or SSH into my proto board over Ethernet. It's like the kernel read the reg and got the proper info back but it's not configured 100%.

I set up eth0 in /etc/network/interfaces as static with an address and netmask. 

Here is a snippet of my device tree dts file (which compiles with not issues). 

&cpsw_emac0 {
	phy_id = <&davinci_mdio>, <0>;
	phy_handle = <&dp83867_0>;
	phy-mode = "rgmii-txid";
};

&mac {
	pinctrl-names = "default", "sleep";
	pinctrl-0 = <&cpsw_default>;
	pinctrl-1 = <&cpsw_sleep>;
	slaves = <1>;
	status = "okay";
};

&davinci_mdio {
        pinctrl-names = "default", "sleep";
	compatible = "ti,cpsw-mdio" , "ti,davinci_mdio";
	pinctrl-0 = <&davinci_mdio_default>;
	pinctrl-1 = <&davinci_mdio_sleep>;
	status = "okay";
	
	dp83867_0: ethernet-phy@0 {
	reg = <0>;
	ti,rx-internal-delay = <DP83867_RGMIIDCTL_1_75_NS>;
	ti,tx-internal-delay = <DP83867_RGMIIDCTL_1_75_NS>;
	ti,fifo-depth = <DP83867_PHYCR_FIFO_DEPTH_4_B_NIB>;
	};
};

As I understand it...yes, u-boot will configure to the board ID. But after the kernel loads, my overlay should substantiate the changes in my overlay. Thus bringing in the driver I want to use with configurations for Ethernet. For instance, in my overlay I'm using an ADS7828 and activate the driver in my overlay and comes up as a module ($ lsmod).

My Questions:

1. Can I use the Beaglebone Black Board ID as my baseline and use my overlay to incorporate using the DP83867 IC?

2. From my undertanding to even get a 1Gbps to come up, It has to auto negotiate to that speed and any major issues would leave it at 10mbps speed?

3. Why is the driver not showing in the syslog, I thought it will show up as the driver for the mdio and cpsw?

4. Do I need to really configure my own board ID in u-boot files, everything else comes up and can be verified in syslog or by reading/writing to its register?

5. I referenced the dra71-evm.dts for my overlay, is there another EVM or overlay that uses the DP86837 Ethernet IC?

I will see if I can get the syslog info and paste it here tomorrow.