aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnd Bergmann <arnd@arndb.de>2017-11-07 10:20:25 -0500
committerArnd Bergmann <arnd@arndb.de>2017-11-07 10:20:25 -0500
commitea7cdc066e479cb7d8a3551d206c7aa9c7f8b33a (patch)
tree27a31beb74235a9b6b45996b9e1633242414d8db
parent2cdc614b07bc284115f136c20a898a86e632cbf7 (diff)
parent16416084e06e1ebff51a9e7721a8cc4ccc186f28 (diff)
Merge tag 'sunxi-dt64-for-4.15-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt
Pull "Allwinner arm64 changes, take 2" from Maxime Ripard: Reintroduction of the EMAC bindings that were reverted in 4.13. * tag 'sunxi-dt64-for-4.15-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: add snps,dwmac-mdio compatible to emac/mdio arm64: dts: allwinner: A64: Restore EMAC changes
-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.dtsi21
5 files changed, 85 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 d06e34b5d192..806442d3e846 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;
@@ -71,6 +72,15 @@
71 status = "okay"; 72 status = "okay";
72}; 73};
73 74
75&emac {
76 pinctrl-names = "default";
77 pinctrl-0 = <&rmii_pins>;
78 phy-mode = "rmii";
79 phy-handle = <&ext_rmii_phy1>;
80 status = "okay";
81
82};
83
74&i2c1 { 84&i2c1 {
75 pinctrl-names = "default"; 85 pinctrl-names = "default";
76 pinctrl-0 = <&i2c1_pins>; 86 pinctrl-0 = <&i2c1_pins>;
@@ -81,6 +91,13 @@
81 bias-pull-up; 91 bias-pull-up;
82}; 92};
83 93
94&mdio {
95 ext_rmii_phy1: ethernet-phy@1 {
96 compatible = "ethernet-phy-ieee802.3-c22";
97 reg = <1>;
98 };
99};
100
84&mmc0 { 101&mmc0 {
85 pinctrl-names = "default"; 102 pinctrl-names = "default";
86 pinctrl-0 = <&mmc0_pins>; 103 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..d783d164b9c3 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -505,6 +505,27 @@
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 compatible = "snps,dwmac-mdio";
524 #address-cells = <1>;
525 #size-cells = <0>;
526 };
527 };
528
508 gic: interrupt-controller@1c81000 { 529 gic: interrupt-controller@1c81000 {
509 compatible = "arm,gic-400"; 530 compatible = "arm,gic-400";
510 reg = <0x01c81000 0x1000>, 531 reg = <0x01c81000 0x1000>,