Spracherkennung für: .yaml vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]
# SPDX-License-Identifier: (GPL-
2.
0 OR BSD-
2-Clause)
# Copyright
2019 BayLibre, SAS
%YAML
1.
2
---
$id:
http://devicetree.org/schemas/net/stm32-dwmac.yaml#
$schema:
http://devicetree.org/meta-schemas/core.yaml#
title: STMicroelectronics STM32 / MCU DWMAC glue layer controller
maintainers:
- Alexandre Torgue <alexandre.torgue@foss.st.com>
- Christophe Roullier <christophe.roullier@foss.st.com>
description:
This file documents platform glue layer for stmmac.
# We need a select here so we don't match all nodes with 'snps,dwmac'
select:
properties:
compatible:
contains:
enum:
- st,stm32-dwmac
- st,stm32mp1-dwmac
- st,stm32mp13-dwmac
- st,stm32mp25-dwmac
required:
- compatible
properties:
compatible:
oneOf:
- items:
- enum:
- st,stm32mp25-dwmac
- const: snps,dwmac-
5.
20
- items:
- enum:
- st,stm32mp1-dwmac
- st,stm32mp13-dwmac
- const: snps,dwmac-
4.
20a
- items:
- enum:
- st,stm32-dwmac
- const: snps,dwmac-
4.
10a
- items:
- enum:
- st,stm32-dwmac
- const: snps,dwmac-
3.
50a
reg: true
reg-names:
items:
- const: stmmaceth
interrupts:
minItems:
1
maxItems:
2
interrupt-names:
minItems:
1
items:
- const: macirq
- const: eth_wake_irq
clocks:
minItems:
3
items:
- description: GMAC main clock
- description: MAC TX clock
- description: MAC RX clock
- description: For MPU family, used for power mode
- description: For MPU family, used for PHY without quartz
- description: PTP clock
clock-names:
minItems:
3
maxItems:
6
contains:
enum:
- stmmaceth
- mac-clk-tx
- mac-clk-rx
- ethstp
- eth-ck
- ptp_ref
st,syscon:
$ref: /schemas/types.yaml#/definitions/phandle-array
items:
- minItems:
2
items:
- description: phandle to the syscon node which encompases the glue register
- description: offset of the control register
- description: field to set mask in register
description:
Should be phandle/offset pair. The phandle to the syscon node which
encompases the glue register, the offset of the control register and
the mask to set bitfield in control register
st,ext-phyclk:
description:
set this property in RMII mode when you have PHY without crystal
50MHz and want to
select RCC clock instead of ETH_REF_CLK. OR in RGMII mode when you want to select
RCC clock instead of ETH_CLK125.
type: boolean
st,eth-clk-sel:
description:
set this property in RGMII PHY when you want to select RCC clock instead of ETH_CLK125.
type: boolean
st,eth-ref-clk-sel:
description:
set this property in RMII mode when you have PHY without crystal
50MHz and want to
select RCC clock instead of ETH_REF_CLK.
type: boolean
access-controllers:
minItems:
1
maxItems:
2
required:
- compatible
- clocks
- clock-names
- st,syscon
unevaluatedProperties: false
allOf:
- $ref: snps,dwmac.yaml#
- if:
properties:
compatible:
contains:
enum:
- st,stm32-dwmac
- st,stm32mp1-dwmac
- st,stm32mp25-dwmac
then:
properties:
st,syscon:
items:
minItems:
2
maxItems:
2
- if:
properties:
compatible:
contains:
enum:
- st,stm32mp13-dwmac
then:
properties:
st,syscon:
items:
minItems:
3
maxItems:
3
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/stm32mp1-clks.h>
//Example
1
ethernet0: ethernet@
5800a000 {
compatible = "st,stm32mp1-dwmac", "snps,dwmac-
4.
20a";
reg = <
0x5800a000
0x2000>;
reg-names = "stmmaceth";
interrupts = <GIC_SPI
61 IRQ_TYPE_LEVEL_HIGH>;
interrupt-names = "macirq";
clock-names = "stmmaceth",
"mac-clk-tx",
"mac-clk-rx",
"ethstp",
"eth-ck";
clocks = <&rcc ETHMAC>,
<&rcc ETHTX>,
<&rcc ETHRX>,
<&rcc ETHSTP>,
<&rcc ETHCK_K>;
st,syscon = <&syscfg
0x4>;
snps,pbl = <
2>;
snps,axi-config = <&stmmac_axi_config_0>;
snps,tso;
phy-mode = "rgmii";
};
- |
//Example
2 (MCU example)
ethernet1: ethernet@
40028000 {
compatible = "st,stm32-dwmac", "snps,dwmac-
3.
50a";
reg = <
0x40028000
0x8000>;
reg-names = "stmmaceth";
interrupts = <
0 61 0>, <
0 62 0>;
interrupt-names = "macirq", "eth_wake_irq";
clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
clocks = <&rcc
0 25>, <&rcc
0 26>, <&rcc
0 27>;
st,syscon = <&syscfg
0x4>;
snps,pbl = <
8>;
snps,mixed-burst;
phy-mode = "mii";
};
- |
//Example
3
ethernet2: ethernet@
40027000 {
compatible = "st,stm32-dwmac", "snps,dwmac-
4.
10a";
reg = <
0x40028000
0x8000>;
reg-names = "stmmaceth";
interrupts = <
61>;
interrupt-names = "macirq";
clock-names = "stmmaceth", "mac-clk-tx", "mac-clk-rx";
clocks = <&rcc
62>, <&rcc
61>, <&rcc
60>;
st,syscon = <&syscfg
0x4>;
snps,pbl = <
8>;
phy-mode = "mii";
};