qualcommax: convert qca807x PHY to PHY package implementation

Convert every qca807x PHY definition in DT to new PHY package
implementation to correctly support applying fixup for the correct PHY
mode.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
This commit is contained in:
Christian Marangi 2023-11-17 17:52:42 +01:00
parent 8ed390ac76
commit 0ab4b9201e
No known key found for this signature in database
GPG Key ID: AC001D09ADBFEAD7
12 changed files with 247 additions and 147 deletions

View File

@ -262,9 +262,16 @@
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075: ethernet-phy@4 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
reg = <4>; #size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>;
qca8075_4: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>;
};
}; };
}; };
@ -288,7 +295,7 @@
&dp5 { &dp5 {
status = "okay"; status = "okay";
phy-handle = <&qca8075>; phy-handle = <&qca8075_4>;
label = "lan"; label = "lan";
}; };

View File

@ -213,24 +213,31 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075_1: ethernet-phy@1 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
reg = <1>; #size-cells = <0>;
}; compatible = "qcom,qca8075-package";
reg = <0>;
qca8075_2: ethernet-phy@2 { qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>; reg = <1>;
}; };
qca8075_3: ethernet-phy@3 { qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>; reg = <2>;
}; };
qca8075_4: ethernet-phy@4 { qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>; reg = <3>;
};
qca8075_4: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>;
};
}; };
}; };

View File

@ -366,24 +366,33 @@
nvmem-cells = <&aqr1_fw>; nvmem-cells = <&aqr1_fw>;
}; };
qca8075_16: ethernet-phy@16 { ethernet-phy-package@16 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <16>; reg = <16>;
};
qca8075_17: ethernet-phy@17 { qcom,package-mode = "qsgmii";
compatible = "ethernet-phy-ieee802.3-c22";
reg = <17>;
};
qca8075_18: ethernet-phy@18 { qca8075_16: ethernet-phy@16 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <18>; reg = <16>;
}; };
qca8075_19: ethernet-phy@19 { qca8075_17: ethernet-phy@17 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <19>; reg = <17>;
};
qca8075_18: ethernet-phy@18 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <18>;
};
qca8075_19: ethernet-phy@19 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <19>;
};
}; };
}; };
@ -448,24 +457,28 @@
&dp1 { &dp1 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_16>; phy-handle = <&qca8075_16>;
label = "lan4"; label = "lan4";
}; };
&dp2 { &dp2 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_17>; phy-handle = <&qca8075_17>;
label = "lan3"; label = "lan3";
}; };
&dp3 { &dp3 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_18>; phy-handle = <&qca8075_18>;
label = "lan2"; label = "lan2";
}; };
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_19>; phy-handle = <&qca8075_19>;
label = "lan1"; label = "lan1";
}; };

View File

@ -347,24 +347,33 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075_0: ethernet-phy@0 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>; reg = <0>;
};
qca8075_1: ethernet-phy@1 { qcom,package-mode = "qsgmii";
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
qca8075_2: ethernet-phy@2 { qca8075_0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>; reg = <0>;
}; };
qca8075_3: ethernet-phy@3 { qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>; reg = <1>;
};
qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>;
};
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
}; };
qca8081: ethernet-phy@24 { qca8081: ethernet-phy@24 {
@ -426,6 +435,7 @@
&dp1 { &dp1 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_0>; phy-handle = <&qca8075_0>;
label = "lan4"; label = "lan4";
nvmem-cells = <&macaddr_dp1>; nvmem-cells = <&macaddr_dp1>;
@ -434,6 +444,7 @@
&dp2 { &dp2 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_1>; phy-handle = <&qca8075_1>;
label = "lan3"; label = "lan3";
nvmem-cells = <&macaddr_dp2>; nvmem-cells = <&macaddr_dp2>;
@ -442,6 +453,7 @@
&dp3 { &dp3 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_2>; phy-handle = <&qca8075_2>;
label = "lan2"; label = "lan2";
nvmem-cells = <&macaddr_dp3>; nvmem-cells = <&macaddr_dp3>;
@ -450,6 +462,7 @@
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_3>; phy-handle = <&qca8075_3>;
label = "lan1"; label = "lan1";
nvmem-cells = <&macaddr_dp4>; nvmem-cells = <&macaddr_dp4>;

View File

@ -137,24 +137,33 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075_0: ethernet-phy@0 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>; reg = <0>;
};
qca8075_1: ethernet-phy@1 { qcom,package-mode = "qsgmii";
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
qca8075_2: ethernet-phy@2 { qca8075_0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>; reg = <0>;
}; };
qca8075_3: ethernet-phy@3 { qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>; reg = <1>;
};
qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>;
};
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
}; };
qca8081: ethernet-phy@28 { qca8081: ethernet-phy@28 {
@ -223,24 +232,28 @@
&dp1 { &dp1 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_0>; phy-handle = <&qca8075_0>;
label = "lan4"; label = "lan4";
}; };
&dp2 { &dp2 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_1>; phy-handle = <&qca8075_1>;
label = "lan3"; label = "lan3";
}; };
&dp3 { &dp3 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_2>; phy-handle = <&qca8075_2>;
label = "lan2"; label = "lan2";
}; };
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_3>; phy-handle = <&qca8075_3>;
label = "lan1"; label = "lan1";
}; };

