aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorentin Labbe <clabbe.montjoie@gmail.com>2017-10-31 04:19:13 -0400
committerMaxime Ripard <maxime.ripard@free-electrons.com>2017-10-31 09:32:06 -0400
commit94f442886711c6c4f4383a1c5a6994a788ba05d8 (patch)
tree2c1d6127f5d6c8af2beab6e9164a93f09f4f4b26
parentd25d41827fee2b489518eee99ef156b005c0c01e (diff)
arm64: dts: allwinner: A64: Restore EMAC changes
The original dwmac-sun8i DT bindings have some issue on how to handle integrated PHY and was reverted in last RC of 4.13. But now we have a solution so we need to get back that was reverted. This patch restore arm64 DT about dwmac-sun8i for A64 This reverts commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes") Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts16
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts15
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts17
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts16
-rw-r--r--arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi20
5 files changed, 84 insertions, 0 deletions
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
index d347f52e27f6..45bdbfb96126 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-bananapi-m64.dts
@@ -51,6 +51,7 @@
51 compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64"; 51 compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64";
52 52
53 aliases { 53 aliases {
54 ethernet0 = &emac;
54 serial0 = &uart0; 55 serial0 = &uart0;
55 serial1 = &uart1; 56 serial1 = &uart1;
56 }; 57 };
@@ -69,6 +70,14 @@
69 status = "okay"; 70 status = "okay";
70}; 71};
71 72
73&emac {
74 pinctrl-names = "default";
75 pinctrl-0 = <&rgmii_pins>;
76 phy-mode = "rgmii";
77 phy-handle = <&ext_rgmii_phy>;
78 status = "okay";
79};
80
72&i2c1 { 81&i2c1 {
73 pinctrl-names = "default"; 82 pinctrl-names = "default";
74 pinctrl-0 = <&i2c1_pins>; 83 pinctrl-0 = <&i2c1_pins>;
@@ -79,6 +88,13 @@
79 bias-pull-up; 88 bias-pull-up;
80}; 89};
81 90
91&mdio {
92 ext_rgmii_phy: ethernet-phy@1 {
93 compatible = "ethernet-phy-ieee802.3-c22";
94 reg = <1>;
95 };
96};
97
82&mmc0 { 98&mmc0 {
83 pinctrl-names = "default"; 99 pinctrl-names = "default";
84 pinctrl-0 = <&mmc0_pins>; 100 pinctrl-0 = <&mmc0_pins>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
index f82ccf332c0f..24f1aac366d6 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64-plus.dts
@@ -48,3 +48,18 @@
48 48
49 /* TODO: Camera, touchscreen, etc. */ 49 /* TODO: Camera, touchscreen, etc. */
50}; 50};
51
52&emac {
53 pinctrl-names = "default";
54 pinctrl-0 = <&rgmii_pins>;
55 phy-mode = "rgmii";
56 phy-handle = <&ext_rgmii_phy>;
57 status = "okay";
58};
59
60&mdio {
61 ext_rgmii_phy: ethernet-phy@1 {
62 compatible = "ethernet-phy-ieee802.3-c22";
63 reg = <1>;
64 };
65};
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
index caf8b6fbe5e3..6f209bb10a2f 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
@@ -51,6 +51,7 @@
51 compatible = "pine64,pine64", "allwinner,sun50i-a64"; 51 compatible = "pine64,pine64", "allwinner,sun50i-a64";
52 52
53 aliases { 53 aliases {
54 ethernet0 = &emac;
54 serial0 = &uart0; 55 serial0 = &uart0;
55 serial1 = &uart1; 56 serial1 = &uart1;
56 serial2 = &uart2; 57 serial2 = &uart2;
@@ -78,6 +79,15 @@
78 status = "okay"; 79 status = "okay";
79}; 80};
80 81
82&emac {
83 pinctrl-names = "default";
84 pinctrl-0 = <&rmii_pins>;
85 phy-mode = "rmii";
86 phy-handle = <&ext_rmii_phy1>;
87 status = "okay";
88
89};
90
81&i2c1 { 91&i2c1 {
82 pinctrl-names = "default"; 92 pinctrl-names = "default";
83 pinctrl-0 = <&i2c1_pins>; 93 pinctrl-0 = <&i2c1_pins>;
@@ -88,6 +98,13 @@
88 bias-pull-up; 98 bias-pull-up;
89}; 99};
90 100
101&mdio {
102 ext_rmii_phy1: ethernet-phy@1 {
103 compatible = "ethernet-phy-ieee802.3-c22";
104 reg = <1>;
105 };
106};
107
91&mmc0 { 108&mmc0 {
92 pinctrl-names = "default"; 109 pinctrl-names = "default";
93 pinctrl-0 = <&mmc0_pins>; 110 pinctrl-0 = <&mmc0_pins>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
index 17ccc12b58df..0eb2acedf8c3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-sopine-baseboard.dts
@@ -53,6 +53,7 @@
53 "allwinner,sun50i-a64"; 53 "allwinner,sun50i-a64";
54 54
55 aliases { 55 aliases {
56 ethernet0 = &emac;
56 serial0 = &uart0; 57 serial0 = &uart0;
57 }; 58 };
58 59
@@ -76,6 +77,21 @@
76 status = "okay"; 77 status = "okay";
77}; 78};
78 79
80&emac {
81 pinctrl-names = "default";
82 pinctrl-0 = <&rgmii_pins>;
83 phy-mode = "rgmii";
84 phy-handle = <&ext_rgmii_phy>;
85 status = "okay";
86};
87
88&mdio {
89 ext_rgmii_phy: ethernet-phy@1 {
90 compatible = "ethernet-phy-ieee802.3-c22";
91 reg = <1>;
92 };
93};
94
79&mmc2 { 95&mmc2 {
80 pinctrl-names = "default"; 96 pinctrl-names = "default";
81 pinctrl-0 = <&mmc2_pins>; 97 pinctrl-0 = <&mmc2_pins>;
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 062040ec2fed..ed24daeadb93 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -505,6 +505,26 @@
505 #size-cells = <0>; 505 #size-cells = <0>;
506 }; 506 };
507 507
508 emac: ethernet@1c30000 {
509 compatible = "allwinner,sun50i-a64-emac";
510 syscon = <&syscon>;
511 reg = <0x01c30000 0x10000>;
512 interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
513 interrupt-names = "macirq";
514 resets = <&ccu RST_BUS_EMAC>;
515 reset-names = "stmmaceth";
516 clocks = <&ccu CLK_BUS_EMAC>;
517 clock-names = "stmmaceth";
518 status = "disabled";
519 #address-cells = <1>;
520 #size-cells = <0>;
521
522 mdio: mdio {
523 #address-cells = <1>;
524 #size-cells = <0>;
525 };
526 };
527
508 gic: interrupt-controller@1c81000 { 528 gic: interrupt-controller@1c81000 {
509 compatible = "arm,gic-400"; 529 compatible = "arm,gic-400";
510 reg = <0x01c81000 0x1000>, 530 reg = <0x01c81000 0x1000>,