[PATCH v2 net-next 0/3] net: stmmac: RK3566

David Wu david.wu at rock-chips.com
Fri Apr 23 10:24:51 BST 2021


Hi Ezequiel,

在 2021/4/22 上午4:34, Ezequiel Garcia 写道:
> Now that RK3568 SoC devicetree upstreaming is happening [1],
> here's another round for the RK3566 dwmac. There wasn't any clear
> consensus on how to implement the two interfaces present
> on RK3568, so I decided to drop that and just submit RK3566 for now.
> 
> This has been tested on a Pine64 RK3566 Quartz64 Model B board,
> DHCP and iperf are looking good.
> 
> For all the people testing, here's Quartz 64 Model B device tree
> snippet:
> 
>          gmac1: ethernet at fe010000 {
>                  compatible = "rockchip,rk3566-gmac", "snps,dwmac-4.20a";

It is better to use "rockchip,rk3568-gmac" here, "rockchip,rk3566-gmac" 
is not compatible, 3568 has two gmacs, which are compatible with 3566.

If there is no better way, using bus_id from alias is good, it is a 
fixed id, and U-Boot also use the id to write MAC address into kernel DTB.

plat->bus_id = of_alias_get_id(np, "ethernet");

>                  reg = <0x0 0xfe010000 0x0 0x10000>;
>                  interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
>                               <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
>                  interrupt-names = "macirq", "eth_wake_irq";
>                  rockchip,grf = <&grf>;
>                  clocks = <&cru SCLK_GMAC1>, <&cru SCLK_GMAC1_RX_TX>,
>                           <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_MAC1_REFOUT>,
>                           <&cru ACLK_GMAC1>, <&cru PCLK_GMAC1>,
>                           <&cru SCLK_GMAC1_RX_TX>, <&cru CLK_GMAC1_PTP_REF>;
>                  clock-names = "stmmaceth", "mac_clk_rx",
>                                "mac_clk_tx", "clk_mac_refout",
>                                "aclk_mac", "pclk_mac",
>                                "clk_mac_speed", "ptp_ref";
>                  resets = <&cru SRST_A_GMAC1>;
>                  reset-names = "stmmaceth";
> 
>                  snps,mixed-burst;
>                  snps,tso;
> 
>                  snps,axi-config = <&gmac1_stmmac_axi_setup>;
>                  snps,mtl-rx-config = <&gmac1_mtl_rx_setup>;
>                  snps,mtl-tx-config = <&gmac1_mtl_tx_setup>;
>                  status = "disabled";
> 
>                  mdio1: mdio {
>                          compatible = "snps,dwmac-mdio";
>                          #address-cells = <0x1>;
>                          #size-cells = <0x0>;
>                  };
> 
>                  gmac1_stmmac_axi_setup: stmmac-axi-config {
>                          snps,wr_osr_lmt = <4>;
>                          snps,rd_osr_lmt = <8>;
>                          snps,blen = <0 0 0 0 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 {};
>                  };
>          };
> 
> While here, I'm adding a small patch from David Wu, for some
> sanity checks for dwmac-rockchip-specific non-NULL ops.
> 
> Thanks!
> 
> [1] http://lore.kernel.org/r/20210421065921.23917-1-cl@rock-chips.com
> 
> David Wu (2):
>    net: stmmac: dwmac-rk: Check platform-specific ops
>    net: stmmac: Add RK3566 SoC support
> 
> Ezequiel Garcia (1):
>    net: stmmac: Don't set has_gmac if has_gmac4 is set
> 
>   .../bindings/net/rockchip-dwmac.txt           |   1 +
>   .../net/ethernet/stmicro/stmmac/dwmac-rk.c    | 126 +++++++++++++++++-
>   2 files changed, 124 insertions(+), 3 deletions(-)
> 





More information about the Linux-rockchip mailing list