summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDylan Hung <dylan_hung@aspeedtech.com>2021-12-09 10:12:26 +0800
committerTom Rini <trini@konsulko.com>2022-01-18 12:48:17 -0500
commitabc75897caee34f150a710109107236e76c5d8a3 (patch)
tree7d47da4ee87ad4d19196232652887c378482c97e
parentac4fda7bc2764af45dd9269c3c8d3375000d330e (diff)
ARM: dts: ast2600: Add MDIO devices
There are 4 MDIO bus controllers in AST2600 SOC. Each of them can connect to one or more PHY chips and is flexible to work with the 4 MAC devices in AST2600. On AST2600 EVB, MDIO 0,1,2,3 connect to the PHY chips used by MAC 0,1,2,3 respectively. Signed-off-by: Dylan Hung <dylan_hung@aspeedtech.com> Reviewed-by: Ramon Fried <rfried.dev@gmail.com>
-rw-r--r--arch/arm/dts/ast2600-evb.dts68
-rw-r--r--arch/arm/dts/ast2600.dtsi46
2 files changed, 109 insertions, 5 deletions
diff --git a/arch/arm/dts/ast2600-evb.dts b/arch/arm/dts/ast2600-evb.dts
index 05362d19bd..c17988ec3c 100644
--- a/arch/arm/dts/ast2600-evb.dts
+++ b/arch/arm/dts/ast2600-evb.dts
@@ -163,6 +163,74 @@
pinctrl-0 = <&pinctrl_i2c9_default>;
};
+&mdio0 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ethphy0: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&mdio1 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ethphy1: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&mdio2 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ethphy2: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&mdio3 {
+ status = "okay";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ ethphy3: ethernet-phy@0 {
+ reg = <0>;
+ };
+};
+
+&mac0 {
+ status = "okay";
+ phy-mode = "rgmii-rxid";
+ phy-handle = <&ethphy0>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii1_default>;
+};
+
+&mac1 {
+ status = "okay";
+ phy-mode = "rgmii-rxid";
+ phy-handle = <&ethphy1>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii2_default>;
+};
+
+&mac2 {
+ status = "okay";
+ phy-mode = "rgmii";
+ phy-handle = <&ethphy2>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii3_default>;
+};
+
+&mac3 {
+ status = "okay";
+ phy-mode = "rgmii";
+ phy-handle = <&ethphy3>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_rgmii4_default>;
+};
+
&scu {
mac0-clk-delay = <0x1d 0x1c
0x10 0x17
diff --git a/arch/arm/dts/ast2600.dtsi b/arch/arm/dts/ast2600.dtsi
index 31905fd208..98840ce7b0 100644
--- a/arch/arm/dts/ast2600.dtsi
+++ b/arch/arm/dts/ast2600.dtsi
@@ -210,11 +210,47 @@
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
};
- mdio: ethernet@1e650000 {
- compatible = "aspeed,aspeed-mdio";
- reg = <0x1e650000 0x40>;
- resets = <&rst ASPEED_RESET_MII>;
- status = "disabled";
+ mdio: bus@1e650000 {
+ compatible = "simple-bus";
+ #address-cells = <1>;
+ #size-cells = <1>;
+ ranges = <0 0x1e650000 0x100>;
+
+ mdio0: mdio@0 {
+ compatible = "aspeed,ast2600-mdio";
+ reg = <0 0x8>;
+ resets = <&rst ASPEED_RESET_MII>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mdio1_default>;
+ status = "disabled";
+ };
+
+ mdio1: mdio@8 {
+ compatible = "aspeed,ast2600-mdio";
+ reg = <0x8 0x8>;
+ resets = <&rst ASPEED_RESET_MII>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mdio2_default>;
+ status = "disabled";
+ };
+
+ mdio2: mdio@10 {
+ compatible = "aspeed,ast2600-mdio";
+ reg = <0x10 0x8>;
+ resets = <&rst ASPEED_RESET_MII>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mdio3_default>;
+ status = "disabled";
+ };
+
+ mdio3: mdio@18 {
+ compatible = "aspeed,ast2600-mdio";
+ reg = <0x18 0x8>;
+ resets = <&rst ASPEED_RESET_MII>;
+ pinctrl-names = "default";
+ pinctrl-0 = <&pinctrl_mdio4_default>;
+ status = "disabled";
+ };
};
mac0: ftgmac@1e660000 {