diff options
author | Arnd Bergmann <arnd@arndb.de> | 2017-11-07 10:20:25 -0500 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2017-11-07 10:20:25 -0500 |
commit | ea7cdc066e479cb7d8a3551d206c7aa9c7f8b33a (patch) | |
tree | 27a31beb74235a9b6b45996b9e1633242414d8db | |
parent | 2cdc614b07bc284115f136c20a898a86e632cbf7 (diff) | |
parent | 16416084e06e1ebff51a9e7721a8cc4ccc186f28 (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
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>, |