mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

In Aspeed AST2600 design, the MAC internal delay on MAC register cannot fully reset the RMII interfaces, it may cause the RMII incompletely. Therefore, we need to add resets property to do SoC-level reset line to reset the whole MAC function that includes ftgmac, RGMII and RMII. Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Link: https://patch.msgid.link/20250709070809.2560688-2-jacky_chou@aspeedtech.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
121 lines
2.4 KiB
YAML
121 lines
2.4 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/faraday,ftgmac100.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Faraday Technology FTGMAC100 gigabit ethernet controller
|
|
|
|
maintainers:
|
|
- Po-Yu Chuang <ratbert@faraday-tech.com>
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: faraday,ftgmac100
|
|
- items:
|
|
- enum:
|
|
- aspeed,ast2400-mac
|
|
- aspeed,ast2500-mac
|
|
- aspeed,ast2600-mac
|
|
- const: faraday,ftgmac100
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
items:
|
|
- description: MAC IP clock
|
|
- description: RMII RCLK gate for AST2500/2600
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
clock-names:
|
|
minItems: 1
|
|
items:
|
|
- const: MACCLK
|
|
- const: RCLK
|
|
|
|
phy-mode:
|
|
enum:
|
|
- rgmii
|
|
- rgmii-id
|
|
- rgmii-rxid
|
|
- rgmii-txid
|
|
- rmii
|
|
|
|
phy-handle: true
|
|
|
|
use-ncsi:
|
|
description:
|
|
Use the NC-SI stack instead of an MDIO PHY. Currently assumes
|
|
rmii (100bT) but kept as a separate property in case NC-SI grows support
|
|
for a gigabit link.
|
|
type: boolean
|
|
|
|
no-hw-checksum:
|
|
description:
|
|
Used to disable HW checksum support. Here for backward
|
|
compatibility as the driver now should have correct defaults based on
|
|
the SoC.
|
|
type: boolean
|
|
deprecated: true
|
|
|
|
mdio:
|
|
$ref: /schemas/net/mdio.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
|
|
allOf:
|
|
- $ref: ethernet-controller.yaml#
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- aspeed,ast2600-mac
|
|
then:
|
|
properties:
|
|
resets: true
|
|
else:
|
|
properties:
|
|
resets: false
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
ethernet@1e660000 {
|
|
compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
|
|
reg = <0x1e660000 0x180>;
|
|
interrupts = <2>;
|
|
use-ncsi;
|
|
};
|
|
|
|
ethernet@1e680000 {
|
|
compatible = "aspeed,ast2500-mac", "faraday,ftgmac100";
|
|
reg = <0x1e680000 0x180>;
|
|
interrupts = <2>;
|
|
|
|
phy-handle = <&phy>;
|
|
phy-mode = "rgmii";
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
phy: ethernet-phy@1 {
|
|
compatible = "ethernet-phy-ieee802.3-c22";
|
|
reg = <1>;
|
|
};
|
|
};
|
|
};
|