mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/
synced 2026-04-18 06:33:43 -04:00
The PTP clock for the Tegra234 MGBE device is incorrectly named
'ptp-ref' and should be 'ptp_ref'. This is causing the following
warning to be observed on Tegra234 platforms that use this device:
ERR KERN tegra-mgbe 6800000.ethernet eth0: Invalid PTP clock rate
WARNING KERN tegra-mgbe 6800000.ethernet eth0: PTP init failed
Although this constitutes an ABI breakage in the binding for this
device, PTP support has clearly never worked and so fix this now
so we can correct the device-tree for this device. Note that the
MGBE driver still supports the legacy 'ptp-ref' clock name and so
older/existing device-trees will still work, but given that this
is not the correct name, there is no point to advertise this in the
binding.
Fixes: 189c2e5c76 ("dt-bindings: net: Add Tegra234 MGBE")
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260401102941.17466-3-jonathanh@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
163 lines
3.9 KiB
YAML
163 lines
3.9 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/net/nvidia,tegra234-mgbe.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Tegra234 MGBE Multi-Gigabit Ethernet Controller
|
|
|
|
maintainers:
|
|
- Thierry Reding <treding@nvidia.com>
|
|
- Jon Hunter <jonathanh@nvidia.com>
|
|
|
|
properties:
|
|
compatible:
|
|
const: nvidia,tegra234-mgbe
|
|
|
|
reg:
|
|
maxItems: 3
|
|
|
|
reg-names:
|
|
items:
|
|
- const: hypervisor
|
|
- const: mac
|
|
- const: xpcs
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
maxItems: 3
|
|
|
|
interrupt-names:
|
|
minItems: 1
|
|
items:
|
|
- const: common
|
|
- const: macsec-ns
|
|
- const: macsec
|
|
|
|
clocks:
|
|
maxItems: 12
|
|
|
|
clock-names:
|
|
items:
|
|
- const: mgbe
|
|
- const: mac
|
|
- const: mac-divider
|
|
- const: ptp_ref
|
|
- const: rx-input-m
|
|
- const: rx-input
|
|
- const: tx
|
|
- const: eee-pcs
|
|
- const: rx-pcs-input
|
|
- const: rx-pcs-m
|
|
- const: rx-pcs
|
|
- const: tx-pcs
|
|
|
|
resets:
|
|
maxItems: 2
|
|
|
|
reset-names:
|
|
items:
|
|
- const: mac
|
|
- const: pcs
|
|
|
|
interconnects:
|
|
items:
|
|
- description: memory read client
|
|
- description: memory write client
|
|
|
|
interconnect-names:
|
|
items:
|
|
- const: dma-mem
|
|
- const: write
|
|
|
|
iommus:
|
|
maxItems: 1
|
|
|
|
power-domains:
|
|
maxItems: 1
|
|
|
|
phy-handle: true
|
|
|
|
phy-mode:
|
|
contains:
|
|
enum:
|
|
- usxgmii
|
|
- 10gbase-kr
|
|
|
|
mdio:
|
|
$ref: mdio.yaml#
|
|
unevaluatedProperties: false
|
|
description:
|
|
Optional node for embedded MDIO controller.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- interrupt-names
|
|
- clocks
|
|
- clock-names
|
|
- resets
|
|
- reset-names
|
|
- power-domains
|
|
- phy-handle
|
|
- phy-mode
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/tegra234-clock.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/memory/tegra234-mc.h>
|
|
#include <dt-bindings/power/tegra234-powergate.h>
|
|
#include <dt-bindings/reset/tegra234-reset.h>
|
|
|
|
ethernet@6800000 {
|
|
compatible = "nvidia,tegra234-mgbe";
|
|
reg = <0x06800000 0x10000>,
|
|
<0x06810000 0x10000>,
|
|
<0x068a0000 0x10000>;
|
|
reg-names = "hypervisor", "mac", "xpcs";
|
|
interrupts = <GIC_SPI 384 IRQ_TYPE_LEVEL_HIGH>;
|
|
interrupt-names = "common";
|
|
clocks = <&bpmp TEGRA234_CLK_MGBE0_APP>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_MAC>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_MAC_DIVIDER>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_PTP_REF>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_RX_INPUT_M>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_RX_INPUT>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_TX>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_EEE_PCS>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_RX_PCS_INPUT>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_RX_PCS_M>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_RX_PCS>,
|
|
<&bpmp TEGRA234_CLK_MGBE0_TX_PCS>;
|
|
clock-names = "mgbe", "mac", "mac-divider", "ptp_ref", "rx-input-m",
|
|
"rx-input", "tx", "eee-pcs", "rx-pcs-input", "rx-pcs-m",
|
|
"rx-pcs", "tx-pcs";
|
|
resets = <&bpmp TEGRA234_RESET_MGBE0_MAC>,
|
|
<&bpmp TEGRA234_RESET_MGBE0_PCS>;
|
|
reset-names = "mac", "pcs";
|
|
interconnects = <&mc TEGRA234_MEMORY_CLIENT_MGBEARD &emc>,
|
|
<&mc TEGRA234_MEMORY_CLIENT_MGBEAWR &emc>;
|
|
interconnect-names = "dma-mem", "write";
|
|
iommus = <&smmu_niso0 TEGRA234_SID_MGBE>;
|
|
power-domains = <&bpmp TEGRA234_POWER_DOMAIN_MGBEA>;
|
|
|
|
phy-handle = <&mgbe0_phy>;
|
|
phy-mode = "usxgmii";
|
|
|
|
mdio {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
mgbe0_phy: phy@0 {
|
|
compatible = "ethernet-phy-ieee802.3-c45";
|
|
reg = <0x0>;
|
|
|
|
#phy-cells = <0>;
|
|
};
|
|
};
|
|
};
|