dt-bindings: net: Add network-class schema for mac-address properties

The ethernet-controller schema specifies "mac-address" and
"local-mac-address" but other network devices such as wireless network
adapters use mac addresses as well.
The Devicetree Specification, Release v0.3 specifies in section 4.3.1
a generic "Network Class Binding" with "address-bits", "mac-address",
"local-mac-address" and "max-frame-size". This schema specifies the
"address-bits" property and moves the remaining properties over from
the ethernet-controller.yaml schema.

The "max-frame-size" property is used to describe the maximal payload
size despite its name. Keep the description from ethernet-controller
specifying this property as MTU. The contradictory description in the
Devicetree Specification is ignored.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: David Heidelberg <david@ixit.cz>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20250324-dt-bindings-network-class-v5-1-f5c3fe00e8f0@ixit.cz
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Janne Grunau
2025-03-24 18:41:38 +01:00
committed by Johannes Berg
parent 5632a5052b
commit dede364007
2 changed files with 47 additions and 24 deletions

View File

@@ -16,30 +16,6 @@ properties:
label:
description: Human readable label on a port of a box.
local-mac-address:
description:
Specifies the MAC address that was assigned to the network device.
$ref: /schemas/types.yaml#/definitions/uint8-array
minItems: 6
maxItems: 6
mac-address:
description:
Specifies the MAC address that was last used by the boot
program; should be used in cases where the MAC address assigned
to the device by the boot program is different from the
local-mac-address property.
$ref: /schemas/types.yaml#/definitions/uint8-array
minItems: 6
maxItems: 6
max-frame-size:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Maximum transfer unit (IEEE defined MTU), rather than the
maximum frame size (there\'s contradiction in the Devicetree
Specification).
max-speed:
$ref: /schemas/types.yaml#/definitions/uint32
description:
@@ -262,6 +238,7 @@ dependencies:
pcs-handle-names: [pcs-handle]
allOf:
- $ref: /schemas/net/network-class.yaml#
- if:
properties:
phy-mode:

View File

@@ -0,0 +1,46 @@
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/network-class.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Network Class Common Properties
maintainers:
- Devicetree Specification Mailing List <devicetree-spec@vger.kernel.org>
properties:
address-bits:
description:
Specifies number of address bits required to address the device
described by this node, e.g. size of the MAC address.
default: 48
const: 48
local-mac-address:
description:
Specifies MAC address that was assigned to the network device described by
the node containing this property.
$ref: /schemas/types.yaml#/definitions/uint8-array
minItems: 6
maxItems: 6
mac-address:
description:
Specifies the MAC address that was last used by the boot program. This
property should be used in cases where the MAC address assigned to the
device by the boot program is different from the
local-mac-address property. This property shall be used only if the value
differs from local-mac-address property value.
$ref: /schemas/types.yaml#/definitions/uint8-array
minItems: 6
maxItems: 6
max-frame-size:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Maximum transfer unit (IEEE defined MTU), rather than the
maximum frame size (there\'s contradiction in the Devicetree
Specification).
additionalProperties: true