Skip to content

Commit

Permalink
dt-bindings: net: Add network-class schema for mac-address properties
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Janne Grunau authored and Johannes Berg committed Apr 23, 2025
1 parent 5632a50 commit dede364
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 24 deletions.
25 changes: 1 addition & 24 deletions Documentation/devicetree/bindings/net/ethernet-controller.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -262,6 +238,7 @@ dependencies:
pcs-handle-names: [pcs-handle]

allOf:
- $ref: /schemas/net/network-class.yaml#
- if:
properties:
phy-mode:
Expand Down
46 changes: 46 additions & 0 deletions Documentation/devicetree/bindings/net/network-class.yaml
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit dede364

Please sign in to comment.