Files
build/patch/kernel/archive/sunxi-dev-6.14/1151-arm64-dtsi-allwinner-add-gmac1-in-A523-dtsi.patch

100 lines
2.9 KiB
Diff

diff --speed-large-files --no-dereference --minimal -Naur linux-6.12.4/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi linux-6.12.4/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi
--- linux-6.12.4/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi 2024-12-17 16:00:39.127051177 +0100
+++ linux-6.12.4/arch/arm64/boot/dts/allwinner/sun55i-a523.dtsi 2024-12-18 12:33:17.756857967 +0100
@@ -7,6 +7,7 @@
#include <dt-bindings/clock/sun55i-a523-r-ccu.h>
#include <dt-bindings/reset/sun55i-a523-ccu.h>
#include <dt-bindings/reset/sun55i-a523-r-ccu.h>
+#include <dt-bindings/gpio/gpio.h>
/ {
interrupt-parent = <&gic>;
@@ -110,6 +112,28 @@
allwinner,pinmux = <2>;
function = "uart0";
};
+
+ /omit-if-no-ref/
+ gmac1_pins_default: gmac1@0 {
+ pins = "PJ0", "PJ1", "PJ2", "PJ3",
+ "PJ4", "PJ5", "PJ6", "PJ7",
+ "PJ8", "PJ9", "PJ10", "PJ11",
+ "PJ12","PJ13", "PJ14", "PJ15";
+ allwinner,pinmux = <5>;
+ function = "gmac1";
+ drive-strength = <40>;
+ bias-pull-up;
+ };
+
+ /omit-if-no-ref/
+ gmac1_pins_sleep: gmac1@1 {
+ pins = "PJ0", "PJ1", "PJ2", "PJ3",
+ "PJ4", "PJ5", "PJ6", "PJ7",
+ "PJ8", "PJ9", "PJ10", "PJ11",
+ "PJ12","PJ13", "PJ14", "PJ15";
+ allwinner,pinmux = <0>;
+ function = "gpio_in";
+ };
};
ccu: clock@2001000 {
@@ -380,5 +404,58 @@
clock-names = "bus", "hosc", "ahb";
#clock-cells = <1>;
};
+
+ gmac1: ethernet@4510000 {
+ compatible = "allwinner,sunxi-gmac-200", "snps,dwmac-4.20a";
+ reg = <0x04510000 0x10000>,
+ <0x03000034 0x4>;
+ interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "macirq";
+ clocks = <&ccu CLK_BUS_EMAC1>, <&ccu CLK_MBUS_EMAC1>, <&ccu CLK_EMAC1_25M>;
+ clock-names = "stmmaceth", "pclk", "phy25m";
+ resets = <&ccu RST_BUS_EMAC1>;
+ reset-names = "stmmaceth";
+ phy-handle = <&gmac1_phy0>;
+ //todo power-domains = <&pd1 A523_PCK_VO1>;
+ status = "disabled";
+
+ snps,fixed-burst;
+
+ snps,axi-config = <&gmac1_stmmac_axi_setup>;
+ snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
+ snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
+
+ gmac1_stmmac_axi_setup: stmmac-axi-config {
+ snps,wr_osr_lmt = <0xf>;
+ snps,rd_osr_lmt = <0xf>;
+ snps,blen = <256 128 64 32 16 8 4>;
+ };
+
+ gmac1_mtl_rx_setup: rx-queues-config {
+ snps,rx-queues-to-use = <1>;
+ queue0 {};
+ };
+
+ gmac1_mtl_tx_setup: tx_queues-config {
+ snps,tx-queues-to-use = <1>;
+ queue0 {};
+ };
+
+ mdio1: mdio1@1 {
+ compatible = "snps,dwmac-mdio";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ gmac1_phy0: ethernet-phy@1 {
+ compatible = "ethernet-phy-ieee802.3-c22";
+ reg = <0x1>;
+ max-speed = <1000>; /* Max speed capability */
+ reset-gpios = <&pio 9 27 GPIO_ACTIVE_LOW>; /* PJ27; 9 is PJ */
+ /* PHY datasheet rst time */
+ reset-assert-us = <10000>;
+ reset-deassert-us = <150000>;
+ };
+ };
+ };
};
};