View File

@ -161,24 +161,31 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 22 GPIO_ACTIVE_LOW>;
qca8075_1: ethernet-phy@0 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>; reg = <0>;
};
qca8075_2: ethernet-phy@1 { qca8075_0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>; reg = <0>;
}; };
qca8075_3: ethernet-phy@2 { qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>; reg = <1>;
}; };
qca8075_4: ethernet-phy@3 { qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>; reg = <2>;
};
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
}; };
aqr113c: ethernet-phy@5 { aqr113c: ethernet-phy@5 {
@ -236,25 +243,25 @@
/* Dummy LAN port */ /* Dummy LAN port */
&dp1 { &dp1 {
status = "disabled"; status = "disabled";
phy-handle = <&qca8075_1>; phy-handle = <&qca8075_0>;
label = "lan4"; label = "lan4";
}; };
&dp2 { &dp2 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_2>; phy-handle = <&qca8075_1>;
label = "lan3"; label = "lan3";
}; };
&dp3 { &dp3 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_3>; phy-handle = <&qca8075_2>;
label = "lan2"; label = "lan2";
}; };
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_4>; phy-handle = <&qca8075_3>;
label = "lan1"; label = "lan1";
}; };

View File

@ -357,19 +357,26 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075_1: ethernet-phy@1 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
reg = <1>; #size-cells = <0>;
}; compatible = "qcom,qca8075-package";
reg = <0>;
qca8075_2: ethernet-phy@2 { qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>; reg = <1>;
}; };
qca8075_3: ethernet-phy@3 { qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>; reg = <2>;
};
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
}; };
qca8081: ethernet-phy@28 { qca8081: ethernet-phy@28 {

View File

@ -520,7 +520,7 @@
reg = <0x3a001800 0x200>; reg = <0x3a001800 0x200>;
qcom,mactype = <0>; qcom,mactype = <0>;
local-mac-address = [000000000000]; local-mac-address = [000000000000];
phy-mode = "sgmii"; phy-mode = "psgmii";
status = "disabled"; status = "disabled";
}; };

View File

