123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- From 94f442886711c6c4f4383a1c5a6994a788ba05d8 Mon Sep 17 00:00:00 2001
- From: Corentin Labbe <clabbe.montjoie@gmail.com>
- Date: Tue, 31 Oct 2017 09:19:13 +0100
- Subject: [PATCH] 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>
- ---
- .../boot/dts/allwinner/sun50i-a64-bananapi-m64.dts | 16 ++++++++++++++++
- .../boot/dts/allwinner/sun50i-a64-pine64-plus.dts | 15 +++++++++++++++
- arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts | 17 +++++++++++++++++
- .../dts/allwinner/sun50i-a64-sopine-baseboard.dts | 16 ++++++++++++++++
- arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 20 ++++++++++++++++++++
- 5 files changed, 84 insertions(+)
- --- 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 @@
- compatible = "sinovoip,bananapi-m64", "allwinner,sun50i-a64";
-
- aliases {
- + ethernet0 = &emac;
- serial0 = &uart0;
- serial1 = &uart1;
- };
- @@ -69,6 +70,14 @@
- status = "okay";
- };
-
- +&emac {
- + pinctrl-names = "default";
- + pinctrl-0 = <&rgmii_pins>;
- + phy-mode = "rgmii";
- + phy-handle = <&ext_rgmii_phy>;
- + status = "okay";
- +};
- +
- &i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
- @@ -79,6 +88,13 @@
- bias-pull-up;
- };
-
- +&mdio {
- + ext_rgmii_phy: ethernet-phy@1 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <1>;
- + };
- +};
- +
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
- --- 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 @@
-
- /* TODO: Camera, touchscreen, etc. */
- };
- +
- +&emac {
- + pinctrl-names = "default";
- + pinctrl-0 = <&rgmii_pins>;
- + phy-mode = "rgmii";
- + phy-handle = <&ext_rgmii_phy>;
- + status = "okay";
- +};
- +
- +&mdio {
- + ext_rgmii_phy: ethernet-phy@1 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <1>;
- + };
- +};
- --- a/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
- +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64-pine64.dts
- @@ -51,6 +51,7 @@
- compatible = "pine64,pine64", "allwinner,sun50i-a64";
-
- aliases {
- + ethernet0 = &emac;
- serial0 = &uart0;
- serial1 = &uart1;
- serial2 = &uart2;
- @@ -71,6 +72,15 @@
- status = "okay";
- };
-
- +&emac {
- + pinctrl-names = "default";
- + pinctrl-0 = <&rmii_pins>;
- + phy-mode = "rmii";
- + phy-handle = <&ext_rmii_phy1>;
- + status = "okay";
- +
- +};
- +
- &i2c1 {
- pinctrl-names = "default";
- pinctrl-0 = <&i2c1_pins>;
- @@ -81,6 +91,13 @@
- bias-pull-up;
- };
-
- +&mdio {
- + ext_rmii_phy1: ethernet-phy@1 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <1>;
- + };
- +};
- +
- &mmc0 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc0_pins>;
- --- 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 @@
- "allwinner,sun50i-a64";
-
- aliases {
- + ethernet0 = &emac;
- serial0 = &uart0;
- };
-
- @@ -76,6 +77,21 @@
- status = "okay";
- };
-
- +&emac {
- + pinctrl-names = "default";
- + pinctrl-0 = <&rgmii_pins>;
- + phy-mode = "rgmii";
- + phy-handle = <&ext_rgmii_phy>;
- + status = "okay";
- +};
- +
- +&mdio {
- + ext_rgmii_phy: ethernet-phy@1 {
- + compatible = "ethernet-phy-ieee802.3-c22";
- + reg = <1>;
- + };
- +};
- +
- &mmc2 {
- pinctrl-names = "default";
- pinctrl-0 = <&mmc2_pins>;
- --- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
- +++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
- @@ -449,6 +449,26 @@
- #size-cells = <0>;
- };
-
- + emac: ethernet@1c30000 {
- + compatible = "allwinner,sun50i-a64-emac";
- + syscon = <&syscon>;
- + reg = <0x01c30000 0x10000>;
- + interrupts = <GIC_SPI 82 IRQ_TYPE_LEVEL_HIGH>;
- + interrupt-names = "macirq";
- + resets = <&ccu RST_BUS_EMAC>;
- + reset-names = "stmmaceth";
- + clocks = <&ccu CLK_BUS_EMAC>;
- + clock-names = "stmmaceth";
- + status = "disabled";
- + #address-cells = <1>;
- + #size-cells = <0>;
- +
- + mdio: mdio {
- + #address-cells = <1>;
- + #size-cells = <0>;
- + };
- + };
- +
- gic: interrupt-controller@1c81000 {
- compatible = "arm,gic-400";
- reg = <0x01c81000 0x1000>,
|