I'm trying to add support for a new device that uses an IPQ4029 and QCA8075 PSGMII phy. I'm struggling to figure out how to get the ethernet (interface? switch?) to work. I can only get port 1 to light up which is what I used to TFTP in an image, every other port does not show link lights when I plug in the ethernet to my computer. This is a copy of my device tree I'm using with irrelevant bits (SPI, I2C, etc) removed:
#include "qcom-ipq4019.dtsi"
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/leds/common.h>
#include <dt-bindings/soc/qcom,tcsr.h>
/ {
model = "OpenWRT";
aliases {
ethernet0 = &gmac;
};
soc {
ess-tcsr@1953000 {
compatible = "qcom,tcsr";
reg = <0x1953000 0x1000>;
qcom,ess-interface-select = <TCSR_ESS_PSGMII>;
};
tcsr@1949000 {
compatible = "qcom,tcsr";
reg = <0x1949000 0x100>;
qcom,wifi_glb_cfg = <TCSR_WIFI_GLB_CFG>;
};
tcsr@194b000 {
compatible = "qcom,tcsr";
reg = <0x194b000 0x100>;
qcom,usb-hsphy-mode-select = <TCSR_USB_HSPHY_HOST_MODE>;
};
tcsr@1957000 {
compatible = "qcom,tcsr";
reg = <0x1957000 0x100>;
qcom,wifi_noc_memtype_m0_m2 = <TCSR_WIFI_NOC_MEMTYPE_M0_M2>;
};
};
};
&tlmm {
mdio_pins: mdio-pinmux {
mux-1 {
pins = "gpio6";
function = "mdio";
bias-pull-up;
};
mux-2 {
pins = "gpio7";
function = "mdc";
bias-pull-up;
};
};
};
&blsp_dma {
status = "okay";
};
&mdio {
status = "okay";
pinctrl-0 = <&mdio_pins>;
pinctrl-names = "default";
phy-reset-gpio;
};
&gmac {
status = "okay";
};
/*
ðphy0 {
reg = <0x08>;
qca,ar8327-initvals = <0x04 0x80 0x08 0x1000000 0x0c 0x5600000 0x10 0x2613a0 0xe4 0xaa545 0xe0 0xc74164de 0x7c 0x7e 0x94 0x7e>;
psgmii = <0x0d>;
};
ðphy1 {
reg = <0x09>;
};
ðphy2 {
reg = <0x0a>;
};
ðphy3 {
reg = <0x0b>;
};
ðphy4 {
reg = <0x0c>;
};
*/
&switch {
status = "okay";
};
&swport1 {
status = "okay";
label = "sw-eth1";
};
&swport2 {
status = "okay";
label = "sw-eth2";
};
&swport3 {
status = "okay";
label = "sw-eth3";
};
&swport4 {
status = "okay";
label = "sw-eth4";
};
&swport5 {
status = "okay";
label = "sw-eth5";
};
Does anyone know what I am doing wrong? I would appreciate any help!