@ -271,27 +271,34 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075_1: ethernet-phy@0 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
#size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>; reg = <0>;
qca8075_0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0>;
};
qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>;
};
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
}; };
qca8075_2: ethernet-phy@1 { qca8081: ethernet-phy@28 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
qca8075_3: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>;
};
qca8075_4: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
qca8081: ethernet-phy@4{
compatible = "ethernet-phy-id004d.d101"; compatible = "ethernet-phy-id004d.d101";
reg = <28>; reg = <28>;
reset-deassert-us = <10000>; reset-deassert-us = <10000>;
@ -358,7 +365,7 @@
&dp1 { &dp1 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_1>; phy-handle = <&qca8075_0>;
label = "lan1"; label = "lan1";
nvmem-cells = <&macaddr_lan 0>; nvmem-cells = <&macaddr_lan 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
@ -366,7 +373,7 @@
&dp2 { &dp2 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_2>; phy-handle = <&qca8075_1>;
label = "lan2"; label = "lan2";
nvmem-cells = <&macaddr_lan 0>; nvmem-cells = <&macaddr_lan 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
@ -374,7 +381,7 @@
&dp3 { &dp3 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_3>; phy-handle = <&qca8075_2>;
label = "lan3"; label = "lan3";
nvmem-cells = <&macaddr_lan 0>; nvmem-cells = <&macaddr_lan 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";
@ -382,7 +389,7 @@
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-handle = <&qca8075_4>; phy-handle = <&qca8075_3>;
label = "lan4"; label = "lan4";
nvmem-cells = <&macaddr_lan 0>; nvmem-cells = <&macaddr_lan 0>;
nvmem-cell-names = "mac-address"; nvmem-cell-names = "mac-address";

View File

@ -150,29 +150,37 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075_0: ethernet-phy@0 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
#size-cells = <0>;
reg = <0>; reg = <0>;
};
qca8075_1: ethernet-phy@1 { compatible = "qcom,qca8075-package";
compatible = "ethernet-phy-ieee802.3-c22";
reg = <1>;
};
qca8075_2: ethernet-phy@2 { qca8075_0: ethernet-phy@0 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <2>; reg = <0>;
}; };
qca8075_3: ethernet-phy@3 { qca8075_1: ethernet-phy@1 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>; reg = <1>;
}; };
qca8075_4: ethernet-phy@4 { qca8075_2: ethernet-phy@2 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>; reg = <2>;
};
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
qca8075_4: ethernet-phy@4 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <4>;
};
}; };
aqr111b0: ethernet-phy@7 { aqr111b0: ethernet-phy@7 {

View File

@ -194,9 +194,16 @@
pinctrl-names = "default"; pinctrl-names = "default";
reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>; reset-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
qca8075: ethernet-phy@3 { ethernet-phy-package@0 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
reg = <3>; #size-cells = <0>;
compatible = "qcom,qca8075-package";
reg = <0>;
qca8075_3: ethernet-phy@3 {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <3>;
};
}; };
qca8081: ethernet-phy@28 { qca8081: ethernet-phy@28 {
@ -209,7 +216,7 @@
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-handle = <&qca8075>; phy-handle = <&qca8075_3>;
label = "lan2"; label = "lan2";
}; };

View File

@ -230,19 +230,28 @@
reg = <0x8>; reg = <0x8>;
}; };
qca8075_1: ethernet-phy@19 { ethernet-phy-package@17 {
compatible = "ethernet-phy-ieee802.3-c22"; #address-cells = <1>;
reg = <0x19>; #size-cells = <0>;
}; compatible = "qcom,qca8075-package";
reg = <0x18>;
qca8075_2: ethernet-phy@1a { qcom,package-mode = "qsgmii";
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1a>;
};
qca8075_3: ethernet-phy@1b { qca8075_1: ethernet-phy@19 {
compatible = "ethernet-phy-ieee802.3-c22"; compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1b>; reg = <0x19>;
};
qca8075_2: ethernet-phy@1a {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1a>;
};
qca8075_3: ethernet-phy@1b {
compatible = "ethernet-phy-ieee802.3-c22";
reg = <0x1b>;
};
}; };
}; };
@ -251,7 +260,6 @@
switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT6)>; switch_lan_bmp = <(ESS_PORT2 | ESS_PORT3 | ESS_PORT4 | ESS_PORT6)>;
switch_wan_bmp = <ESS_PORT5>; switch_wan_bmp = <ESS_PORT5>;
malibu_first_phy_addr = <0x18>;
switch_mac_mode = <MAC_MODE_QSGMII>; switch_mac_mode = <MAC_MODE_QSGMII>;
switch_mac_mode1 = <MAC_MODE_USXGMII>; switch_mac_mode1 = <MAC_MODE_USXGMII>;
switch_mac_mode2 = <MAC_MODE_USXGMII>; switch_mac_mode2 = <MAC_MODE_USXGMII>;
@ -292,6 +300,7 @@
&dp2 { &dp2 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_1>; phy-handle = <&qca8075_1>;
label = "lan4"; label = "lan4";
nvmem-cells = <&macaddr_appsblenv_ethaddr>; nvmem-cells = <&macaddr_appsblenv_ethaddr>;
@ -300,6 +309,7 @@
&dp3 { &dp3 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_2>; phy-handle = <&qca8075_2>;
label = "lan3"; label = "lan3";
nvmem-cells = <&macaddr_appsblenv_ethaddr>; nvmem-cells = <&macaddr_appsblenv_ethaddr>;
@ -308,6 +318,7 @@
&dp4 { &dp4 {
status = "okay"; status = "okay";
phy-mode = "qsgmii";
phy-handle = <&qca8075_3>; phy-handle = <&qca8075_3>;
label = "lan2"; label = "lan2";
nvmem-cells = <&macaddr_appsblenv_ethaddr>; nvmem-cells = <&macaddr_appsblenv_ethaddr>;