-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'add-ethernet-driver-for-starfive-jh7110-soc'
Samin Guo says: ==================== Add Ethernet driver for StarFive JH7110 SoC This series adds ethernet support for the StarFive JH7110 RISC-V SoC, which includes a dwmac-5.20 MAC driver (from Synopsys DesignWare). This series has been tested and works fine on VisionFive-2 v1.2A and v1.3B SBC boards. For more information and support, you can visit RVspace wiki[1]. You can simply review or test the patches at the link [2]. This patchset should be applied after the patchset [3] [4]. [1]: https://wiki.rvspace.org/ [2]: https://github.com/saminGuo/linux/tree/vf2-6.3rc4-gmac-net-next [3]: https://patchwork.kernel.org/project/linux-riscv/cover/20230401111934.130844-1-hal.feng@starfivetech.com [4]: https://patchwork.kernel.org/project/linux-riscv/cover/20230315055813.94740-1-william.qiu@starfivetech.com ==================== Link: https://lore.kernel.org/r/20230417100251.11871-1-samin.guo@starfivetech.com Signed-off-by: Paolo Abeni <pabeni@redhat.com>
- Loading branch information
Showing
7 changed files
with
350 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
144 changes: 144 additions & 0 deletions
144
Documentation/devicetree/bindings/net/starfive,jh7110-dwmac.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) | ||
# Copyright (C) 2022 StarFive Technology Co., Ltd. | ||
%YAML 1.2 | ||
--- | ||
$id: http://devicetree.org/schemas/net/starfive,jh7110-dwmac.yaml# | ||
$schema: http://devicetree.org/meta-schemas/core.yaml# | ||
|
||
title: StarFive JH7110 DWMAC glue layer | ||
|
||
maintainers: | ||
- Emil Renner Berthing <kernel@esmil.dk> | ||
- Samin Guo <samin.guo@starfivetech.com> | ||
|
||
select: | ||
properties: | ||
compatible: | ||
contains: | ||
enum: | ||
- starfive,jh7110-dwmac | ||
required: | ||
- compatible | ||
|
||
properties: | ||
compatible: | ||
items: | ||
- enum: | ||
- starfive,jh7110-dwmac | ||
- const: snps,dwmac-5.20 | ||
|
||
reg: | ||
maxItems: 1 | ||
|
||
clocks: | ||
items: | ||
- description: GMAC main clock | ||
- description: GMAC AHB clock | ||
- description: PTP clock | ||
- description: TX clock | ||
- description: GTX clock | ||
|
||
clock-names: | ||
items: | ||
- const: stmmaceth | ||
- const: pclk | ||
- const: ptp_ref | ||
- const: tx | ||
- const: gtx | ||
|
||
interrupts: | ||
minItems: 3 | ||
maxItems: 3 | ||
|
||
interrupt-names: | ||
minItems: 3 | ||
maxItems: 3 | ||
|
||
resets: | ||
items: | ||
- description: MAC Reset signal. | ||
- description: AHB Reset signal. | ||
|
||
reset-names: | ||
items: | ||
- const: stmmaceth | ||
- const: ahb | ||
|
||
starfive,tx-use-rgmii-clk: | ||
description: | ||
Tx clock is provided by external rgmii clock. | ||
type: boolean | ||
|
||
starfive,syscon: | ||
$ref: /schemas/types.yaml#/definitions/phandle-array | ||
items: | ||
- items: | ||
- description: phandle to syscon that configures phy mode | ||
- description: Offset of phy mode selection | ||
- description: Shift of phy mode selection | ||
description: | ||
A phandle to syscon with two arguments that configure phy mode. | ||
The argument one is the offset of phy mode selection, the | ||
argument two is the shift of phy mode selection. | ||
|
||
required: | ||
- compatible | ||
- reg | ||
- clocks | ||
- clock-names | ||
- interrupts | ||
- interrupt-names | ||
- resets | ||
- reset-names | ||
|
||
allOf: | ||
- $ref: snps,dwmac.yaml# | ||
|
||
unevaluatedProperties: false | ||
|
||
examples: | ||
- | | ||
ethernet@16030000 { | ||
compatible = "starfive,jh7110-dwmac", "snps,dwmac-5.20"; | ||
reg = <0x16030000 0x10000>; | ||
clocks = <&clk 3>, <&clk 2>, <&clk 109>, | ||
<&clk 6>, <&clk 111>; | ||
clock-names = "stmmaceth", "pclk", "ptp_ref", | ||
"tx", "gtx"; | ||
resets = <&rst 1>, <&rst 2>; | ||
reset-names = "stmmaceth", "ahb"; | ||
interrupts = <7>, <6>, <5>; | ||
interrupt-names = "macirq", "eth_wake_irq", "eth_lpi"; | ||
phy-mode = "rgmii-id"; | ||
snps,multicast-filter-bins = <64>; | ||
snps,perfect-filter-entries = <8>; | ||
rx-fifo-depth = <2048>; | ||
tx-fifo-depth = <2048>; | ||
snps,fixed-burst; | ||
snps,no-pbl-x8; | ||
snps,tso; | ||
snps,force_thresh_dma_mode; | ||
snps,axi-config = <&stmmac_axi_setup>; | ||
snps,en-tx-lpi-clockgating; | ||
snps,txpbl = <16>; | ||
snps,rxpbl = <16>; | ||
starfive,syscon = <&aon_syscon 0xc 0x12>; | ||
phy-handle = <&phy0>; | ||
mdio { | ||
#address-cells = <1>; | ||
#size-cells = <0>; | ||
compatible = "snps,dwmac-mdio"; | ||
phy0: ethernet-phy@0 { | ||
reg = <0>; | ||
}; | ||
}; | ||
stmmac_axi_setup: stmmac-axi-config { | ||
snps,lpi_en; | ||
snps,wr_osr_lmt = <4>; | ||
snps,rd_osr_lmt = <4>; | ||
snps,blen = <256 128 64 32 0 0 0>; | ||
}; | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.