68 lines
2 KiB
Diff
68 lines
2 KiB
Diff
|
From 0eba511a3cac29d6338b22b5b727f40cf8d163df Mon Sep 17 00:00:00 2001
|
||
|
From: Corentin Labbe <clabbe.montjoie@gmail.com>
|
||
|
Date: Wed, 31 May 2017 09:18:38 +0200
|
||
|
Subject: arm: sun8i: sunxi-h3-h5: add dwmac-sun8i ethernet driver
|
||
|
|
||
|
The dwmac-sun8i is an ethernet MAC hardware that support 10/100/1000
|
||
|
speed.
|
||
|
|
||
|
This patch enable the dwmac-sun8i on Allwinner H3/H5 SoC Device-tree.
|
||
|
SoC H3/H5 have an internal PHY, so optionals syscon and ephy are set.
|
||
|
|
||
|
Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com>
|
||
|
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
|
||
|
---
|
||
|
arch/arm/boot/dts/sunxi-h3-h5.dtsi | 34 ++++++++++++++++++++++++++++++++++
|
||
|
1 file changed, 34 insertions(+)
|
||
|
|
||
|
--- a/arch/arm/boot/dts/sun8i-h3.dtsi
|
||
|
+++ b/arch/arm/boot/dts/sun8i-h3.dtsi
|
||
|
@@ -333,6 +333,14 @@
|
||
|
interrupt-controller;
|
||
|
#interrupt-cells = <3>;
|
||
|
|
||
|
+ emac_rgmii_pins: emac0 {
|
||
|
+ pins = "PD0", "PD1", "PD2", "PD3", "PD4",
|
||
|
+ "PD5", "PD7", "PD8", "PD9", "PD10",
|
||
|
+ "PD12", "PD13", "PD15", "PD16", "PD17";
|
||
|
+ function = "emac";
|
||
|
+ drive-strength = <40>;
|
||
|
+ };
|
||
|
+
|
||
|
i2c0_pins: i2c0 {
|
||
|
allwinner,pins = "PA11", "PA12";
|
||
|
allwinner,function = "i2c0";
|
||
|
@@ -431,6 +439,32 @@
|
||
|
clocks = <&osc24M>;
|
||
|
};
|
||
|
|
||
|
+ emac: ethernet@1c30000 {
|
||
|
+ compatible = "allwinner,sun8i-h3-emac";
|
||
|
+ syscon = <&syscon>;
|
||
|
+ reg = <0x01c30000 0x104>;
|
||
|
+ 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";
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ status = "disabled";
|
||
|
+
|
||
|
+ mdio: mdio {
|
||
|
+ #address-cells = <1>;
|
||
|
+ #size-cells = <0>;
|
||
|
+ int_mii_phy: ethernet-phy@1 {
|
||
|
+ compatible = "ethernet-phy-ieee802.3-c22";
|
||
|
+ reg = <1>;
|
||
|
+ clocks = <&ccu CLK_BUS_EPHY>;
|
||
|
+ resets = <&ccu RST_BUS_EPHY>;
|
||
|
+ };
|
||
|
+ };
|
||
|
+ };
|
||
|
+
|
||
|
wdt0: watchdog@01c20ca0 {
|
||
|
compatible = "allwinner,sun6i-a31-wdt";
|
||
|
reg = <0x01c20ca0 0x20>;
|