mirror of
https://github.com/torvalds/linux.git
synced 2025-08-15 14:11:42 +02:00
Networking changes for 6.17.
Core & protocols ---------------- - Wrap datapath globals into net_aligned_data, to avoid false sharing. - Preserve MSG_ZEROCOPY in forwarding (e.g. out of a container). - Add SO_INQ and SCM_INQ support to AF_UNIX. - Add SIOCINQ support to AF_VSOCK. - Add TCP_MAXSEG sockopt to MPTCP. - Add IPv6 force_forwarding sysctl to enable forwarding per interface. - Make TCP validation of whether packet fully fits in the receive window and the rcv_buf more strict. With increased use of HW aggregation a single "packet" can be multiple 100s of kB. - Add MSG_MORE flag to optimize large TCP transmissions via sockmap, improves latency up to 33% for sockmap users. - Convert TCP send queue handling from tasklet to BH workque. - Improve BPF iteration over TCP sockets to see each socket exactly once. - Remove obsolete and unused TCP RFC3517/RFC6675 loss recovery code. - Support enabling kernel threads for NAPI processing on per-NAPI instance basis rather than a whole device. Fully stop the kernel NAPI thread when threaded NAPI gets disabled. Previously thread would stick around until ifdown due to tricky synchronization. - Allow multicast routing to take effect on locally-generated packets. - Add output interface argument for End.X in segment routing. - MCTP: add support for gateway routing, improve bind() handling. - Don't require rtnl_lock when fetching an IPv6 neighbor over Netlink. - Add a new neighbor flag ("extern_valid"), which cedes refresh responsibilities to userspace. This is needed for EVPN multi-homing where a neighbor entry for a multi-homed host needs to be synced across all the VTEPs among which the host is multi-homed. - Support NUD_PERMANENT for proxy neighbor entries. - Add a new queuing discipline for IETF RFC9332 DualQ Coupled AQM. - Add sequence numbers to netconsole messages. Unregister netconsole's console when all net targets are removed. Code refactoring. Add a number of selftests. - Align IPSec inbound SA lookup to RFC 4301. Only SPI and protocol should be used for an inbound SA lookup. - Support inspecting ref_tracker state via DebugFS. - Don't force bonding advertisement frames tx to ~333 ms boundaries. Add broadcast_neighbor option to send ARP/ND on all bonded links. - Allow providing upcall pid for the 'execute' command in openvswitch. - Remove DCCP support from Netfilter's conntrack. - Disallow multiple packet duplications in the queuing layer. - Prevent use of deprecated iptables code on PREEMPT_RT. Driver API ---------- - Support RSS and hashing configuration over ethtool Netlink. - Add dedicated ethtool callbacks for getting and setting hashing fields. - Add support for power budget evaluation strategy in PSE / Power-over-Ethernet. Generate Netlink events for overcurrent etc. - Support DPLL phase offset monitoring across all device inputs. Support providing clock reference and SYNC over separate DPLL inputs. - Support traffic classes in devlink rate API for bandwidth management. - Remove rtnl_lock dependency from UDP tunnel port configuration. Device drivers -------------- - Add a new Broadcom driver for 800G Ethernet (bnge). - Add a standalone driver for Microchip ZL3073x DPLL. - Remove IBM's NETIUCV device driver. - Ethernet high-speed NICs: - Broadcom (bnxt): - support zero-copy Tx of DMABUF memory - take page size into account for page pool recycling rings - Intel (100G, ice, idpf): - idpf: XDP and AF_XDP support preparations - idpf: add flow steering - add link_down_events statistic - clean up the TSPLL code - preparations for live VM migration - nVidia/Mellanox: - support zero-copy Rx/Tx interfaces (DMABUF and io_uring) - optimize context memory usage for matchers - expose serial numbers in devlink info - support PCIe congestion metrics - Meta (fbnic): - add 25G, 50G, and 100G link modes to phylink - support dumping FW logs - Marvell/Cavium: - support for CN20K generation of the Octeon chips - Amazon: - add HW clock (without timestamping, just hypervisor time access) - Ethernet virtual: - VirtIO net: - support segmentation of UDP-tunnel-encapsulated packets - Google (gve): - support packet timestamping and clock synchronization - Microsoft vNIC: - add handler for device-originated servicing events - allow dynamic MSI-X vector allocation - support Tx bandwidth clamping - Ethernet NICs consumer, and embedded: - AMD: - amd-xgbe: hardware timestamping and PTP clock support - Broadcom integrated MACs (bcmgenet, bcmasp): - use napi_complete_done() return value to support NAPI polling - add support for re-starting auto-negotiation - Broadcom switches (b53): - support BCM5325 switches - add bcm63xx EPHY power control - Synopsys (stmmac): - lots of code refactoring and cleanups - TI: - icssg-prueth: read firmware-names from device tree - icssg: PRP offload support - Microchip: - lan78xx: convert to PHYLINK for improved PHY and MAC management - ksz: add KSZ8463 switch support - Intel: - support similar queue priority scheme in multi-queue and time-sensitive networking (taprio) - support packet pre-emption in both - RealTek (r8169): - enable EEE at 5Gbps on RTL8126 - Airoha: - add PPPoE offload support - MDIO bus controller for Airoha AN7583 - Ethernet PHYs: - support for the IPQ5018 internal GE PHY - micrel KSZ9477 switch-integrated PHYs: - add MDI/MDI-X control support - add RX error counters - add cable test support - add Signal Quality Indicator (SQI) reporting - dp83tg720: improve reset handling and reduce link recovery time - support bcm54811 (and its MII-Lite interface type) - air_en8811h: support resume/suspend - support PHY counters for QCA807x and QCA808x - support WoL for QCA807x - CAN drivers: - rcar_canfd: support for Transceiver Delay Compensation - kvaser: report FW versions via devlink dev info - WiFi: - extended regulatory info support (6 GHz) - add statistics and beacon monitor for Multi-Link Operation (MLO) - support S1G aggregation, improve S1G support - add Radio Measurement action fields - support per-radio RTS threshold - some work around how FIPS affects wifi, which was wrong (RC4 is used by TKIP, not only WEP) - improvements for unsolicited probe response handling - WiFi drivers: - RealTek (rtw88): - IBSS mode for SDIO devices - RealTek (rtw89): - BT coexistence for MLO/WiFi7 - concurrent station + P2P support - support for USB devices RTL8851BU/RTL8852BU - Intel (iwlwifi): - use embedded PNVM in (to be released) FW images to fix compatibility issues - many cleanups (unused FW APIs, PCIe code, WoWLAN) - some FIPS interoperability - MediaTek (mt76): - firmware recovery improvements - more MLO work - Qualcomm/Atheros (ath12k): - fix scan on multi-radio devices - more EHT/Wi-Fi 7 features - encapsulation/decapsulation offload - Broadcom (brcm80211): - support SDIO 43751 device - Bluetooth: - hci_event: add support for handling LE BIG Sync Lost event - ISO: add socket option to report packet seqnum via CMSG - ISO: support SCM_TIMESTAMPING for ISO TS - Bluetooth drivers: - intel_pcie: support Function Level Reset - nxpuart: add support for 4M baudrate - nxpuart: implement powerup sequence, reset, FW dump, and FW loading Signed-off-by: Jakub Kicinski <kuba@kernel.org> -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEE6jPA+I1ugmIBA4hXMUZtbf5SIrsFAmiFgLgACgkQMUZtbf5S IrvafxAAnQRwYBoIG+piCILx6z5pRvBGHkmEQ4AQgSCFuq2eO3ubwMFIqEybfma1 5+QFjUZAV3OgGgKRBS2KGWxtSzdiF+/JGV1VOIN67sX3Mm0a2QgjA4n5CgKL0FPr o6BEzjX5XwG1zvGcBNQ5BZ19xUUKjoZQgTtnea8sZ57Fsp5RtRgmYRqoewNvNk/n uImh0NFsDVb0UeOpSzC34VD9l1dJvLGdui4zJAjno/vpvmT1DkXjoK419J/r52SS X+5WgsfJ6DkjHqVN1tIhhK34yWqBOcwGFZJgEnWHMkFIl2FqRfFKMHyqtfLlVnLA mnIpSyz8Sq2AHtx0TlgZ3At/Ri8p5+yYJgHOXcDKyABa8y8Zf4wrycmr6cV9JLuL z54nLEVnJuvfDVDVJjsLYdJXyhMpZFq6+uAItdxKaw8Ugp/QqG4QtoRj+XIHz4ZW z6OohkCiCzTwEISFK+pSTxPS30eOxq43kCspcvuLiwCCStJBRkRb5GdZA4dm7LA+ 1Od4ADAkHjyrFtBqTyyC2scX8UJ33DlAIpAYyIeS6w9Cj9EXxtp1z33IAAAZ03MW jJwIaJuc8bK2fWKMmiG7ucIXjPo4t//KiWlpkwwqLhPbjZgfDAcxq1AC2TLoqHBL y4EOgKpHDCMAghSyiFIAn2JprGcEt8dp+11B0JRXIn4Pm/eYDH8= =lqbe -----END PGP SIGNATURE----- Merge tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next Pull networking updates from Jakub Kicinski: "Core & protocols: - Wrap datapath globals into net_aligned_data, to avoid false sharing - Preserve MSG_ZEROCOPY in forwarding (e.g. out of a container) - Add SO_INQ and SCM_INQ support to AF_UNIX - Add SIOCINQ support to AF_VSOCK - Add TCP_MAXSEG sockopt to MPTCP - Add IPv6 force_forwarding sysctl to enable forwarding per interface - Make TCP validation of whether packet fully fits in the receive window and the rcv_buf more strict. With increased use of HW aggregation a single "packet" can be multiple 100s of kB - Add MSG_MORE flag to optimize large TCP transmissions via sockmap, improves latency up to 33% for sockmap users - Convert TCP send queue handling from tasklet to BH workque - Improve BPF iteration over TCP sockets to see each socket exactly once - Remove obsolete and unused TCP RFC3517/RFC6675 loss recovery code - Support enabling kernel threads for NAPI processing on per-NAPI instance basis rather than a whole device. Fully stop the kernel NAPI thread when threaded NAPI gets disabled. Previously thread would stick around until ifdown due to tricky synchronization - Allow multicast routing to take effect on locally-generated packets - Add output interface argument for End.X in segment routing - MCTP: add support for gateway routing, improve bind() handling - Don't require rtnl_lock when fetching an IPv6 neighbor over Netlink - Add a new neighbor flag ("extern_valid"), which cedes refresh responsibilities to userspace. This is needed for EVPN multi-homing where a neighbor entry for a multi-homed host needs to be synced across all the VTEPs among which the host is multi-homed - Support NUD_PERMANENT for proxy neighbor entries - Add a new queuing discipline for IETF RFC9332 DualQ Coupled AQM - Add sequence numbers to netconsole messages. Unregister netconsole's console when all net targets are removed. Code refactoring. Add a number of selftests - Align IPSec inbound SA lookup to RFC 4301. Only SPI and protocol should be used for an inbound SA lookup - Support inspecting ref_tracker state via DebugFS - Don't force bonding advertisement frames tx to ~333 ms boundaries. Add broadcast_neighbor option to send ARP/ND on all bonded links - Allow providing upcall pid for the 'execute' command in openvswitch - Remove DCCP support from Netfilter's conntrack - Disallow multiple packet duplications in the queuing layer - Prevent use of deprecated iptables code on PREEMPT_RT Driver API: - Support RSS and hashing configuration over ethtool Netlink - Add dedicated ethtool callbacks for getting and setting hashing fields - Add support for power budget evaluation strategy in PSE / Power-over-Ethernet. Generate Netlink events for overcurrent etc - Support DPLL phase offset monitoring across all device inputs. Support providing clock reference and SYNC over separate DPLL inputs - Support traffic classes in devlink rate API for bandwidth management - Remove rtnl_lock dependency from UDP tunnel port configuration Device drivers: - Add a new Broadcom driver for 800G Ethernet (bnge) - Add a standalone driver for Microchip ZL3073x DPLL - Remove IBM's NETIUCV device driver - Ethernet high-speed NICs: - Broadcom (bnxt): - support zero-copy Tx of DMABUF memory - take page size into account for page pool recycling rings - Intel (100G, ice, idpf): - idpf: XDP and AF_XDP support preparations - idpf: add flow steering - add link_down_events statistic - clean up the TSPLL code - preparations for live VM migration - nVidia/Mellanox: - support zero-copy Rx/Tx interfaces (DMABUF and io_uring) - optimize context memory usage for matchers - expose serial numbers in devlink info - support PCIe congestion metrics - Meta (fbnic): - add 25G, 50G, and 100G link modes to phylink - support dumping FW logs - Marvell/Cavium: - support for CN20K generation of the Octeon chips - Amazon: - add HW clock (without timestamping, just hypervisor time access) - Ethernet virtual: - VirtIO net: - support segmentation of UDP-tunnel-encapsulated packets - Google (gve): - support packet timestamping and clock synchronization - Microsoft vNIC: - add handler for device-originated servicing events - allow dynamic MSI-X vector allocation - support Tx bandwidth clamping - Ethernet NICs consumer, and embedded: - AMD: - amd-xgbe: hardware timestamping and PTP clock support - Broadcom integrated MACs (bcmgenet, bcmasp): - use napi_complete_done() return value to support NAPI polling - add support for re-starting auto-negotiation - Broadcom switches (b53): - support BCM5325 switches - add bcm63xx EPHY power control - Synopsys (stmmac): - lots of code refactoring and cleanups - TI: - icssg-prueth: read firmware-names from device tree - icssg: PRP offload support - Microchip: - lan78xx: convert to PHYLINK for improved PHY and MAC management - ksz: add KSZ8463 switch support - Intel: - support similar queue priority scheme in multi-queue and time-sensitive networking (taprio) - support packet pre-emption in both - RealTek (r8169): - enable EEE at 5Gbps on RTL8126 - Airoha: - add PPPoE offload support - MDIO bus controller for Airoha AN7583 - Ethernet PHYs: - support for the IPQ5018 internal GE PHY - micrel KSZ9477 switch-integrated PHYs: - add MDI/MDI-X control support - add RX error counters - add cable test support - add Signal Quality Indicator (SQI) reporting - dp83tg720: improve reset handling and reduce link recovery time - support bcm54811 (and its MII-Lite interface type) - air_en8811h: support resume/suspend - support PHY counters for QCA807x and QCA808x - support WoL for QCA807x - CAN drivers: - rcar_canfd: support for Transceiver Delay Compensation - kvaser: report FW versions via devlink dev info - WiFi: - extended regulatory info support (6 GHz) - add statistics and beacon monitor for Multi-Link Operation (MLO) - support S1G aggregation, improve S1G support - add Radio Measurement action fields - support per-radio RTS threshold - some work around how FIPS affects wifi, which was wrong (RC4 is used by TKIP, not only WEP) - improvements for unsolicited probe response handling - WiFi drivers: - RealTek (rtw88): - IBSS mode for SDIO devices - RealTek (rtw89): - BT coexistence for MLO/WiFi7 - concurrent station + P2P support - support for USB devices RTL8851BU/RTL8852BU - Intel (iwlwifi): - use embedded PNVM in (to be released) FW images to fix compatibility issues - many cleanups (unused FW APIs, PCIe code, WoWLAN) - some FIPS interoperability - MediaTek (mt76): - firmware recovery improvements - more MLO work - Qualcomm/Atheros (ath12k): - fix scan on multi-radio devices - more EHT/Wi-Fi 7 features - encapsulation/decapsulation offload - Broadcom (brcm80211): - support SDIO 43751 device - Bluetooth: - hci_event: add support for handling LE BIG Sync Lost event - ISO: add socket option to report packet seqnum via CMSG - ISO: support SCM_TIMESTAMPING for ISO TS - Bluetooth drivers: - intel_pcie: support Function Level Reset - nxpuart: add support for 4M baudrate - nxpuart: implement powerup sequence, reset, FW dump, and FW loading" * tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1742 commits) dpll: zl3073x: Fix build failure selftests: bpf: fix legacy netfilter options ipv6: annotate data-races around rt->fib6_nsiblings ipv6: fix possible infinite loop in fib6_info_uses_dev() ipv6: prevent infinite loop in rt6_nlmsg_size() ipv6: add a retry logic in net6_rt_notify() vrf: Drop existing dst reference in vrf_ip6_input_dst net/sched: taprio: align entry index attr validation with mqprio net: fsl_pq_mdio: use dev_err_probe selftests: rtnetlink.sh: remove esp4_offload after test vsock: remove unnecessary null check in vsock_getname() igb: xsk: solve negative overflow of nb_pkts in zerocopy mode stmmac: xsk: fix negative overflow of budget in zerocopy mode dt-bindings: ieee802154: Convert at86rf230.txt yaml format net: dsa: microchip: Disable PTP function of KSZ8463 net: dsa: microchip: Setup fiber ports for KSZ8463 net: dsa: microchip: Write switch MAC address differently for KSZ8463 net: dsa: microchip: Use different registers for KSZ8463 net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver dt-bindings: net: dsa: microchip: Add KSZ8463 switch support ...
This commit is contained in:
commit
8be4d31cb8
1904 changed files with 83318 additions and 29344 deletions
|
@ -26,6 +26,16 @@ Description:
|
|||
This ID is used to match the device with the appropriate
|
||||
driver.
|
||||
|
||||
What: /sys/class/mdio_bus/<bus>/<device>/c45_phy_ids/mmd<n>_device_id
|
||||
Date: June 2025
|
||||
KernelVersion: 6.17
|
||||
Contact: netdev@vger.kernel.org
|
||||
Description:
|
||||
This attribute contains the 32-bit PHY Identifier as reported
|
||||
by the device during bus enumeration, encoded in hexadecimal.
|
||||
These C45 IDs are used to match the device with the appropriate
|
||||
driver. These files are invisible to the C22 device.
|
||||
|
||||
What: /sys/class/mdio_bus/<bus>/<device>/phy_interface
|
||||
Date: February 2014
|
||||
KernelVersion: 3.15
|
||||
|
|
|
@ -305,24 +305,3 @@ xpram shows up under devices/system/ as 'xpram'.
|
|||
|
||||
For each cpu, a directory is created under devices/system/cpu/. Each cpu has an
|
||||
attribute 'online' which can be 0 or 1.
|
||||
|
||||
|
||||
4. Other devices
|
||||
----------------
|
||||
|
||||
4.1 Netiucv
|
||||
-----------
|
||||
|
||||
The netiucv driver creates an attribute 'connection' under
|
||||
bus/iucv/drivers/netiucv. Piping to this attribute creates a new netiucv
|
||||
connection to the specified host.
|
||||
|
||||
Netiucv connections show up under devices/iucv/ as "netiucv<ifnum>". The interface
|
||||
number is assigned sequentially to the connections defined via the 'connection'
|
||||
attribute.
|
||||
|
||||
user
|
||||
- shows the connection partner.
|
||||
|
||||
buffer
|
||||
- maximum buffer size. Pipe to it to change buffer size.
|
||||
|
|
|
@ -495,6 +495,15 @@ Comments
|
|||
|
||||
See: https://lore.kernel.org/lkml/20131006222342.GT19510@leaf/
|
||||
|
||||
**UNCOMMENTED_RGMII_MODE**
|
||||
Historically, the RGMII PHY modes specified in Device Trees have been
|
||||
used inconsistently, often referring to the usage of delays on the PHY
|
||||
side rather than describing the board.
|
||||
|
||||
PHY modes "rgmii", "rgmii-rxid" and "rgmii-txid" modes require the clock
|
||||
signal to be delayed on the PCB; this unusual configuration should be
|
||||
described in a comment. If they are not (meaning that the delay is realized
|
||||
internally in the MAC or PHY), "rgmii-id" is the correct PHY mode.
|
||||
|
||||
Commit message
|
||||
--------------
|
||||
|
|
76
Documentation/devicetree/bindings/dpll/dpll-device.yaml
Normal file
76
Documentation/devicetree/bindings/dpll/dpll-device.yaml
Normal file
|
@ -0,0 +1,76 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dpll/dpll-device.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Digital Phase-Locked Loop (DPLL) Device
|
||||
|
||||
maintainers:
|
||||
- Ivan Vecera <ivecera@redhat.com>
|
||||
|
||||
description:
|
||||
Digital Phase-Locked Loop (DPLL) device is used for precise clock
|
||||
synchronization in networking and telecom hardware. The device can
|
||||
have one or more channels (DPLLs) and one or more physical input and
|
||||
output pins. Each DPLL channel can either produce pulse-per-clock signal
|
||||
or drive ethernet equipment clock. The type of each channel can be
|
||||
indicated by dpll-types property.
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
pattern: "^dpll(@.*)?$"
|
||||
|
||||
"#address-cells":
|
||||
const: 0
|
||||
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
dpll-types:
|
||||
description: List of DPLL channel types, one per DPLL instance.
|
||||
$ref: /schemas/types.yaml#/definitions/non-unique-string-array
|
||||
items:
|
||||
enum: [pps, eec]
|
||||
|
||||
input-pins:
|
||||
type: object
|
||||
description: DPLL input pins
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^pin@[0-9a-f]+$":
|
||||
$ref: /schemas/dpll/dpll-pin.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
output-pins:
|
||||
type: object
|
||||
description: DPLL output pins
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
"#address-cells":
|
||||
const: 1
|
||||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
patternProperties:
|
||||
"^pin@[0-9]+$":
|
||||
$ref: /schemas/dpll/dpll-pin.yaml
|
||||
unevaluatedProperties: false
|
||||
|
||||
required:
|
||||
- "#address-cells"
|
||||
- "#size-cells"
|
||||
|
||||
additionalProperties: true
|
45
Documentation/devicetree/bindings/dpll/dpll-pin.yaml
Normal file
45
Documentation/devicetree/bindings/dpll/dpll-pin.yaml
Normal file
|
@ -0,0 +1,45 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dpll/dpll-pin.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: DPLL Pin
|
||||
|
||||
maintainers:
|
||||
- Ivan Vecera <ivecera@redhat.com>
|
||||
|
||||
description: |
|
||||
The DPLL pin is either a physical input or output pin that is provided
|
||||
by a DPLL( Digital Phase-Locked Loop) device. The pin is identified by
|
||||
its physical order number that is stored in reg property and can have
|
||||
an additional set of properties like supported (allowed) frequencies,
|
||||
label, type and may support embedded sync.
|
||||
|
||||
Note that the pin in this context has nothing to do with pinctrl.
|
||||
|
||||
properties:
|
||||
reg:
|
||||
description: Hardware index of the DPLL pin.
|
||||
maxItems: 1
|
||||
|
||||
connection-type:
|
||||
description: Connection type of the pin
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
enum: [ext, gnss, int, mux, synce]
|
||||
|
||||
esync-control:
|
||||
description: Indicates whether the pin supports embedded sync functionality.
|
||||
type: boolean
|
||||
|
||||
label:
|
||||
description: String exposed as the pin board label
|
||||
$ref: /schemas/types.yaml#/definitions/string
|
||||
|
||||
supported-frequencies-hz:
|
||||
description: List of supported frequencies for this pin, expressed in Hz.
|
||||
|
||||
required:
|
||||
- reg
|
||||
|
||||
additionalProperties: false
|
115
Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
Normal file
115
Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
Normal file
|
@ -0,0 +1,115 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/dpll/microchip,zl30731.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Microchip Azurite DPLL device
|
||||
|
||||
maintainers:
|
||||
- Ivan Vecera <ivecera@redhat.com>
|
||||
|
||||
description:
|
||||
Microchip Azurite DPLL (ZL3073x) is a family of DPLL devices that
|
||||
provides up to 5 independent DPLL channels, up to 10 differential or
|
||||
single-ended inputs and 10 differential or 20 single-ended outputs.
|
||||
These devices support both I2C and SPI interfaces.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- microchip,zl30731
|
||||
- microchip,zl30732
|
||||
- microchip,zl30733
|
||||
- microchip,zl30734
|
||||
- microchip,zl30735
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/dpll/dpll-device.yaml#
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dpll@70 {
|
||||
compatible = "microchip,zl30732";
|
||||
reg = <0x70>;
|
||||
dpll-types = "pps", "eec";
|
||||
|
||||
input-pins {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pin@0 { /* REF0P */
|
||||
reg = <0>;
|
||||
connection-type = "ext";
|
||||
label = "Input 0";
|
||||
supported-frequencies-hz = /bits/ 64 <1 1000>;
|
||||
};
|
||||
};
|
||||
|
||||
output-pins {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pin@3 { /* OUT1N */
|
||||
reg = <3>;
|
||||
connection-type = "gnss";
|
||||
esync-control;
|
||||
label = "Output 1";
|
||||
supported-frequencies-hz = /bits/ 64 <1 10000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
dpll@70 {
|
||||
compatible = "microchip,zl30731";
|
||||
reg = <0x70>;
|
||||
spi-max-frequency = <12500000>;
|
||||
|
||||
dpll-types = "pps";
|
||||
|
||||
input-pins {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pin@0 { /* REF0P */
|
||||
reg = <0>;
|
||||
connection-type = "ext";
|
||||
label = "Input 0";
|
||||
supported-frequencies-hz = /bits/ 64 <1 1000>;
|
||||
};
|
||||
};
|
||||
|
||||
output-pins {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
pin@3 { /* OUT1N */
|
||||
reg = <3>;
|
||||
connection-type = "gnss";
|
||||
esync-control;
|
||||
label = "Output 1";
|
||||
supported-frequencies-hz = /bits/ 64 <1 10000>;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
...
|
|
@ -0,0 +1,59 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/airoha,an7583-mdio.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Airoha AN7583 Dedicated MDIO Controller
|
||||
|
||||
maintainers:
|
||||
- Christian Marangi <ansuelsmth@gmail.com>
|
||||
|
||||
description:
|
||||
Airoha AN7583 SoC have 3 different MDIO Controller.
|
||||
|
||||
One comes from the intergated Switch based on MT7530.
|
||||
|
||||
The other 2 (that this schema describe) live under the SCU
|
||||
register supporting both C22 and C45 PHYs.
|
||||
|
||||
$ref: mdio.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: airoha,an7583-mdio
|
||||
|
||||
reg:
|
||||
enum: [0xc8, 0xcc]
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
clock-frequency:
|
||||
default: 2500000
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- resets
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
system-controller {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
mdio-bus@c8 {
|
||||
compatible = "airoha,an7583-mdio";
|
||||
reg = <0xc8>;
|
||||
|
||||
clocks = <&scu>;
|
||||
resets = <&scu>;
|
||||
};
|
||||
};
|
|
@ -21,6 +21,7 @@ properties:
|
|||
- items:
|
||||
- enum:
|
||||
- allwinner,sun20i-d1-emac
|
||||
- allwinner,sun50i-a100-emac
|
||||
- allwinner,sun50i-h6-emac
|
||||
- allwinner,sun50i-h616-emac0
|
||||
- allwinner,sun55i-a523-gmac0
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
# Copyright (C) 2025 Altera Corporation
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/altr,gmii-to-sgmii-2.0.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Altera GMII to SGMII Converter
|
||||
|
||||
maintainers:
|
||||
- Matthew Gerlach <matthew.gerlach@altera.com>
|
||||
|
||||
description:
|
||||
This binding describes the Altera GMII to SGMII converter.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: altr,gmii-to-sgmii-2.0
|
||||
|
||||
reg:
|
||||
items:
|
||||
- description: Registers for the emac splitter IP
|
||||
- description: Registers for the GMII to SGMII converter.
|
||||
- description: Registers for TSE control.
|
||||
|
||||
reg-names:
|
||||
items:
|
||||
- const: hps_emac_interface_splitter_avalon_slave
|
||||
- const: gmii_to_sgmii_adapter_avalon_slave
|
||||
- const: eth_tse_control_port
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- reg-names
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
phy@ff000240 {
|
||||
compatible = "altr,gmii-to-sgmii-2.0";
|
||||
reg = <0xff000240 0x00000008>,
|
||||
<0xff000200 0x00000040>,
|
||||
<0xff000250 0x00000008>;
|
||||
reg-names = "hps_emac_interface_splitter_avalon_slave",
|
||||
"gmii_to_sgmii_adapter_avalon_slave",
|
||||
"eth_tse_control_port";
|
||||
};
|
171
Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
Normal file
171
Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
Normal file
|
@ -0,0 +1,171 @@
|
|||
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/altr,socfpga-stmmac.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Altera SOCFPGA SoC DWMAC controller
|
||||
|
||||
maintainers:
|
||||
- Matthew Gerlach <matthew.gerlach@altera.com>
|
||||
|
||||
description:
|
||||
This binding describes the Altera SOCFPGA SoC implementation of the
|
||||
Synopsys DWMAC for the Cyclone5, Arria5, Stratix10, Agilex5 and Agilex7
|
||||
families of chips.
|
||||
# TODO: Determine how to handle the Arria10 reset-name, stmmaceth-ocp, that
|
||||
# does not validate against net/snps,dwmac.yaml.
|
||||
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- altr,socfpga-stmmac
|
||||
- altr,socfpga-stmmac-a10-s10
|
||||
- altr,socfpga-stmmac-agilex5
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: altr,socfpga-stmmac
|
||||
- const: snps,dwmac-3.70a
|
||||
- const: snps,dwmac
|
||||
- items:
|
||||
- const: altr,socfpga-stmmac-a10-s10
|
||||
- const: snps,dwmac-3.72a
|
||||
- const: snps,dwmac
|
||||
- items:
|
||||
- const: altr,socfpga-stmmac-a10-s10
|
||||
- const: snps,dwmac-3.74a
|
||||
- const: snps,dwmac
|
||||
- items:
|
||||
- const: altr,socfpga-stmmac-agilex5
|
||||
- const: snps,dwxgmac-2.10
|
||||
|
||||
clocks:
|
||||
minItems: 1
|
||||
items:
|
||||
- description: GMAC main clock
|
||||
- description:
|
||||
PTP reference clock. This clock is used for programming the
|
||||
Timestamp Addend Register. If not passed then the system
|
||||
clock will be used and this is fine on some platforms.
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: stmmaceth
|
||||
- const: ptp_ref
|
||||
|
||||
iommus:
|
||||
minItems: 1
|
||||
maxItems: 2
|
||||
|
||||
phy-mode:
|
||||
enum:
|
||||
- gmii
|
||||
- mii
|
||||
- rgmii
|
||||
- rgmii-id
|
||||
- rgmii-rxid
|
||||
- rgmii-txid
|
||||
- sgmii
|
||||
- 1000base-x
|
||||
|
||||
rxc-skew-ps:
|
||||
description: Skew control of RXC pad
|
||||
|
||||
rxd0-skew-ps:
|
||||
description: Skew control of RX data 0 pad
|
||||
|
||||
rxd1-skew-ps:
|
||||
description: Skew control of RX data 1 pad
|
||||
|
||||
rxd2-skew-ps:
|
||||
description: Skew control of RX data 2 pad
|
||||
|
||||
rxd3-skew-ps:
|
||||
description: Skew control of RX data 3 pad
|
||||
|
||||
rxdv-skew-ps:
|
||||
description: Skew control of RX CTL pad
|
||||
|
||||
txc-skew-ps:
|
||||
description: Skew control of TXC pad
|
||||
|
||||
txen-skew-ps:
|
||||
description: Skew control of TXC pad
|
||||
|
||||
altr,emac-splitter:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
Should be the phandle to the emac splitter soft IP node if DWMAC
|
||||
controller is connected an emac splitter.
|
||||
|
||||
altr,f2h_ptp_ref_clk:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
Phandle to Precision Time Protocol reference clock. This clock is
|
||||
common to gmac instances and defaults to osc1.
|
||||
|
||||
altr,gmii-to-sgmii-converter:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
Should be the phandle to the gmii to sgmii converter soft IP.
|
||||
|
||||
altr,sysmgr-syscon:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
description:
|
||||
Should be the phandle to the system manager node that encompass
|
||||
the glue register, the register offset, and the register shift.
|
||||
On Cyclone5/Arria5, the register shift represents the PHY mode
|
||||
bits, while on the Arria10/Stratix10/Agilex platforms, the
|
||||
register shift represents bit for each emac to enable/disable
|
||||
signals from the FPGA fabric to the EMAC modules.
|
||||
items:
|
||||
- items:
|
||||
- description: phandle to the system manager node
|
||||
- description: offset of the control register
|
||||
- description: shift within the control register
|
||||
|
||||
patternProperties:
|
||||
"^mdio[0-9]$":
|
||||
type: object
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- clocks
|
||||
- clock-names
|
||||
- altr,sysmgr-syscon
|
||||
|
||||
allOf:
|
||||
- $ref: snps,dwmac.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
ethernet@ff700000 {
|
||||
compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a",
|
||||
"snps,dwmac";
|
||||
altr,sysmgr-syscon = <&sysmgr 0x60 0>;
|
||||
reg = <0xff700000 0x2000>;
|
||||
interrupts = <GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
mac-address = [00 00 00 00 00 00]; /* Filled in by U-Boot */
|
||||
clocks = <&emac_0_clk>;
|
||||
clock-names = "stmmaceth";
|
||||
phy-mode = "sgmii";
|
||||
};
|
||||
};
|
|
@ -34,6 +34,13 @@ properties:
|
|||
This property depends on the module vendor's
|
||||
configuration.
|
||||
|
||||
max-speed:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
enum:
|
||||
- 3000000
|
||||
- 4000000
|
||||
default: 3000000
|
||||
|
||||
firmware-name:
|
||||
maxItems: 1
|
||||
|
||||
|
@ -65,6 +72,14 @@ properties:
|
|||
description:
|
||||
The GPIO number of the NXP chipset used for BT_WAKE_OUT.
|
||||
|
||||
vcc-supply:
|
||||
description:
|
||||
phandle of the regulator that provides the supply voltage.
|
||||
|
||||
reset-gpios:
|
||||
description:
|
||||
Chip powerdown/reset signal (PDn).
|
||||
|
||||
required:
|
||||
- compatible
|
||||
|
||||
|
@ -78,10 +93,13 @@ examples:
|
|||
bluetooth {
|
||||
compatible = "nxp,88w8987-bt";
|
||||
fw-init-baudrate = <3000000>;
|
||||
max-speed = <4000000>;
|
||||
firmware-name = "uartuart8987_bt_v0.bin";
|
||||
device-wakeup-gpios = <&gpio 11 GPIO_ACTIVE_HIGH>;
|
||||
nxp,wakein-pin = /bits/ 8 <18>;
|
||||
nxp,wakeout-pin = /bits/ 8 <19>;
|
||||
vcc-supply = <&nxp_iw612_supply>;
|
||||
reset-gpios = <&gpioctrl 2 GPIO_ACTIVE_LOW>;
|
||||
local-bd-address = [66 55 44 33 22 11];
|
||||
interrupt-parent = <&gpio>;
|
||||
interrupts = <8 IRQ_TYPE_EDGE_FALLING>;
|
||||
|
|
|
@ -62,6 +62,7 @@ properties:
|
|||
- items:
|
||||
- enum:
|
||||
- microchip,sam9x7-gem # Microchip SAM9X7 gigabit ethernet interface
|
||||
- microchip,sama7d65-gem # Microchip SAMA7D65 gigabit ethernet interface
|
||||
- const: microchip,sama7g5-gem # Microchip SAMA7G5 gigabit ethernet interface
|
||||
|
||||
reg:
|
||||
|
@ -114,6 +115,13 @@ properties:
|
|||
power-domains:
|
||||
maxItems: 1
|
||||
|
||||
cdns,refclk-ext:
|
||||
type: boolean
|
||||
description:
|
||||
This selects if the REFCLK for RMII is provided by an external source.
|
||||
For RGMII mode this selects if the 125MHz REF clock is provided by an external
|
||||
source.
|
||||
|
||||
cdns,rx-watermark:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description:
|
||||
|
|
|
@ -66,6 +66,12 @@ properties:
|
|||
- brcm,bcm63268-switch
|
||||
- const: brcm,bcm63xx-switch
|
||||
|
||||
brcm,gpio-ctrl:
|
||||
description:
|
||||
A phandle to the syscon node of the bcm63xx gpio controller
|
||||
which contains phy control registers
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
|
|
@ -136,6 +136,16 @@ properties:
|
|||
See Documentation/devicetree/bindings/regulator/mt6323-regulator.txt for
|
||||
details for the regulator setup on these boards.
|
||||
|
||||
mdio:
|
||||
$ref: /schemas/net/mdio.yaml#
|
||||
unevaluatedProperties: false
|
||||
|
||||
properties:
|
||||
mediatek,pio:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
Phandle pointing to the mediatek pinctrl node.
|
||||
|
||||
mediatek,mcm:
|
||||
type: boolean
|
||||
description:
|
||||
|
@ -190,6 +200,18 @@ required:
|
|||
- reg
|
||||
|
||||
$defs:
|
||||
builtin-dsa-port:
|
||||
patternProperties:
|
||||
"^(ethernet-)?ports$":
|
||||
patternProperties:
|
||||
"^(ethernet-)?port@[0-6]$":
|
||||
if:
|
||||
required: [ ethernet ]
|
||||
then:
|
||||
properties:
|
||||
phy-mode:
|
||||
const: internal
|
||||
|
||||
mt7530-dsa-port:
|
||||
patternProperties:
|
||||
"^(ethernet-)?ports$":
|
||||
|
@ -297,7 +319,7 @@ allOf:
|
|||
- airoha,en7581-switch
|
||||
- airoha,an7583-switch
|
||||
then:
|
||||
$ref: "#/$defs/mt7530-dsa-port"
|
||||
$ref: "#/$defs/builtin-dsa-port"
|
||||
properties:
|
||||
gpio-controller: false
|
||||
mediatek,mcm: false
|
||||
|
|
135
Documentation/devicetree/bindings/net/dsa/micrel,ks8995.yaml
Normal file
135
Documentation/devicetree/bindings/net/dsa/micrel,ks8995.yaml
Normal file
|
@ -0,0 +1,135 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/dsa/micrel,ks8995.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Micrel KS8995 Family DSA Switches
|
||||
|
||||
maintainers:
|
||||
- Linus Walleij <linus.walleij@linaro.org>
|
||||
|
||||
description:
|
||||
The Micrel KS8995 DSA Switches are 100 Mbit switches that were produced in
|
||||
the early-to-mid 2000s. The chip features a CPU port and four outgoing ports,
|
||||
each with an internal PHY. The chip itself is managed over SPI, but all the
|
||||
PHYs need to be accessed from an external MDIO channel.
|
||||
|
||||
Further, a fifth PHY is available and can be used separately from the switch
|
||||
fabric, connected to an external MII interface name MII-P5. This is
|
||||
unrelated from the CPU-facing port 5 which is used for DSA MII traffic.
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- micrel,ks8995
|
||||
- micrel,ksz8795
|
||||
- micrel,ksz8864
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpios:
|
||||
description: GPIO to be used to reset the whole device
|
||||
maxItems: 1
|
||||
|
||||
allOf:
|
||||
- $ref: dsa.yaml#/$defs/ethernet-ports
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/gpio/gpio.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethernet-switch@0 {
|
||||
compatible = "micrel,ks8995";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <25000000>;
|
||||
|
||||
ethernet-ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethernet-port@0 {
|
||||
reg = <0>;
|
||||
label = "lan1";
|
||||
};
|
||||
ethernet-port@1 {
|
||||
reg = <1>;
|
||||
label = "lan2";
|
||||
};
|
||||
ethernet-port@2 {
|
||||
reg = <2>;
|
||||
label = "lan3";
|
||||
};
|
||||
ethernet-port@3 {
|
||||
reg = <3>;
|
||||
label = "lan4";
|
||||
};
|
||||
ethernet-port@4 {
|
||||
reg = <4>;
|
||||
ethernet = <&mac2>;
|
||||
phy-mode = "mii";
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
||||
/* The WAN port connected on MII-P5 */
|
||||
ethernet-port@1000 {
|
||||
reg = <0x00001000 0x1000>;
|
||||
label = "wan";
|
||||
phy-mode = "mii";
|
||||
phy-handle = <&phy5>;
|
||||
};
|
||||
|
||||
mac2: ethernet-port@2000 {
|
||||
reg = <0x00002000 0x1000>;
|
||||
phy-mode = "mii";
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* LAN PHYs 1-4 accessible over external MDIO */
|
||||
phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
phy2: ethernet-phy@2 {
|
||||
reg = <2>;
|
||||
};
|
||||
phy3: ethernet-phy@3 {
|
||||
reg = <3>;
|
||||
};
|
||||
phy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
};
|
||||
/* WAN PHY accessible over external MDIO */
|
||||
phy5: ethernet-phy@5 {
|
||||
reg = <5>;
|
||||
};
|
||||
};
|
|
@ -18,6 +18,7 @@ properties:
|
|||
# required and optional properties.
|
||||
compatible:
|
||||
enum:
|
||||
- microchip,ksz8463
|
||||
- microchip,ksz8765
|
||||
- microchip,ksz8794
|
||||
- microchip,ksz8795
|
||||
|
|
|
@ -39,6 +39,7 @@ properties:
|
|||
# MAC.
|
||||
- internal
|
||||
- mii
|
||||
- mii-lite
|
||||
- gmii
|
||||
- sgmii
|
||||
- psgmii
|
||||
|
|
|
@ -6,9 +6,6 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
|
|||
|
||||
title: Faraday Technology FTGMAC100 gigabit ethernet controller
|
||||
|
||||
allOf:
|
||||
- $ref: ethernet-controller.yaml#
|
||||
|
||||
maintainers:
|
||||
- Po-Yu Chuang <ratbert@faraday-tech.com>
|
||||
|
||||
|
@ -35,6 +32,9 @@ properties:
|
|||
- description: MAC IP clock
|
||||
- description: RMII RCLK gate for AST2500/2600
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
minItems: 1
|
||||
items:
|
||||
|
@ -74,6 +74,21 @@ required:
|
|||
- 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:
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
* AT86RF230 IEEE 802.15.4 *
|
||||
|
||||
Required properties:
|
||||
- compatible: should be "atmel,at86rf230", "atmel,at86rf231",
|
||||
"atmel,at86rf233" or "atmel,at86rf212"
|
||||
- spi-max-frequency: maximal bus speed, should be set to 7500000 depends
|
||||
sync or async operation mode
|
||||
- reg: the chipselect index
|
||||
- interrupts: the interrupt generated by the device. Non high-level
|
||||
can occur deadlocks while handling isr.
|
||||
|
||||
Optional properties:
|
||||
- reset-gpio: GPIO spec for the rstn pin
|
||||
- sleep-gpio: GPIO spec for the slp_tr pin
|
||||
- xtal-trim: u8 value for fine tuning the internal capacitance
|
||||
arrays of xtal pins: 0 = +0 pF, 0xf = +4.5 pF
|
||||
|
||||
Example:
|
||||
|
||||
at86rf231@0 {
|
||||
compatible = "atmel,at86rf231";
|
||||
spi-max-frequency = <7500000>;
|
||||
reg = <0>;
|
||||
interrupts = <19 4>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
xtal-trim = /bits/ 8 <0x06>;
|
||||
};
|
|
@ -0,0 +1,66 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/ieee802154/atmel,at86rf233.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: AT86RF230 IEEE 802.15.4
|
||||
|
||||
maintainers:
|
||||
- Frank Li <Frank.Li@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- atmel,at86rf212
|
||||
- atmel,at86rf230
|
||||
- atmel,at86rf231
|
||||
- atmel,at86rf233
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
reset-gpio:
|
||||
maxItems: 1
|
||||
|
||||
sleep-gpio:
|
||||
maxItems: 1
|
||||
|
||||
spi-max-frequency:
|
||||
maximum: 7500000
|
||||
|
||||
xtal-trim:
|
||||
$ref: /schemas/types.yaml#/definitions/uint8
|
||||
maximum: 0xf
|
||||
description: |
|
||||
Fine tuning the internal capacitance arrays of xtal pins:
|
||||
0 = +0 pF, 0xf = +4.5 pF
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
zigbee@0 {
|
||||
compatible = "atmel,at86rf231";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <7500000>;
|
||||
interrupts = <19 4>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
xtal-trim = /bits/ 8 <0x06>;
|
||||
};
|
||||
};
|
|
@ -47,6 +47,8 @@ properties:
|
|||
|
||||
phy-handle: true
|
||||
|
||||
fixed-link: true
|
||||
|
||||
intel,npe-handle:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle-array
|
||||
items:
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
* NXP LPC32xx SoC Ethernet Controller
|
||||
|
||||
Required properties:
|
||||
- compatible: Should be "nxp,lpc-eth"
|
||||
- reg: Address and length of the register set for the device
|
||||
- interrupts: Should contain ethernet controller interrupt
|
||||
|
||||
Optional properties:
|
||||
- phy-mode: See ethernet.txt file in the same directory. If the property is
|
||||
absent, "rmii" is assumed.
|
||||
- use-iram: Use LPC32xx internal SRAM (IRAM) for DMA buffering
|
||||
|
||||
Optional subnodes:
|
||||
- mdio : specifies the mdio bus, used as a container for phy nodes according to
|
||||
phy.txt in the same directory
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
mac: ethernet@31060000 {
|
||||
compatible = "nxp,lpc-eth";
|
||||
reg = <0x31060000 0x1000>;
|
||||
interrupt-parent = <&mic>;
|
||||
interrupts = <29 0>;
|
||||
|
||||
phy-mode = "rmii";
|
||||
use-iram;
|
||||
};
|
|
@ -40,7 +40,19 @@ properties:
|
|||
|
||||
interrupts:
|
||||
minItems: 1
|
||||
maxItems: 4
|
||||
maxItems: 8
|
||||
|
||||
interrupt-names:
|
||||
minItems: 1
|
||||
items:
|
||||
- const: fe0
|
||||
- const: fe1
|
||||
- const: fe2
|
||||
- const: fe3
|
||||
- const: pdma0
|
||||
- const: pdma1
|
||||
- const: pdma2
|
||||
- const: pdma3
|
||||
|
||||
power-domains:
|
||||
maxItems: 1
|
||||
|
@ -54,6 +66,10 @@ properties:
|
|||
- const: gmac
|
||||
- const: ppe
|
||||
|
||||
sram:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description: phandle to mmio SRAM
|
||||
|
||||
mediatek,ethsys:
|
||||
$ref: /schemas/types.yaml#/definitions/phandle
|
||||
description:
|
||||
|
@ -135,6 +151,10 @@ allOf:
|
|||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
clocks:
|
||||
minItems: 4
|
||||
maxItems: 4
|
||||
|
@ -146,6 +166,8 @@ allOf:
|
|||
- const: gp1
|
||||
- const: gp2
|
||||
|
||||
sram: false
|
||||
|
||||
mediatek,infracfg: false
|
||||
|
||||
mediatek,wed: false
|
||||
|
@ -166,6 +188,9 @@ allOf:
|
|||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-names:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
@ -175,6 +200,8 @@ allOf:
|
|||
- const: ethif
|
||||
- const: fe
|
||||
|
||||
sram: false
|
||||
|
||||
mediatek,infracfg: false
|
||||
|
||||
mediatek,wed: false
|
||||
|
@ -192,6 +219,10 @@ allOf:
|
|||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
clocks:
|
||||
minItems: 11
|
||||
maxItems: 11
|
||||
|
@ -210,6 +241,8 @@ allOf:
|
|||
- const: sgmii_ck
|
||||
- const: eth2pll
|
||||
|
||||
sram: false
|
||||
|
||||
mediatek,infracfg: false
|
||||
|
||||
mediatek,sgmiisys:
|
||||
|
@ -232,6 +265,10 @@ allOf:
|
|||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
interrupt-names:
|
||||
minItems: 3
|
||||
maxItems: 3
|
||||
|
||||
clocks:
|
||||
minItems: 17
|
||||
maxItems: 17
|
||||
|
@ -256,6 +293,8 @@ allOf:
|
|||
- const: sgmii_ck
|
||||
- const: eth2pll
|
||||
|
||||
sram: false
|
||||
|
||||
mediatek,sgmiisys:
|
||||
minItems: 2
|
||||
maxItems: 2
|
||||
|
@ -272,7 +311,10 @@ allOf:
|
|||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 4
|
||||
minItems: 8
|
||||
|
||||
interrupt-names:
|
||||
minItems: 8
|
||||
|
||||
clocks:
|
||||
minItems: 15
|
||||
|
@ -310,7 +352,10 @@ allOf:
|
|||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 4
|
||||
minItems: 8
|
||||
|
||||
interrupt-names:
|
||||
minItems: 8
|
||||
|
||||
clocks:
|
||||
minItems: 15
|
||||
|
@ -348,7 +393,10 @@ allOf:
|
|||
then:
|
||||
properties:
|
||||
interrupts:
|
||||
minItems: 4
|
||||
minItems: 8
|
||||
|
||||
interrupt-names:
|
||||
minItems: 8
|
||||
|
||||
clocks:
|
||||
minItems: 24
|
||||
|
@ -382,7 +430,7 @@ allOf:
|
|||
- const: xgp3
|
||||
|
||||
patternProperties:
|
||||
"^mac@[0-1]$":
|
||||
"^mac@[0-2]$":
|
||||
type: object
|
||||
unevaluatedProperties: false
|
||||
allOf:
|
||||
|
@ -507,7 +555,11 @@ examples:
|
|||
interrupts = <GIC_SPI 196 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 197 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 198 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>;
|
||||
<GIC_SPI 199 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 191 IRQ_TYPE_LEVEL_HIGH>,
|
||||
<GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
|
||||
clocks = <ðsys CLK_ETH_FE_EN>,
|
||||
<ðsys CLK_ETH_GP2_EN>,
|
||||
<ðsys CLK_ETH_GP1_EN>,
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
Micrel KS8995 SPI controlled Ethernet Switch families
|
||||
|
||||
Required properties (according to spi-bus.txt):
|
||||
- compatible: either "micrel,ks8995", "micrel,ksz8864" or "micrel,ksz8795"
|
||||
|
||||
Optional properties:
|
||||
- reset-gpios : phandle of gpio that will be used to reset chip during probe
|
||||
|
||||
Example:
|
||||
|
||||
spi-master {
|
||||
...
|
||||
switch@0 {
|
||||
compatible = "micrel,ksz8795";
|
||||
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
reset-gpios = <&gpio0 46 GPIO_ACTIVE_LOW>;
|
||||
};
|
||||
};
|
|
@ -55,6 +55,12 @@ properties:
|
|||
description: |
|
||||
Regulator for supply voltage to VIN pin
|
||||
|
||||
ti,rx-gain-reduction-db:
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
description: |
|
||||
Specify an RX gain reduction to reduce antenna sensitivity with 5dB per
|
||||
increment, with a maximum of 15dB. Supported values: [0, 5, 10, 15].
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- interrupts
|
||||
|
@ -95,5 +101,6 @@ examples:
|
|||
irq-status-read-quirk;
|
||||
en2-rf-quirk;
|
||||
clock-frequency = <27120000>;
|
||||
ti,rx-gain-reduction-db = <15>;
|
||||
};
|
||||
};
|
||||
|
|
48
Documentation/devicetree/bindings/net/nxp,lpc-eth.yaml
Normal file
48
Documentation/devicetree/bindings/net/nxp,lpc-eth.yaml
Normal file
|
@ -0,0 +1,48 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/nxp,lpc-eth.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP LPC32xx SoC Ethernet Controller
|
||||
|
||||
maintainers:
|
||||
- Frank Li <Frank.Li@nxp.com>
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: nxp,lpc-eth
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
use-iram:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description: Use LPC32xx internal SRAM (IRAM) for DMA buffering
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
allOf:
|
||||
- $ref: ethernet-controller.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
ethernet@31060000 {
|
||||
compatible = "nxp,lpc-eth";
|
||||
reg = <0x31060000 0x1000>;
|
||||
interrupt-parent = <&mic>;
|
||||
interrupts = <29 0>;
|
||||
phy-mode = "rmii";
|
||||
use-iram;
|
||||
};
|
|
@ -1,20 +0,0 @@
|
|||
* NXP LPC1850 GMAC ethernet controller
|
||||
|
||||
This device is a platform glue layer for stmmac.
|
||||
Please see stmmac.txt for the other unchanged properties.
|
||||
|
||||
Required properties:
|
||||
- compatible: Should contain "nxp,lpc1850-dwmac"
|
||||
|
||||
Examples:
|
||||
|
||||
mac: ethernet@40010000 {
|
||||
compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
||||
reg = <0x40010000 0x2000>;
|
||||
interrupts = <5>;
|
||||
interrupt-names = "macirq";
|
||||
clocks = <&ccu1 CLK_CPU_ETHERNET>;
|
||||
clock-names = "stmmaceth";
|
||||
resets = <&rgu 22>;
|
||||
reset-names = "stmmaceth";
|
||||
}
|
85
Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
Normal file
85
Documentation/devicetree/bindings/net/nxp,lpc1850-dwmac.yaml
Normal file
|
@ -0,0 +1,85 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/nxp,lpc1850-dwmac.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: NXP LPC1850 GMAC ethernet controller
|
||||
|
||||
maintainers:
|
||||
- Frank Li <Frank.Li@nxp.com>
|
||||
|
||||
# We need a select here so we don't match all nodes with 'snps,dwmac'
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- nxp,lpc1850-dwmac
|
||||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- nxp,lpc1850-dwmac
|
||||
- const: snps,dwmac-3.611
|
||||
- const: snps,dwmac
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: stmmaceth
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-names:
|
||||
items:
|
||||
- const: macirq
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
items:
|
||||
- const: stmmaceth
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
|
||||
allOf:
|
||||
- $ref: snps,dwmac.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/clock/lpc18xx-ccu.h>
|
||||
|
||||
ethernet@40010000 {
|
||||
compatible = "nxp,lpc1850-dwmac", "snps,dwmac-3.611", "snps,dwmac";
|
||||
reg = <0x40010000 0x2000>;
|
||||
interrupts = <5>;
|
||||
interrupt-names = "macirq";
|
||||
clocks = <&ccu1 CLK_CPU_ETHERNET>;
|
||||
clock-names = "stmmaceth";
|
||||
resets = <&rgu 22>;
|
||||
reset-names = "stmmaceth";
|
||||
rx-fifo-depth = <256>;
|
||||
tx-fifo-depth = <256>;
|
||||
snps,pbl = <4>;
|
||||
snps,force_thresh_dma_mode;
|
||||
phy-mode = "rgmii-id";
|
||||
};
|
|
@ -22,6 +22,12 @@ properties:
|
|||
reg:
|
||||
maxItems: 1
|
||||
|
||||
vdd-supply:
|
||||
description: Regulator that provides 3.3V VDD power supply.
|
||||
|
||||
vdda-supply:
|
||||
description: Regulator that provides 3.3V VDDA power supply.
|
||||
|
||||
managers:
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
@ -68,6 +74,15 @@ properties:
|
|||
"#size-cells":
|
||||
const: 0
|
||||
|
||||
vmain-supply:
|
||||
description: Regulator that provides 44-57V VMAIN power supply.
|
||||
|
||||
vaux5-supply:
|
||||
description: Regulator that provides 5V VAUX5 power supply.
|
||||
|
||||
vaux3p3-supply:
|
||||
description: Regulator that provides 3.3V VAUX3P3 power supply.
|
||||
|
||||
patternProperties:
|
||||
'^port@[0-7]$':
|
||||
type: object
|
||||
|
@ -106,10 +121,11 @@ examples:
|
|||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
manager@0 {
|
||||
manager0: manager@0 {
|
||||
reg = <0>;
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
vmain-supply = <&pse1_supply>;
|
||||
|
||||
phys0: port@0 {
|
||||
reg = <0>;
|
||||
|
@ -161,7 +177,7 @@ examples:
|
|||
pairset-names = "alternative-a", "alternative-b";
|
||||
pairsets = <&phys0>, <&phys1>;
|
||||
polarity-supported = "MDI", "S";
|
||||
vpwr-supply = <&vpwr1>;
|
||||
vpwr-supply = <&manager0>;
|
||||
};
|
||||
pse_pi1: pse-pi@1 {
|
||||
reg = <1>;
|
||||
|
@ -169,7 +185,7 @@ examples:
|
|||
pairset-names = "alternative-a";
|
||||
pairsets = <&phys2>;
|
||||
polarity-supported = "MDI";
|
||||
vpwr-supply = <&vpwr2>;
|
||||
vpwr-supply = <&manager0>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -20,6 +20,9 @@ properties:
|
|||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
'#pse-cells':
|
||||
const: 1
|
||||
|
||||
|
@ -27,10 +30,12 @@ properties:
|
|||
maxItems: 1
|
||||
|
||||
channels:
|
||||
description: each set of 8 ports can be assigned to one physical
|
||||
channels or two for PoE4. This parameter describes the configuration
|
||||
of the ports conversion matrix that establishes relationship between
|
||||
the logical ports and the physical channels.
|
||||
description: |
|
||||
Defines the 8 physical delivery channels on the controller that can
|
||||
be referenced by PSE PIs through their "pairsets" property. The actual
|
||||
port matrix mapping is created when PSE PIs reference these channels in
|
||||
their pairsets. For 4-pair operation, two channels from the same group
|
||||
(0-3 or 4-7) must be referenced by a single PSE PI.
|
||||
type: object
|
||||
additionalProperties: false
|
||||
|
||||
|
@ -62,9 +67,12 @@ unevaluatedProperties: false
|
|||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- interrupts
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
i2c {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
@ -72,6 +80,8 @@ examples:
|
|||
ethernet-pse@20 {
|
||||
compatible = "ti,tps23881";
|
||||
reg = <0x20>;
|
||||
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-parent = <&gpiog>;
|
||||
|
||||
channels {
|
||||
#address-cells = <1>;
|
||||
|
|
|
@ -16,8 +16,37 @@ description: |
|
|||
|
||||
allOf:
|
||||
- $ref: ethernet-phy.yaml#
|
||||
- if:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- ethernet-phy-id004d.d0c0
|
||||
|
||||
then:
|
||||
properties:
|
||||
reg:
|
||||
const: 7 # This PHY is always at MDIO address 7 in the IPQ5018 SoC
|
||||
|
||||
resets:
|
||||
items:
|
||||
- description:
|
||||
GE PHY MISC reset which triggers a reset across MDC, DSP, RX, and TX lines.
|
||||
|
||||
qcom,dac-preset-short-cable:
|
||||
description:
|
||||
Set if this phy is connected to another phy to adjust the values for
|
||||
MDAC and EDAC to adjust amplitude, bias current settings, and error
|
||||
detection and correction algorithm to accommodate for short cable length.
|
||||
If not set, DAC values are not modified and it is assumed the MDI output pins
|
||||
of this PHY are directly connected to an RJ45 connector.
|
||||
type: boolean
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ethernet-phy-id004d.d0c0
|
||||
|
||||
qca,clk-out-frequency:
|
||||
description: Clock output frequency in Hertz.
|
||||
$ref: /schemas/types.yaml#/definitions/uint32
|
||||
|
@ -132,3 +161,17 @@ examples:
|
|||
};
|
||||
};
|
||||
};
|
||||
- |
|
||||
#include <dt-bindings/reset/qcom,gcc-ipq5018.h>
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ge_phy: ethernet-phy@7 {
|
||||
compatible = "ethernet-phy-id004d.d0c0";
|
||||
reg = <7>;
|
||||
|
||||
resets = <&gcc GCC_GEPHY_MISC_ARES>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,87 +0,0 @@
|
|||
* Qualcomm QCA7000
|
||||
|
||||
The QCA7000 is a serial-to-powerline bridge with a host interface which could
|
||||
be configured either as SPI or UART slave. This configuration is done by
|
||||
the QCA7000 firmware.
|
||||
|
||||
(a) Ethernet over SPI
|
||||
|
||||
In order to use the QCA7000 as SPI device it must be defined as a child of a
|
||||
SPI master in the device tree.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "qca,qca7000"
|
||||
- reg : Should specify the SPI chip select
|
||||
- interrupts : The first cell should specify the index of the source
|
||||
interrupt and the second cell should specify the trigger
|
||||
type as rising edge
|
||||
- spi-cpha : Must be set
|
||||
- spi-cpol : Must be set
|
||||
|
||||
Optional properties:
|
||||
- spi-max-frequency : Maximum frequency of the SPI bus the chip can operate at.
|
||||
Numbers smaller than 1000000 or greater than 16000000
|
||||
are invalid. Missing the property will set the SPI
|
||||
frequency to 8000000 Hertz.
|
||||
- qca,legacy-mode : Set the SPI data transfer of the QCA7000 to legacy mode.
|
||||
In this mode the SPI master must toggle the chip select
|
||||
between each data word. In burst mode these gaps aren't
|
||||
necessary, which is faster. This setting depends on how
|
||||
the QCA7000 is setup via GPIO pin strapping. If the
|
||||
property is missing the driver defaults to burst mode.
|
||||
|
||||
The MAC address will be determined using the optional properties
|
||||
defined in ethernet.txt.
|
||||
|
||||
SPI Example:
|
||||
|
||||
/* Freescale i.MX28 SPI master*/
|
||||
ssp2: spi@80014000 {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
compatible = "fsl,imx28-spi";
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&spi2_pins_a>;
|
||||
|
||||
qca7000: ethernet@0 {
|
||||
compatible = "qca,qca7000";
|
||||
reg = <0x0>;
|
||||
interrupt-parent = <&gpio3>; /* GPIO Bank 3 */
|
||||
interrupts = <25 0x1>; /* Index: 25, rising edge */
|
||||
spi-cpha; /* SPI mode: CPHA=1 */
|
||||
spi-cpol; /* SPI mode: CPOL=1 */
|
||||
spi-max-frequency = <8000000>; /* freq: 8 MHz */
|
||||
local-mac-address = [ A0 B0 C0 D0 E0 F0 ];
|
||||
};
|
||||
};
|
||||
|
||||
(b) Ethernet over UART
|
||||
|
||||
In order to use the QCA7000 as UART slave it must be defined as a child of a
|
||||
UART master in the device tree. It is possible to preconfigure the UART
|
||||
settings of the QCA7000 firmware, but it's not possible to change them during
|
||||
runtime.
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be "qca,qca7000"
|
||||
|
||||
Optional properties:
|
||||
- local-mac-address : see ./ethernet.txt
|
||||
- current-speed : current baud rate of QCA7000 which defaults to 115200
|
||||
if absent, see also ../serial/serial.yaml
|
||||
|
||||
UART Example:
|
||||
|
||||
/* Freescale i.MX28 UART */
|
||||
auart0: serial@8006a000 {
|
||||
compatible = "fsl,imx28-auart", "fsl,imx23-auart";
|
||||
reg = <0x8006a000 0x2000>;
|
||||
pinctrl-names = "default";
|
||||
pinctrl-0 = <&auart0_2pins_a>;
|
||||
|
||||
qca7000: ethernet {
|
||||
compatible = "qca,qca7000";
|
||||
local-mac-address = [ A0 B0 C0 D0 E0 F0 ];
|
||||
current-speed = <38400>;
|
||||
};
|
||||
};
|
109
Documentation/devicetree/bindings/net/qca,qca7000.yaml
Normal file
109
Documentation/devicetree/bindings/net/qca,qca7000.yaml
Normal file
|
@ -0,0 +1,109 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/qca,qca7000.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Qualcomm QCA7000
|
||||
|
||||
maintainers:
|
||||
- Frank Li <Frank.Li@nxp.com>
|
||||
|
||||
description: |
|
||||
The QCA7000 is a serial-to-powerline bridge with a host interface which could
|
||||
be configured either as SPI or UART slave. This configuration is done by
|
||||
the QCA7000 firmware.
|
||||
|
||||
(a) Ethernet over SPI
|
||||
|
||||
In order to use the QCA7000 as SPI device it must be defined as a child of a
|
||||
SPI master in the device tree.
|
||||
|
||||
(b) Ethernet over UART
|
||||
|
||||
In order to use the QCA7000 as UART slave it must be defined as a child of a
|
||||
UART master in the device tree. It is possible to preconfigure the UART
|
||||
settings of the QCA7000 firmware, but it's not possible to change them during
|
||||
runtime
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
const: qca,qca7000
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
qca,legacy-mode:
|
||||
$ref: /schemas/types.yaml#/definitions/flag
|
||||
description:
|
||||
Set the SPI data transfer of the QCA7000 to legacy mode.
|
||||
In this mode the SPI master must toggle the chip select
|
||||
between each data word. In burst mode these gaps aren't
|
||||
necessary, which is faster. This setting depends on how
|
||||
the QCA7000 is setup via GPIO pin strapping. If the
|
||||
property is missing the driver defaults to burst mode.
|
||||
|
||||
allOf:
|
||||
- $ref: ethernet-controller.yaml#
|
||||
|
||||
- if:
|
||||
required:
|
||||
- reg
|
||||
|
||||
then:
|
||||
properties:
|
||||
spi-cpha: true
|
||||
|
||||
spi-cpol: true
|
||||
|
||||
spi-max-frequency:
|
||||
default: 8000000
|
||||
maximum: 16000000
|
||||
minimum: 1000000
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/spi/spi-peripheral-props.yaml#
|
||||
|
||||
else:
|
||||
properties:
|
||||
current-speed:
|
||||
default: 115200
|
||||
|
||||
qca,legacy-mode: false
|
||||
|
||||
allOf:
|
||||
- $ref: /schemas/serial/serial-peripheral-props.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
spi {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethernet@0 {
|
||||
compatible = "qca,qca7000";
|
||||
reg = <0x0>;
|
||||
interrupt-parent = <&gpio3>;
|
||||
interrupts = <25 IRQ_TYPE_EDGE_RISING>;
|
||||
spi-cpha;
|
||||
spi-cpol;
|
||||
spi-max-frequency = <8000000>;
|
||||
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
|
||||
};
|
||||
};
|
||||
|
||||
- |
|
||||
serial {
|
||||
ethernet {
|
||||
compatible = "qca,qca7000";
|
||||
local-mac-address = [ a0 b0 c0 d0 e0 f0 ];
|
||||
current-speed = <38400>;
|
||||
};
|
||||
};
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/renesas,r9a09g057-gbeth.yaml#
|
||||
$id: http://devicetree.org/schemas/net/renesas,rzv2h-gbeth.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: GBETH glue layer for Renesas RZ/V2H(P) (and similar SoCs)
|
||||
|
@ -14,6 +14,7 @@ select:
|
|||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- renesas,r9a09g047-gbeth
|
||||
- renesas,r9a09g056-gbeth
|
||||
- renesas,r9a09g057-gbeth
|
||||
- renesas,rzv2h-gbeth
|
||||
|
@ -24,6 +25,7 @@ properties:
|
|||
compatible:
|
||||
items:
|
||||
- enum:
|
||||
- renesas,r9a09g047-gbeth # RZ/G3E
|
||||
- renesas,r9a09g056-gbeth # RZ/V2N
|
||||
- renesas,r9a09g057-gbeth # RZ/V2H(P)
|
||||
- const: renesas,rzv2h-gbeth
|
|
@ -30,6 +30,7 @@ select:
|
|||
- snps,dwmac-4.00
|
||||
- snps,dwmac-4.10a
|
||||
- snps,dwmac-4.20a
|
||||
- snps,dwmac-5.00a
|
||||
- snps,dwmac-5.10a
|
||||
- snps,dwmac-5.20
|
||||
- snps,dwmac-5.30a
|
||||
|
@ -98,11 +99,13 @@ properties:
|
|||
- snps,dwmac-4.00
|
||||
- snps,dwmac-4.10a
|
||||
- snps,dwmac-4.20a
|
||||
- snps,dwmac-5.00a
|
||||
- snps,dwmac-5.10a
|
||||
- snps,dwmac-5.20
|
||||
- snps,dwmac-5.30a
|
||||
- snps,dwxgmac
|
||||
- snps,dwxgmac-2.10
|
||||
- sophgo,sg2042-dwmac
|
||||
- sophgo,sg2044-dwmac
|
||||
- starfive,jh7100-dwmac
|
||||
- starfive,jh7110-dwmac
|
||||
|
@ -641,6 +644,7 @@ allOf:
|
|||
- snps,dwmac-4.00
|
||||
- snps,dwmac-4.10a
|
||||
- snps,dwmac-4.20a
|
||||
- snps,dwmac-5.00a
|
||||
- snps,dwmac-5.10a
|
||||
- snps,dwmac-5.20
|
||||
- snps,dwmac-5.30a
|
||||
|
|
|
@ -1,57 +0,0 @@
|
|||
Altera SOCFPGA SoC DWMAC controller
|
||||
|
||||
This is a variant of the dwmac/stmmac driver an inherits all descriptions
|
||||
present in Documentation/devicetree/bindings/net/stmmac.txt.
|
||||
|
||||
The device node has additional properties:
|
||||
|
||||
Required properties:
|
||||
- compatible : For Cyclone5/Arria5 SoCs it should contain
|
||||
"altr,socfpga-stmmac". For Arria10/Agilex/Stratix10 SoCs
|
||||
"altr,socfpga-stmmac-a10-s10".
|
||||
Along with "snps,dwmac" and any applicable more detailed
|
||||
designware version numbers documented in stmmac.txt
|
||||
- altr,sysmgr-syscon : Should be the phandle to the system manager node that
|
||||
encompasses the glue register, the register offset, and the register shift.
|
||||
On Cyclone5/Arria5, the register shift represents the PHY mode bits, while
|
||||
on the Arria10/Stratix10/Agilex platforms, the register shift represents
|
||||
bit for each emac to enable/disable signals from the FPGA fabric to the
|
||||
EMAC modules.
|
||||
- altr,f2h_ptp_ref_clk use f2h_ptp_ref_clk instead of default eosc1 clock
|
||||
for ptp ref clk. This affects all emacs as the clock is common.
|
||||
|
||||
Optional properties:
|
||||
altr,emac-splitter: Should be the phandle to the emac splitter soft IP node if
|
||||
DWMAC controller is connected emac splitter.
|
||||
phy-mode: The phy mode the ethernet operates in
|
||||
altr,sgmii-to-sgmii-converter: phandle to the TSE SGMII converter
|
||||
|
||||
This device node has additional phandle dependency, the sgmii converter:
|
||||
|
||||
Required properties:
|
||||
- compatible : Should be altr,gmii-to-sgmii-2.0
|
||||
- reg-names : Should be "eth_tse_control_port"
|
||||
|
||||
Example:
|
||||
|
||||
gmii_to_sgmii_converter: phy@100000240 {
|
||||
compatible = "altr,gmii-to-sgmii-2.0";
|
||||
reg = <0x00000001 0x00000240 0x00000008>,
|
||||
<0x00000001 0x00000200 0x00000040>;
|
||||
reg-names = "eth_tse_control_port";
|
||||
clocks = <&sgmii_1_clk_0 &emac1 1 &sgmii_clk_125 &sgmii_clk_125>;
|
||||
clock-names = "tse_pcs_ref_clk_clock_connection", "tse_rx_cdr_refclk";
|
||||
};
|
||||
|
||||
gmac0: ethernet@ff700000 {
|
||||
compatible = "altr,socfpga-stmmac", "snps,dwmac-3.70a", "snps,dwmac";
|
||||
altr,sysmgr-syscon = <&sysmgr 0x60 0>;
|
||||
reg = <0xff700000 0x2000>;
|
||||
interrupts = <0 115 4>;
|
||||
interrupt-names = "macirq";
|
||||
mac-address = [00 00 00 00 00 00];/* Filled in by U-Boot */
|
||||
clocks = <&emac_0_clk>;
|
||||
clock-names = "stmmaceth";
|
||||
phy-mode = "sgmii";
|
||||
altr,gmii-to-sgmii-converter = <&gmii_to_sgmii_converter>;
|
||||
};
|
114
Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
Normal file
114
Documentation/devicetree/bindings/net/sophgo,cv1800b-dwmac.yaml
Normal file
|
@ -0,0 +1,114 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/sophgo,cv1800b-dwmac.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Sophgo CV1800B DWMAC glue layer
|
||||
|
||||
maintainers:
|
||||
- Inochi Amaoto <inochiama@gmail.com>
|
||||
|
||||
select:
|
||||
properties:
|
||||
compatible:
|
||||
contains:
|
||||
enum:
|
||||
- sophgo,cv1800b-dwmac
|
||||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
- const: sophgo,cv1800b-dwmac
|
||||
- const: snps,dwmac-3.70a
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
items:
|
||||
- description: GMAC main clock
|
||||
- description: PTP clock
|
||||
|
||||
clock-names:
|
||||
items:
|
||||
- const: stmmaceth
|
||||
- const: ptp_ref
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
interrupt-names:
|
||||
maxItems: 1
|
||||
|
||||
resets:
|
||||
maxItems: 1
|
||||
|
||||
reset-names:
|
||||
const: stmmaceth
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- clock-names
|
||||
- interrupts
|
||||
- interrupt-names
|
||||
- resets
|
||||
- reset-names
|
||||
|
||||
allOf:
|
||||
- $ref: snps,dwmac.yaml#
|
||||
|
||||
unevaluatedProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
#include <dt-bindings/interrupt-controller/irq.h>
|
||||
|
||||
ethernet@4070000 {
|
||||
compatible = "sophgo,cv1800b-dwmac", "snps,dwmac-3.70a";
|
||||
reg = <0x04070000 0x10000>;
|
||||
clocks = <&clk 35>, <&clk 36>;
|
||||
clock-names = "stmmaceth", "ptp_ref";
|
||||
interrupts = <31 IRQ_TYPE_LEVEL_HIGH>;
|
||||
interrupt-names = "macirq";
|
||||
phy-handle = <&internal_ephy>;
|
||||
phy-mode = "internal";
|
||||
resets = <&rst 12>;
|
||||
reset-names = "stmmaceth";
|
||||
rx-fifo-depth = <8192>;
|
||||
tx-fifo-depth = <8192>;
|
||||
snps,multicast-filter-bins = <0>;
|
||||
snps,perfect-filter-entries = <1>;
|
||||
snps,aal;
|
||||
snps,txpbl = <8>;
|
||||
snps,rxpbl = <8>;
|
||||
snps,mtl-rx-config = <&gmac0_mtl_rx_setup>;
|
||||
snps,mtl-tx-config = <&gmac0_mtl_tx_setup>;
|
||||
snps,axi-config = <&gmac0_stmmac_axi_setup>;
|
||||
|
||||
mdio {
|
||||
compatible = "snps,dwmac-mdio";
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
};
|
||||
|
||||
gmac0_mtl_rx_setup: rx-queues-config {
|
||||
snps,rx-queues-to-use = <1>;
|
||||
queue0 {};
|
||||
};
|
||||
|
||||
gmac0_mtl_tx_setup: tx-queues-config {
|
||||
snps,tx-queues-to-use = <1>;
|
||||
queue0 {};
|
||||
};
|
||||
|
||||
gmac0_stmmac_axi_setup: stmmac-axi-config {
|
||||
snps,blen = <16 8 4 0 0 0 0>;
|
||||
snps,rd_osr_lmt = <2>;
|
||||
snps,wr_osr_lmt = <1>;
|
||||
};
|
||||
};
|
|
@ -15,12 +15,17 @@ select:
|
|||
contains:
|
||||
enum:
|
||||
- sophgo,sg2044-dwmac
|
||||
- sophgo,sg2042-dwmac
|
||||
required:
|
||||
- compatible
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
items:
|
||||
oneOf:
|
||||
- items:
|
||||
- const: sophgo,sg2042-dwmac
|
||||
- const: snps,dwmac-5.00a
|
||||
- items:
|
||||
- const: sophgo,sg2044-dwmac
|
||||
- const: snps,dwmac-5.30a
|
||||
|
||||
|
|
|
@ -284,7 +284,7 @@ examples:
|
|||
ti,syscon-efuse = <&mcu_conf 0x200>;
|
||||
phys = <&phy_gmii_sel 1>;
|
||||
|
||||
phy-mode = "rgmii-rxid";
|
||||
phy-mode = "rgmii-id";
|
||||
phy-handle = <&phy0>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -12,7 +12,7 @@ maintainers:
|
|||
description: |
|
||||
This node provides properties for configuring the ath9k wireless device.
|
||||
The node is expected to be specified as a child node of the PCI controller
|
||||
to which the wireless chip is connected.
|
||||
or AHB bus to which the wireless chip is connected.
|
||||
|
||||
allOf:
|
||||
- $ref: ieee80211.yaml#
|
||||
|
@ -35,6 +35,12 @@ properties:
|
|||
- pci168c,0034 # AR9462
|
||||
- pci168c,0036 # AR9565
|
||||
- pci168c,0037 # AR1111 and AR9485
|
||||
- qca,ar9130-wifi
|
||||
- qca,ar9330-wifi
|
||||
- qca,ar9340-wifi
|
||||
- qca,qca9530-wifi
|
||||
- qca,qca9550-wifi
|
||||
- qca,qca9560-wifi
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
@ -88,3 +94,13 @@ examples:
|
|||
nvmem-cell-names = "mac-address", "calibration";
|
||||
};
|
||||
};
|
||||
- |
|
||||
ahb {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
wifi@180c0000 {
|
||||
compatible = "qca,ar9130-wifi";
|
||||
reg = <0x180c0000 0x230000>;
|
||||
interrupts = <2>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -35,6 +35,12 @@ properties:
|
|||
string to uniquely identify variant of the calibration data for designs
|
||||
with colliding bus and device ids
|
||||
|
||||
firmware-name:
|
||||
maxItems: 1
|
||||
description:
|
||||
If present, a board or platform specific string used to lookup
|
||||
usecase-specific firmware files for the device.
|
||||
|
||||
vddrfacmn-supply:
|
||||
description: VDD_RFA_CMN supply regulator handle
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||||
%YAML 1.2
|
||||
---
|
||||
$id: http://devicetree.org/schemas/net/wireless/ralink,rt2880.yaml#
|
||||
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||||
|
||||
title: Ralink RT2880 wireless device
|
||||
|
||||
maintainers:
|
||||
- Stanislaw Gruszka <stf_xl@wp.pl>
|
||||
|
||||
description: |
|
||||
This node provides properties for configuring RT2880 SOC wifi devices.
|
||||
The node is expected to be specified as a root node of the device.
|
||||
|
||||
allOf:
|
||||
- $ref: ieee80211.yaml#
|
||||
|
||||
properties:
|
||||
compatible:
|
||||
enum:
|
||||
- ralink,rt2880-wifi
|
||||
|
||||
reg:
|
||||
maxItems: 1
|
||||
|
||||
clocks:
|
||||
maxItems: 1
|
||||
|
||||
interrupts:
|
||||
maxItems: 1
|
||||
|
||||
required:
|
||||
- compatible
|
||||
- reg
|
||||
- clocks
|
||||
- interrupts
|
||||
|
||||
additionalProperties: false
|
||||
|
||||
examples:
|
||||
- |
|
||||
wifi@110180000 {
|
||||
compatible = "ralink,rt2880-wifi";
|
||||
reg = <0x10180000 0x40000>;
|
||||
clocks = <&sysc 16>;
|
||||
interrupt-parent = <&cpuintc>;
|
||||
interrupts = <6>;
|
||||
};
|
|
@ -214,6 +214,24 @@ offset values are fractional with 3-digit decimal places and shell be
|
|||
divided with ``DPLL_PIN_PHASE_OFFSET_DIVIDER`` to get integer part and
|
||||
modulo divided to get fractional part.
|
||||
|
||||
Phase offset monitor
|
||||
====================
|
||||
|
||||
Phase offset measurement is typically performed against the current active
|
||||
source. However, some DPLL (Digital Phase-Locked Loop) devices may offer
|
||||
the capability to monitor phase offsets across all available inputs.
|
||||
The attribute and current feature state shall be included in the response
|
||||
message of the ``DPLL_CMD_DEVICE_GET`` command for supported DPLL devices.
|
||||
In such cases, users can also control the feature using the
|
||||
``DPLL_CMD_DEVICE_SET`` command by setting the ``enum dpll_feature_state``
|
||||
values for the attribute.
|
||||
Once enabled the phase offset measurements for the input shall be returned
|
||||
in the ``DPLL_A_PIN_PHASE_OFFSET`` attribute.
|
||||
|
||||
=============================== ========================
|
||||
``DPLL_A_PHASE_OFFSET_MONITOR`` attr state of a feature
|
||||
=============================== ========================
|
||||
|
||||
Embedded SYNC
|
||||
=============
|
||||
|
||||
|
@ -235,6 +253,31 @@ the pin.
|
|||
``DPLL_A_PIN_ESYNC_PULSE`` pulse type of Embedded SYNC
|
||||
========================================= =================================
|
||||
|
||||
Reference SYNC
|
||||
==============
|
||||
|
||||
The device may support the Reference SYNC feature, which allows the combination
|
||||
of two inputs into a input pair. In this configuration, clock signals
|
||||
from both inputs are used to synchronize the DPLL device. The higher frequency
|
||||
signal is utilized for the loop bandwidth of the DPLL, while the lower frequency
|
||||
signal is used to syntonize the output signal of the DPLL device. This feature
|
||||
enables the provision of a high-quality loop bandwidth signal from an external
|
||||
source.
|
||||
|
||||
A capable input provides a list of inputs that can be bound with to create
|
||||
Reference SYNC. To control this feature, the user must request a desired
|
||||
state for a target pin: use ``DPLL_PIN_STATE_CONNECTED`` to enable or
|
||||
``DPLL_PIN_STATE_DISCONNECTED`` to disable the feature. An input pin can be
|
||||
bound to only one other pin at any given time.
|
||||
|
||||
============================== ==========================================
|
||||
``DPLL_A_PIN_REFERENCE_SYNC`` nested attribute for providing info or
|
||||
requesting configuration of the Reference
|
||||
SYNC feature
|
||||
``DPLL_A_PIN_ID`` target pin id for Reference SYNC feature
|
||||
``DPLL_A_PIN_STATE`` state of Reference SYNC connection
|
||||
============================== ==========================================
|
||||
|
||||
Configuration commands group
|
||||
============================
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: conntrack
|
||||
protocol: netlink-raw
|
||||
protonum: 12
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: devlink
|
||||
|
||||
protocol: genetlink-legacy
|
||||
|
@ -224,6 +224,10 @@ definitions:
|
|||
value: 10
|
||||
-
|
||||
name: binary
|
||||
-
|
||||
name: rate-tc-index-max
|
||||
type: const
|
||||
value: 7
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -744,7 +748,7 @@ attribute-sets:
|
|||
name: flash-update-overwrite-mask
|
||||
type: bitfield32
|
||||
enum: flash-overwrite
|
||||
enum-as-flags: True
|
||||
enum-as-flags: true
|
||||
-
|
||||
name: reload-action
|
||||
type: u8
|
||||
|
@ -753,12 +757,12 @@ attribute-sets:
|
|||
name: reload-actions-performed
|
||||
type: bitfield32
|
||||
enum: reload-action
|
||||
enum-as-flags: True
|
||||
enum-as-flags: true
|
||||
-
|
||||
name: reload-limits
|
||||
type: bitfield32
|
||||
enum: reload-action
|
||||
enum-as-flags: True
|
||||
enum-as-flags: true
|
||||
-
|
||||
name: dev-stats
|
||||
type: nest
|
||||
|
@ -844,7 +848,11 @@ attribute-sets:
|
|||
-
|
||||
name: region-direct
|
||||
type: flag
|
||||
|
||||
-
|
||||
name: rate-tc-bws
|
||||
type: nest
|
||||
multi-attr: true
|
||||
nested-attributes: dl-rate-tc-bws
|
||||
-
|
||||
name: dl-dev-stats
|
||||
subset-of: devlink
|
||||
|
@ -917,7 +925,7 @@ attribute-sets:
|
|||
name: caps
|
||||
type: bitfield32
|
||||
enum: port-fn-attr-cap
|
||||
enum-as-flags: True
|
||||
enum-as-flags: true
|
||||
|
||||
-
|
||||
name: dl-dpipe-tables
|
||||
|
@ -1249,6 +1257,22 @@ attribute-sets:
|
|||
-
|
||||
name: flash
|
||||
type: flag
|
||||
-
|
||||
name: dl-rate-tc-bws
|
||||
name-prefix: devlink-rate-tc-attr-
|
||||
attributes:
|
||||
-
|
||||
name: index
|
||||
type: u8
|
||||
checks:
|
||||
max: rate-tc-index-max
|
||||
-
|
||||
name: bw
|
||||
type: u32
|
||||
doc: |
|
||||
Specifies the bandwidth share assigned to the Traffic Class.
|
||||
The bandwidth for the traffic class is determined
|
||||
in proportion to the sum of the shares of all configured classes.
|
||||
|
||||
operations:
|
||||
enum-model: directional
|
||||
|
@ -1257,7 +1281,7 @@ operations:
|
|||
name: get
|
||||
doc: Get devlink instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict, dump ]
|
||||
dont-validate: [strict, dump]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1280,7 +1304,7 @@ operations:
|
|||
name: port-get
|
||||
doc: Get devlink port instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1304,8 +1328,8 @@ operations:
|
|||
name: port-set
|
||||
doc: Set devlink port instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1321,8 +1345,8 @@ operations:
|
|||
name: port-new
|
||||
doc: Create devlink port instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1343,8 +1367,8 @@ operations:
|
|||
name: port-del
|
||||
doc: Delete devlink port instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1355,8 +1379,8 @@ operations:
|
|||
name: port-split
|
||||
doc: Split devlink port instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1371,8 +1395,8 @@ operations:
|
|||
name: port-unsplit
|
||||
doc: Unplit devlink port instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1383,7 +1407,7 @@ operations:
|
|||
name: sb-get
|
||||
doc: Get shared buffer instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1405,7 +1429,7 @@ operations:
|
|||
name: sb-pool-get
|
||||
doc: Get shared buffer pool instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1428,8 +1452,8 @@ operations:
|
|||
name: sb-pool-set
|
||||
doc: Set shared buffer pool instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1446,7 +1470,7 @@ operations:
|
|||
name: sb-port-pool-get
|
||||
doc: Get shared buffer port-pool combinations and threshold.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1470,8 +1494,8 @@ operations:
|
|||
name: sb-port-pool-set
|
||||
doc: Set shared buffer port-pool combinations and threshold.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1488,7 +1512,7 @@ operations:
|
|||
name: sb-tc-pool-bind-get
|
||||
doc: Get shared buffer port-TC to pool bindings and threshold.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1513,8 +1537,8 @@ operations:
|
|||
name: sb-tc-pool-bind-set
|
||||
doc: Set shared buffer port-TC to pool bindings and threshold.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1533,8 +1557,8 @@ operations:
|
|||
name: sb-occ-snapshot
|
||||
doc: Take occupancy snapshot of shared buffer.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1549,8 +1573,8 @@ operations:
|
|||
name: sb-occ-max-clear
|
||||
doc: Clear occupancy watermarks of shared buffer.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1564,8 +1588,8 @@ operations:
|
|||
name: eswitch-get
|
||||
doc: Get eswitch attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1584,8 +1608,8 @@ operations:
|
|||
name: eswitch-set
|
||||
doc: Set eswitch attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1596,7 +1620,7 @@ operations:
|
|||
name: dpipe-table-get
|
||||
doc: Get dpipe table attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1616,7 +1640,7 @@ operations:
|
|||
name: dpipe-entries-get
|
||||
doc: Get dpipe entries attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1635,7 +1659,7 @@ operations:
|
|||
name: dpipe-headers-get
|
||||
doc: Get dpipe headers attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1653,8 +1677,8 @@ operations:
|
|||
name: dpipe-table-counters-set
|
||||
doc: Set dpipe counter attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1669,8 +1693,8 @@ operations:
|
|||
name: resource-set
|
||||
doc: Set resource attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1685,7 +1709,7 @@ operations:
|
|||
name: resource-dump
|
||||
doc: Get resource attributes.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1704,8 +1728,8 @@ operations:
|
|||
name: reload
|
||||
doc: Reload devlink.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-dev-lock
|
||||
post: devlink-nl-post-doit-dev-lock
|
||||
|
@ -1728,7 +1752,7 @@ operations:
|
|||
name: param-get
|
||||
doc: Get param instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1748,8 +1772,8 @@ operations:
|
|||
name: param-set
|
||||
doc: Set param instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1766,7 +1790,7 @@ operations:
|
|||
name: region-get
|
||||
doc: Get region instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1789,8 +1813,8 @@ operations:
|
|||
name: region-new
|
||||
doc: Create region snapshot.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1810,8 +1834,8 @@ operations:
|
|||
name: region-del
|
||||
doc: Delete region snapshot.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1822,8 +1846,8 @@ operations:
|
|||
name: region-read
|
||||
doc: Read region data.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ dump-strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [dump-strict]
|
||||
flags: [admin-perm]
|
||||
dump:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -1847,7 +1871,7 @@ operations:
|
|||
name: port-param-get
|
||||
doc: Get port param instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict, dump-strict ]
|
||||
dont-validate: [strict, dump-strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1863,8 +1887,8 @@ operations:
|
|||
name: port-param-set
|
||||
doc: Set port param instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1873,9 +1897,11 @@ operations:
|
|||
|
||||
-
|
||||
name: info-get
|
||||
doc: Get device information, like driver name, hardware and firmware versions etc.
|
||||
doc: |
|
||||
Get device information, like driver name, hardware and firmware versions
|
||||
etc.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict, dump ]
|
||||
dont-validate: [strict, dump]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1900,7 +1926,7 @@ operations:
|
|||
name: health-reporter-get
|
||||
doc: Get health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1921,8 +1947,8 @@ operations:
|
|||
name: health-reporter-set
|
||||
doc: Set health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1940,8 +1966,8 @@ operations:
|
|||
name: health-reporter-recover
|
||||
doc: Recover health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1952,8 +1978,8 @@ operations:
|
|||
name: health-reporter-diagnose
|
||||
doc: Diagnose health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1964,8 +1990,8 @@ operations:
|
|||
name: health-reporter-dump-get
|
||||
doc: Dump health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ dump-strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [dump-strict]
|
||||
flags: [admin-perm]
|
||||
dump:
|
||||
request:
|
||||
attributes: *health-reporter-id-attrs
|
||||
|
@ -1978,8 +2004,8 @@ operations:
|
|||
name: health-reporter-dump-clear
|
||||
doc: Clear dump of health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -1990,8 +2016,8 @@ operations:
|
|||
name: flash-update
|
||||
doc: Flash update devlink instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2007,7 +2033,7 @@ operations:
|
|||
name: trap-get
|
||||
doc: Get trap instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2029,8 +2055,8 @@ operations:
|
|||
name: trap-set
|
||||
doc: Set trap instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2045,7 +2071,7 @@ operations:
|
|||
name: trap-group-get
|
||||
doc: Get trap group instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2067,8 +2093,8 @@ operations:
|
|||
name: trap-group-set
|
||||
doc: Set trap group instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2084,7 +2110,7 @@ operations:
|
|||
name: trap-policer-get
|
||||
doc: Get trap policer instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2106,8 +2132,8 @@ operations:
|
|||
name: trap-policer-set
|
||||
doc: Get trap policer instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2123,8 +2149,8 @@ operations:
|
|||
name: health-reporter-test
|
||||
doc: Test health reporter instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit-port-optional
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2136,7 +2162,7 @@ operations:
|
|||
name: rate-get
|
||||
doc: Get rate instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2159,8 +2185,8 @@ operations:
|
|||
name: rate-set
|
||||
doc: Set rate instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2174,13 +2200,14 @@ operations:
|
|||
- rate-tx-priority
|
||||
- rate-tx-weight
|
||||
- rate-parent-node-name
|
||||
- rate-tc-bws
|
||||
|
||||
-
|
||||
name: rate-new
|
||||
doc: Create rate instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2194,13 +2221,14 @@ operations:
|
|||
- rate-tx-priority
|
||||
- rate-tx-weight
|
||||
- rate-parent-node-name
|
||||
- rate-tc-bws
|
||||
|
||||
-
|
||||
name: rate-del
|
||||
doc: Delete rate instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2214,7 +2242,7 @@ operations:
|
|||
name: linecard-get
|
||||
doc: Get line card instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2236,8 +2264,8 @@ operations:
|
|||
name: linecard-set
|
||||
doc: Set line card instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2252,7 +2280,7 @@ operations:
|
|||
name: selftests-get
|
||||
doc: Get device selftest instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict, dump ]
|
||||
dont-validate: [strict, dump]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
@ -2269,8 +2297,8 @@ operations:
|
|||
name: selftests-run
|
||||
doc: Run device selftest instances.
|
||||
attribute-set: devlink
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
pre: devlink-nl-pre-doit
|
||||
post: devlink-nl-post-doit
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: dpll
|
||||
|
||||
doc: DPLL subsystem.
|
||||
|
@ -240,6 +240,20 @@ definitions:
|
|||
integer part of a measured phase offset value.
|
||||
Value of (DPLL_A_PHASE_OFFSET % DPLL_PHASE_OFFSET_DIVIDER) is a
|
||||
fractional part of a measured phase offset value.
|
||||
-
|
||||
type: enum
|
||||
name: feature-state
|
||||
doc: |
|
||||
Allow control (enable/disable) and status checking over features.
|
||||
entries:
|
||||
-
|
||||
name: disable
|
||||
doc: |
|
||||
feature shall be disabled
|
||||
-
|
||||
name: enable
|
||||
doc: |
|
||||
feature shall be enabled
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -293,6 +307,14 @@ attribute-sets:
|
|||
be put to message multiple times to indicate possible parallel
|
||||
quality levels (e.g. one specified by ITU option 1 and another
|
||||
one specified by option 2).
|
||||
-
|
||||
name: phase-offset-monitor
|
||||
type: u32
|
||||
enum: feature-state
|
||||
doc: Receive or request state of phase offset monitor feature.
|
||||
If enabled, dpll device shall monitor and notify all currently
|
||||
available inputs for changes of their phase offset against the
|
||||
dpll device.
|
||||
-
|
||||
name: pin
|
||||
enum-name: dpll_a_pin
|
||||
|
@ -406,6 +428,15 @@ attribute-sets:
|
|||
doc: |
|
||||
A ratio of high to low state of a SYNC signal pulse embedded
|
||||
into base clock frequency. Value is in percents.
|
||||
-
|
||||
name: reference-sync
|
||||
type: nest
|
||||
multi-attr: true
|
||||
nested-attributes: reference-sync
|
||||
doc: |
|
||||
Capable pin provides list of pins that can be bound to create a
|
||||
reference-sync pin pair.
|
||||
|
||||
-
|
||||
name: pin-parent-device
|
||||
subset-of: pin
|
||||
|
@ -436,6 +467,14 @@ attribute-sets:
|
|||
name: frequency-min
|
||||
-
|
||||
name: frequency-max
|
||||
-
|
||||
name: reference-sync
|
||||
subset-of: pin
|
||||
attributes:
|
||||
-
|
||||
name: id
|
||||
-
|
||||
name: state
|
||||
|
||||
operations:
|
||||
enum-name: dpll_cmd
|
||||
|
@ -445,7 +484,7 @@ operations:
|
|||
doc: |
|
||||
Get id of dpll device that matches given attributes
|
||||
attribute-set: dpll
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: dpll-lock-doit
|
||||
|
@ -464,7 +503,7 @@ operations:
|
|||
doc: |
|
||||
Get list of DPLL devices (dump) or attributes of a single dpll device
|
||||
attribute-set: dpll
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: dpll-pre-doit
|
||||
|
@ -483,6 +522,7 @@ operations:
|
|||
- temp
|
||||
- clock-id
|
||||
- type
|
||||
- phase-offset-monitor
|
||||
|
||||
dump:
|
||||
reply: *dev-attrs
|
||||
|
@ -491,7 +531,7 @@ operations:
|
|||
name: device-set
|
||||
doc: Set attributes for a DPLL device
|
||||
attribute-set: dpll
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: dpll-pre-doit
|
||||
|
@ -499,6 +539,7 @@ operations:
|
|||
request:
|
||||
attributes:
|
||||
- id
|
||||
- phase-offset-monitor
|
||||
-
|
||||
name: device-create-ntf
|
||||
doc: Notification about device appearing
|
||||
|
@ -519,7 +560,7 @@ operations:
|
|||
doc: |
|
||||
Get id of a pin that matches given attributes
|
||||
attribute-set: pin
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: dpll-lock-doit
|
||||
|
@ -547,7 +588,7 @@ operations:
|
|||
a given dpll device
|
||||
- do request with target dpll and target pin - single pin attributes
|
||||
attribute-set: pin
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: dpll-pin-pre-doit
|
||||
|
@ -574,6 +615,7 @@ operations:
|
|||
- esync-frequency
|
||||
- esync-frequency-supported
|
||||
- esync-pulse
|
||||
- reference-sync
|
||||
|
||||
dump:
|
||||
request:
|
||||
|
@ -585,7 +627,7 @@ operations:
|
|||
name: pin-set
|
||||
doc: Set attributes of a target pin
|
||||
attribute-set: pin
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: dpll-pin-pre-doit
|
||||
|
@ -601,6 +643,7 @@ operations:
|
|||
- parent-pin
|
||||
- phase-adjust
|
||||
- esync-frequency
|
||||
- reference-sync
|
||||
-
|
||||
name: pin-create-ntf
|
||||
doc: Notification about pin appearing
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: ethtool
|
||||
|
||||
protocol: genetlink-legacy
|
||||
|
@ -15,7 +15,7 @@ definitions:
|
|||
name: udp-tunnel-type
|
||||
enum-name:
|
||||
type: enum
|
||||
entries: [ vxlan, geneve, vxlan-gpe ]
|
||||
entries: [vxlan, geneve, vxlan-gpe]
|
||||
enum-cnt-name: __ethtool-udp-tunnel-type-cnt
|
||||
render-max: true
|
||||
-
|
||||
|
@ -58,7 +58,9 @@ definitions:
|
|||
doc: The firmware flashing process was stopped due to an error.
|
||||
-
|
||||
name: c33-pse-ext-state
|
||||
doc: "groups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4 Variables"
|
||||
doc: |
|
||||
"groups of PSE extended states functions. IEEE 802.3-2022 33.2.4.4
|
||||
Variables"
|
||||
type: enum
|
||||
name-prefix: ethtool-c33-pse-ext-state-
|
||||
header: linux/ethtool.h
|
||||
|
@ -96,11 +98,11 @@ definitions:
|
|||
header: linux/ethtool.h
|
||||
type: enum
|
||||
name-prefix: phy-upstream
|
||||
entries: [ mac, phy ]
|
||||
entries: [mac, phy]
|
||||
-
|
||||
name: tcp-data-split
|
||||
type: enum
|
||||
entries: [ unknown, disabled, enabled ]
|
||||
entries: [unknown, disabled, enabled]
|
||||
-
|
||||
name: hwtstamp-source
|
||||
doc: Source of the hardware timestamp
|
||||
|
@ -119,6 +121,92 @@ definitions:
|
|||
doc: |
|
||||
Hardware timestamp comes from one PHY device
|
||||
of the network topology
|
||||
-
|
||||
name: pse-event
|
||||
doc: PSE event list for the PSE controller
|
||||
type: flags
|
||||
name-prefix: ethtool-
|
||||
entries:
|
||||
-
|
||||
name: pse-event-over-current
|
||||
doc: PSE output current is too high
|
||||
-
|
||||
name: pse-event-over-temp
|
||||
doc: PSE in over temperature state
|
||||
-
|
||||
name: c33-pse-event-detection
|
||||
doc: |
|
||||
detection process occur on the PSE. IEEE 802.3-2022 33.2.5 and
|
||||
145.2.6 PSE detection of PDs. IEEE 802.3-202 30.9.1.1.5
|
||||
aPSEPowerDetectionStatus
|
||||
-
|
||||
name: c33-pse-event-classification
|
||||
doc: |
|
||||
classification process occur on the PSE. IEEE 802.3-2022 33.2.6
|
||||
and 145.2.8 classification of PDs mutual identification.
|
||||
IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification.
|
||||
-
|
||||
name: c33-pse-event-disconnection
|
||||
doc: |
|
||||
PD has been disconnected on the PSE. IEEE 802.3-2022 33.3.8
|
||||
and 145.3.9 PD Maintain Power Signature. IEEE 802.3-2022
|
||||
33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20
|
||||
aPSEMPSAbsentCounter.
|
||||
-
|
||||
name: pse-event-over-budget
|
||||
doc: PSE turned off due to over budget situation
|
||||
-
|
||||
name: pse-event-sw-pw-control-error
|
||||
doc: PSE faced an error managing the power control from software
|
||||
-
|
||||
name: input-xfrm
|
||||
doc: RSS hash function transformations.
|
||||
type: flags
|
||||
enum-name:
|
||||
name-prefix: rxh-xfrm-
|
||||
header: linux/ethtool.h
|
||||
entries:
|
||||
-
|
||||
name: sym-xor
|
||||
doc: >-
|
||||
XOR the corresponding source and destination fields of each specified
|
||||
protocol. Both copies of the XOR'ed fields are fed into the RSS and
|
||||
RXHASH calculation. Note that this XORing reduces the input set
|
||||
entropy and could be exploited to reduce the RSS queue spread.
|
||||
-
|
||||
name: sym-or-xor
|
||||
doc: >-
|
||||
Similar to SYM_XOR, except that one copy of the XOR'ed fields is
|
||||
replaced by an OR of the same fields.
|
||||
-
|
||||
name: rxfh-fields
|
||||
name-prefix: rxh-
|
||||
enum-name:
|
||||
header: linux/ethtool.h
|
||||
type: flags
|
||||
entries:
|
||||
-
|
||||
name: l2da
|
||||
value: 1
|
||||
-
|
||||
name: vlan
|
||||
-
|
||||
name: l3-proto
|
||||
-
|
||||
name: ip-src
|
||||
-
|
||||
name: ip-dst
|
||||
-
|
||||
name: l4-b-0-1
|
||||
doc: src port in case of TCP/UDP/SCTP
|
||||
-
|
||||
name: l4-b-2-3
|
||||
doc: dst port in case of TCP/UDP/SCTP
|
||||
-
|
||||
name: gtp-teid
|
||||
-
|
||||
name: discard
|
||||
value: 31
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -1227,7 +1315,7 @@ attribute-sets:
|
|||
-
|
||||
name: stat
|
||||
type: u64
|
||||
type-value: [ id ]
|
||||
type-value: [id]
|
||||
-
|
||||
name: hist-rx
|
||||
type: nest
|
||||
|
@ -1396,6 +1484,135 @@ attribute-sets:
|
|||
type: nest
|
||||
multi-attr: true
|
||||
nested-attributes: c33-pse-pw-limit
|
||||
-
|
||||
name: pse-pw-d-id
|
||||
type: u32
|
||||
name-prefix: ethtool-a-
|
||||
-
|
||||
name: pse-prio-max
|
||||
type: u32
|
||||
name-prefix: ethtool-a-
|
||||
-
|
||||
name: pse-prio
|
||||
type: u32
|
||||
name-prefix: ethtool-a-
|
||||
-
|
||||
name: flow
|
||||
attr-cnt-name: --ethtool-a-flow-cnt
|
||||
doc: |
|
||||
Flow types, corresponding to those defined in the old
|
||||
ethtool header for RXFH and RXNFC as ${PROTO}_FLOW.
|
||||
The values are not matching the old ones to avoid carrying
|
||||
into Netlink the IP_USER_FLOW vs IPV4_FLOW vs IPV4_USER_FLOW confusion.
|
||||
attributes:
|
||||
-
|
||||
name: ether
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: ip4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: ip6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: tcp4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: tcp6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: udp4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: udp6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: sctp4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: sctp6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: ah4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: ah6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: esp4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: esp6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: ah-esp4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: ah-esp6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpc4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpc6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpc-teid4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpc-teid6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu-eh4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu-eh6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu-ul4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu-ul6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu-dl4
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: gtpu-dl6
|
||||
type: uint
|
||||
enum: rxfh-fields
|
||||
-
|
||||
name: rss
|
||||
attr-cnt-name: __ethtool-a-rss-cnt
|
||||
|
@ -1424,9 +1641,14 @@ attribute-sets:
|
|||
-
|
||||
name: input-xfrm
|
||||
type: u32
|
||||
enum: input-xfrm
|
||||
-
|
||||
name: start-context
|
||||
type: u32
|
||||
-
|
||||
name: flow-hash
|
||||
type: nest
|
||||
nested-attributes: flow
|
||||
-
|
||||
name: plca
|
||||
attr-cnt-name: __ethtool-a-plca-cnt
|
||||
|
@ -1556,6 +1778,19 @@ attribute-sets:
|
|||
name: hwtstamp-flags
|
||||
type: nest
|
||||
nested-attributes: bitset
|
||||
-
|
||||
name: pse-ntf
|
||||
attr-cnt-name: --ethtool-a-pse-ntf-cnt
|
||||
attributes:
|
||||
-
|
||||
name: header
|
||||
type: nest
|
||||
nested-attributes: header
|
||||
-
|
||||
name: events
|
||||
type: uint
|
||||
enum: pse-event
|
||||
doc: List of events reported by the PSE controller
|
||||
|
||||
operations:
|
||||
enum-model: directional
|
||||
|
@ -2206,6 +2441,9 @@ operations:
|
|||
- c33-pse-ext-substate
|
||||
- c33-pse-avail-pw-limit
|
||||
- c33-pse-pw-limit-ranges
|
||||
- pse-pw-d-id
|
||||
- pse-prio-max
|
||||
- pse-prio
|
||||
dump: *pse-get-op
|
||||
-
|
||||
name: pse-set
|
||||
|
@ -2220,6 +2458,7 @@ operations:
|
|||
- podl-pse-admin-control
|
||||
- c33-pse-admin-control
|
||||
- c33-pse-avail-pw-limit
|
||||
- pse-prio
|
||||
-
|
||||
name: rss-get
|
||||
doc: Get RSS params.
|
||||
|
@ -2239,6 +2478,7 @@ operations:
|
|||
- indir
|
||||
- hkey
|
||||
- input-xfrm
|
||||
- flow-hash
|
||||
dump:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -2414,3 +2654,79 @@ operations:
|
|||
attributes: *tsconfig
|
||||
reply:
|
||||
attributes: *tsconfig
|
||||
-
|
||||
name: pse-ntf
|
||||
doc: Notification for PSE events.
|
||||
|
||||
attribute-set: pse-ntf
|
||||
|
||||
event:
|
||||
attributes:
|
||||
- header
|
||||
- events
|
||||
-
|
||||
name: rss-set
|
||||
doc: Set RSS params.
|
||||
|
||||
attribute-set: rss
|
||||
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
- header
|
||||
- context
|
||||
- hfunc
|
||||
- indir
|
||||
- hkey
|
||||
- input-xfrm
|
||||
- flow-hash
|
||||
-
|
||||
name: rss-ntf
|
||||
doc: |
|
||||
Notification for change in RSS configuration.
|
||||
For additional contexts only modifications use this notification,
|
||||
creation and deletion have dedicated messages.
|
||||
notify: rss-get
|
||||
-
|
||||
name: rss-create-act
|
||||
doc: Create an RSS context.
|
||||
attribute-set: rss
|
||||
do:
|
||||
request: &rss-create-attrs
|
||||
attributes:
|
||||
- header
|
||||
- context
|
||||
- hfunc
|
||||
- indir
|
||||
- hkey
|
||||
- input-xfrm
|
||||
reply: *rss-create-attrs
|
||||
-
|
||||
name: rss-create-ntf
|
||||
doc: |
|
||||
Notification for creation of an additional RSS context.
|
||||
notify: rss-create-act
|
||||
-
|
||||
name: rss-delete-act
|
||||
doc: Delete an RSS context.
|
||||
attribute-set: rss
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
- header
|
||||
- context
|
||||
-
|
||||
name: rss-delete-ntf
|
||||
doc: |
|
||||
Notification for deletion of an additional RSS context.
|
||||
attribute-set: rss
|
||||
event:
|
||||
attributes:
|
||||
- header
|
||||
- context
|
||||
|
||||
mcast-groups:
|
||||
list:
|
||||
-
|
||||
name: monitor
|
||||
c-define-name: ethtool-mcgrp-monitor-name
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: fou
|
||||
|
||||
protocol: genetlink-legacy
|
||||
|
@ -18,7 +18,7 @@ definitions:
|
|||
name: encap-type
|
||||
name-prefix: fou-encap-
|
||||
enum-name:
|
||||
entries: [ unspec, direct, gue ]
|
||||
entries: [unspec, direct, gue]
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -81,8 +81,8 @@ operations:
|
|||
doc: Add port.
|
||||
attribute-set: fou
|
||||
|
||||
dont-validate: [ strict, dump ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict, dump]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
request: &all_attrs
|
||||
|
@ -103,8 +103,8 @@ operations:
|
|||
doc: Delete port.
|
||||
attribute-set: fou
|
||||
|
||||
dont-validate: [ strict, dump ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict, dump]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
request: &select_attrs
|
||||
|
@ -122,7 +122,7 @@ operations:
|
|||
name: get
|
||||
doc: Get tunnel info.
|
||||
attribute-set: fou
|
||||
dont-validate: [ strict, dump ]
|
||||
dont-validate: [strict, dump]
|
||||
|
||||
do:
|
||||
request: *select_attrs
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# Copyright (c) 2023, Oracle and/or its affiliates.
|
||||
#
|
||||
|
||||
---
|
||||
name: handshake
|
||||
|
||||
protocol: genetlink
|
||||
|
@ -16,17 +16,17 @@ definitions:
|
|||
type: enum
|
||||
name: handler-class
|
||||
value-start: 0
|
||||
entries: [ none, tlshd, max ]
|
||||
entries: [none, tlshd, max]
|
||||
-
|
||||
type: enum
|
||||
name: msg-type
|
||||
value-start: 0
|
||||
entries: [ unspec, clienthello, serverhello ]
|
||||
entries: [unspec, clienthello, serverhello]
|
||||
-
|
||||
type: enum
|
||||
name: auth
|
||||
value-start: 0
|
||||
entries: [ unspec, unauth, psk, x509 ]
|
||||
entries: [unspec, unauth, psk, x509]
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -71,6 +71,9 @@ attribute-sets:
|
|||
-
|
||||
name: peername
|
||||
type: string
|
||||
-
|
||||
name: keyring
|
||||
type: u32
|
||||
-
|
||||
name: done
|
||||
attributes:
|
||||
|
@ -95,7 +98,7 @@ operations:
|
|||
name: accept
|
||||
doc: Handler retrieves next queued handshake request
|
||||
attribute-set: accept
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -109,6 +112,7 @@ operations:
|
|||
- peer-identity
|
||||
- certificate
|
||||
- peername
|
||||
- keyring
|
||||
-
|
||||
name: done
|
||||
doc: Handler reports handshake completion
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: lockd
|
||||
protocol: genetlink
|
||||
uapi-header: linux/lockd_netlink.h
|
||||
|
@ -26,7 +26,7 @@ operations:
|
|||
name: server-set
|
||||
doc: set the lockd server parameters
|
||||
attribute-set: server
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: mptcp_pm
|
||||
protocol: genetlink-legacy
|
||||
doc: Multipath TCP.
|
||||
|
@ -61,8 +61,8 @@ definitions:
|
|||
-
|
||||
name: sub-closed
|
||||
doc: >-
|
||||
A subflow has been closed. An error (copy of sk_err) could be set if an
|
||||
error has been detected for this subflow.
|
||||
A subflow has been closed. An error (copy of sk_err) could be set if
|
||||
an error has been detected for this subflow.
|
||||
Attributes: token, family, loc_id, rem_id, saddr4 | saddr6, daddr4 |
|
||||
daddr6, sport, dport, backup, if-idx [, error].
|
||||
-
|
||||
|
@ -277,8 +277,8 @@ operations:
|
|||
name: add-addr
|
||||
doc: Add endpoint
|
||||
attribute-set: endpoint
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: &add-addr-attrs
|
||||
request:
|
||||
attributes:
|
||||
|
@ -287,14 +287,14 @@ operations:
|
|||
name: del-addr
|
||||
doc: Delete endpoint
|
||||
attribute-set: endpoint
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: *add-addr-attrs
|
||||
-
|
||||
name: get-addr
|
||||
doc: Get endpoint information
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do: &get-addr-attrs
|
||||
request:
|
||||
attributes:
|
||||
|
@ -311,15 +311,15 @@ operations:
|
|||
name: flush-addrs
|
||||
doc: Flush addresses
|
||||
attribute-set: endpoint
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: *add-addr-attrs
|
||||
-
|
||||
name: set-limits
|
||||
doc: Set protocol limits
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: &mptcp-limits
|
||||
request:
|
||||
attributes:
|
||||
|
@ -329,7 +329,7 @@ operations:
|
|||
name: get-limits
|
||||
doc: Get protocol limits
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
do: &mptcp-get-limits
|
||||
request:
|
||||
attributes:
|
||||
|
@ -343,8 +343,8 @@ operations:
|
|||
name: set-flags
|
||||
doc: Change endpoint flags
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: &mptcp-set-flags
|
||||
request:
|
||||
attributes:
|
||||
|
@ -355,8 +355,8 @@ operations:
|
|||
name: announce
|
||||
doc: Announce new address
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: &announce-add
|
||||
request:
|
||||
attributes:
|
||||
|
@ -366,8 +366,8 @@ operations:
|
|||
name: remove
|
||||
doc: Announce removal
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -377,8 +377,8 @@ operations:
|
|||
name: subflow-create
|
||||
doc: Create subflow
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: &sf-create
|
||||
request:
|
||||
attributes:
|
||||
|
@ -389,6 +389,6 @@ operations:
|
|||
name: subflow-destroy
|
||||
doc: Destroy subflow
|
||||
attribute-set: attr
|
||||
dont-validate: [ strict ]
|
||||
flags: [ uns-admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [uns-admin-perm]
|
||||
do: *sf-create
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
---
|
||||
name: net-shaper
|
||||
|
||||
doc: |
|
||||
|
@ -243,7 +244,7 @@ operations:
|
|||
The set operation can't be used to create a @node scope shaper,
|
||||
use the @group operation instead.
|
||||
attribute-set: net-shaper
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: net-shaper-nl-pre-doit
|
||||
|
@ -274,7 +275,7 @@ operations:
|
|||
node with infinite bandwidth. The queue's implicit node
|
||||
feeds an implicit RR node at the root of the hierarchy.
|
||||
attribute-set: net-shaper
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: net-shaper-nl-pre-doit
|
||||
|
@ -305,7 +306,7 @@ operations:
|
|||
full identifier, comprising @binding and @handle, is provided
|
||||
as the reply.
|
||||
attribute-set: net-shaper
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
pre: net-shaper-nl-pre-doit
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: netdev
|
||||
|
||||
doc:
|
||||
|
@ -48,16 +48,19 @@ definitions:
|
|||
entries:
|
||||
-
|
||||
name: timestamp
|
||||
doc:
|
||||
Device is capable of exposing receive HW timestamp via bpf_xdp_metadata_rx_timestamp().
|
||||
doc: |
|
||||
Device is capable of exposing receive HW timestamp via
|
||||
bpf_xdp_metadata_rx_timestamp().
|
||||
-
|
||||
name: hash
|
||||
doc:
|
||||
Device is capable of exposing receive packet hash via bpf_xdp_metadata_rx_hash().
|
||||
doc: |
|
||||
Device is capable of exposing receive packet hash via
|
||||
bpf_xdp_metadata_rx_hash().
|
||||
-
|
||||
name: vlan-tag
|
||||
doc:
|
||||
Device is capable of exposing receive packet VLAN tag via bpf_xdp_metadata_rx_vlan_tag().
|
||||
doc: |
|
||||
Device is capable of exposing receive packet VLAN tag via
|
||||
bpf_xdp_metadata_rx_vlan_tag().
|
||||
-
|
||||
type: flags
|
||||
name: xsk-flags
|
||||
|
@ -77,11 +80,15 @@ definitions:
|
|||
-
|
||||
name: queue-type
|
||||
type: enum
|
||||
entries: [ rx, tx ]
|
||||
entries: [rx, tx]
|
||||
-
|
||||
name: qstats-scope
|
||||
type: flags
|
||||
entries: [ queue ]
|
||||
entries: [queue]
|
||||
-
|
||||
name: napi-threaded
|
||||
type: enum
|
||||
entries: [disabled, enabled]
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -280,6 +287,13 @@ attribute-sets:
|
|||
doc: The timeout, in nanoseconds, of how long to suspend irq
|
||||
processing, if event polling finds events
|
||||
type: uint
|
||||
-
|
||||
name: threaded
|
||||
doc: Whether the NAPI is configured to operate in threaded polling
|
||||
mode. If this is set to enabled then the NAPI context operates
|
||||
in threaded polling mode.
|
||||
type: u32
|
||||
enum: napi-threaded
|
||||
-
|
||||
name: xsk-info
|
||||
attributes: []
|
||||
|
@ -425,9 +439,9 @@ attribute-sets:
|
|||
-
|
||||
name: rx-hw-gro-packets
|
||||
doc: |
|
||||
Number of packets that were coalesced from smaller packets by the device.
|
||||
Counts only packets coalesced with the HW-GRO netdevice feature,
|
||||
LRO-coalesced packets are not counted.
|
||||
Number of packets that were coalesced from smaller packets by the
|
||||
device. Counts only packets coalesced with the HW-GRO netdevice
|
||||
feature, LRO-coalesced packets are not counted.
|
||||
type: uint
|
||||
-
|
||||
name: rx-hw-gro-bytes
|
||||
|
@ -436,8 +450,8 @@ attribute-sets:
|
|||
-
|
||||
name: rx-hw-gro-wire-packets
|
||||
doc: |
|
||||
Number of packets that were coalesced to bigger packetss with the HW-GRO
|
||||
netdevice feature. LRO-coalesced packets are not counted.
|
||||
Number of packets that were coalesced to bigger packetss with the
|
||||
HW-GRO netdevice feature. LRO-coalesced packets are not counted.
|
||||
type: uint
|
||||
-
|
||||
name: rx-hw-gro-wire-bytes
|
||||
|
@ -691,6 +705,7 @@ operations:
|
|||
- defer-hard-irqs
|
||||
- gro-flush-timeout
|
||||
- irq-suspend-timeout
|
||||
- threaded
|
||||
dump:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -721,7 +736,7 @@ operations:
|
|||
name: bind-rx
|
||||
doc: Bind dmabuf to netdev
|
||||
attribute-set: dmabuf
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -735,7 +750,7 @@ operations:
|
|||
name: napi-set
|
||||
doc: Set configurable NAPI instance settings.
|
||||
attribute-set: napi
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -743,6 +758,7 @@ operations:
|
|||
- defer-hard-irqs
|
||||
- gro-flush-timeout
|
||||
- irq-suspend-timeout
|
||||
- threaded
|
||||
-
|
||||
name: bind-tx
|
||||
doc: Bind dmabuf to netdev for TX
|
||||
|
@ -757,7 +773,7 @@ operations:
|
|||
- id
|
||||
|
||||
kernel-family:
|
||||
headers: [ "net/netdev_netlink.h"]
|
||||
headers: ["net/netdev_netlink.h"]
|
||||
sock-priv: struct netdev_nl_sock
|
||||
|
||||
mcast-groups:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: nfsd
|
||||
protocol: genetlink
|
||||
uapi-header: linux/nfsd_netlink.h
|
||||
|
@ -151,7 +151,7 @@ operations:
|
|||
name: threads-set
|
||||
doc: set the number of running threads
|
||||
attribute-set: server
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -174,7 +174,7 @@ operations:
|
|||
name: version-set
|
||||
doc: set nfs enabled versions
|
||||
attribute-set: server-proto
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -191,7 +191,7 @@ operations:
|
|||
name: listener-set
|
||||
doc: set nfs running sockets
|
||||
attribute-set: server-sock
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
@ -208,7 +208,7 @@ operations:
|
|||
name: pool-mode-set
|
||||
doc: set the current server pool-mode
|
||||
attribute-set: pool-mode
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
do:
|
||||
request:
|
||||
attributes:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: nftables
|
||||
protocol: netlink-raw
|
||||
protonum: 12
|
||||
|
@ -1205,7 +1205,9 @@ operations:
|
|||
- name
|
||||
-
|
||||
name: destroytable
|
||||
doc: Delete an existing table with destroy semantics (ignoring ENOENT errors).
|
||||
doc: |
|
||||
Delete an existing table with destroy semantics (ignoring ENOENT
|
||||
errors).
|
||||
attribute-set: table-attrs
|
||||
fixed-header: nfgenmsg
|
||||
do:
|
||||
|
@ -1249,7 +1251,9 @@ operations:
|
|||
- name
|
||||
-
|
||||
name: destroychain
|
||||
doc: Delete an existing chain with destroy semantics (ignoring ENOENT errors).
|
||||
doc: |
|
||||
Delete an existing chain with destroy semantics (ignoring ENOENT
|
||||
errors).
|
||||
attribute-set: chain-attrs
|
||||
fixed-header: nfgenmsg
|
||||
do:
|
||||
|
@ -1307,7 +1311,8 @@ operations:
|
|||
- name
|
||||
-
|
||||
name: destroyrule
|
||||
doc: Delete an existing rule with destroy semantics (ignoring ENOENT errors).
|
||||
doc: |
|
||||
Delete an existing rule with destroy semantics (ignoring ENOENT errors).
|
||||
attribute-set: rule-attrs
|
||||
fixed-header: nfgenmsg
|
||||
do:
|
||||
|
@ -1351,7 +1356,8 @@ operations:
|
|||
- name
|
||||
-
|
||||
name: destroyset
|
||||
doc: Delete an existing set with destroy semantics (ignoring ENOENT errors).
|
||||
doc: |
|
||||
Delete an existing set with destroy semantics (ignoring ENOENT errors).
|
||||
attribute-set: set-attrs
|
||||
fixed-header: nfgenmsg
|
||||
do:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: nl80211
|
||||
protocol: genetlink-legacy
|
||||
|
||||
|
@ -680,7 +680,7 @@ attribute-sets:
|
|||
name: feature-flags
|
||||
type: u32
|
||||
enum: feature-flags
|
||||
enum-as-flags: True
|
||||
enum-as-flags: true
|
||||
-
|
||||
name: probe-resp-offload
|
||||
type: u32
|
||||
|
@ -1799,8 +1799,9 @@ operations:
|
|||
-
|
||||
name: get-wiphy
|
||||
doc: |
|
||||
Get information about a wiphy or dump a list of all wiphys. Requests to dump get-wiphy
|
||||
should unconditionally include the split-wiphy-dump flag in the request.
|
||||
Get information about a wiphy or dump a list of all wiphys. Requests to
|
||||
dump get-wiphy should unconditionally include the split-wiphy-dump flag
|
||||
in the request.
|
||||
attribute-set: nl80211-attrs
|
||||
do:
|
||||
request:
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: nlctrl
|
||||
protocol: genetlink-legacy
|
||||
uapi-header: linux/genetlink.h
|
||||
|
@ -76,12 +76,12 @@ attribute-sets:
|
|||
-
|
||||
name: policy
|
||||
type: nest-type-value
|
||||
type-value: [ policy-id, attr-id ]
|
||||
type-value: [policy-id, attr-id]
|
||||
nested-attributes: policy-attrs
|
||||
-
|
||||
name: op-policy
|
||||
type: nest-type-value
|
||||
type-value: [ op-id ]
|
||||
type-value: [op-id]
|
||||
nested-attributes: op-policy-attrs
|
||||
-
|
||||
name: op
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
# Copyright (c) 2024-2025, OpenVPN Inc.
|
||||
#
|
||||
|
||||
---
|
||||
name: ovpn
|
||||
|
||||
protocol: genetlink
|
||||
|
@ -19,7 +19,7 @@ definitions:
|
|||
-
|
||||
type: enum
|
||||
name: cipher-alg
|
||||
entries: [ none, aes-gcm, chacha20-poly1305 ]
|
||||
entries: [none, aes-gcm, chacha20-poly1305]
|
||||
-
|
||||
type: enum
|
||||
name: del-peer-reason
|
||||
|
@ -32,7 +32,7 @@ definitions:
|
|||
-
|
||||
type: enum
|
||||
name: key-slot
|
||||
entries: [ primary, secondary ]
|
||||
entries: [primary, secondary]
|
||||
|
||||
attribute-sets:
|
||||
-
|
||||
|
@ -42,8 +42,8 @@ attribute-sets:
|
|||
name: id
|
||||
type: u32
|
||||
doc: >-
|
||||
The unique ID of the peer in the device context. To be used to identify
|
||||
peers during operations for a specific device
|
||||
The unique ID of the peer in the device context. To be used to
|
||||
identify peers during operations for a specific device
|
||||
checks:
|
||||
max: 0xFFFFFF
|
||||
-
|
||||
|
@ -382,7 +382,7 @@ operations:
|
|||
-
|
||||
name: peer-new
|
||||
attribute-set: ovpn-peer-new-input
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Add a remote peer
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -394,7 +394,7 @@ operations:
|
|||
-
|
||||
name: peer-set
|
||||
attribute-set: ovpn-peer-set-input
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: modify a remote peer
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -406,7 +406,7 @@ operations:
|
|||
-
|
||||
name: peer-get
|
||||
attribute-set: ovpn
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Retrieve data about existing remote peers (or a specific one)
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -428,7 +428,7 @@ operations:
|
|||
-
|
||||
name: peer-del
|
||||
attribute-set: ovpn-peer-del-input
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Delete existing remote peer
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -446,7 +446,7 @@ operations:
|
|||
-
|
||||
name: key-new
|
||||
attribute-set: ovpn
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Add a cipher key for a specific peer
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -458,7 +458,7 @@ operations:
|
|||
-
|
||||
name: key-get
|
||||
attribute-set: ovpn-keyconf-get
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Retrieve non-sensitive data about peer key and cipher
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -473,7 +473,7 @@ operations:
|
|||
-
|
||||
name: key-swap
|
||||
attribute-set: ovpn-keyconf-swap-input
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Swap primary and secondary session keys for a specific peer
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
@ -492,7 +492,7 @@ operations:
|
|||
-
|
||||
name: key-del
|
||||
attribute-set: ovpn-keyconf-del-input
|
||||
flags: [ admin-perm ]
|
||||
flags: [admin-perm]
|
||||
doc: Delete cipher key for a specific peer
|
||||
do:
|
||||
pre: ovpn-nl-pre-doit
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: ovs_datapath
|
||||
version: 2
|
||||
protocol: genetlink-legacy
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: ovs_flow
|
||||
version: 1
|
||||
protocol: genetlink-legacy
|
||||
|
@ -293,9 +293,10 @@ definitions:
|
|||
enum-name: ovs-hash-alg
|
||||
type: enum
|
||||
doc: |
|
||||
Data path hash algorithm for computing Datapath hash. The algorithm type only specifies
|
||||
the fields in a flow will be used as part of the hash. Each datapath is free to use its
|
||||
own hash algorithm. The hash value will be opaque to the user space daemon.
|
||||
Data path hash algorithm for computing Datapath hash. The algorithm type
|
||||
only specifies the fields in a flow will be used as part of the hash. Each
|
||||
datapath is free to use its own hash algorithm. The hash value will be
|
||||
opaque to the user space daemon.
|
||||
entries:
|
||||
- ovs-hash-alg-l4
|
||||
|
||||
|
@ -615,7 +616,9 @@ attribute-sets:
|
|||
name: set
|
||||
type: nest
|
||||
nested-attributes: key-attrs
|
||||
doc: Replaces the contents of an existing header. The single nested attribute specifies a header to modify and its value.
|
||||
doc: |
|
||||
Replaces the contents of an existing header. The single nested
|
||||
attribute specifies a header to modify and its value.
|
||||
-
|
||||
name: push-vlan
|
||||
type: binary
|
||||
|
@ -630,7 +633,8 @@ attribute-sets:
|
|||
type: nest
|
||||
nested-attributes: sample-attrs
|
||||
doc: |
|
||||
Probabilistically executes actions, as specified in the nested attributes.
|
||||
Probabilistically executes actions, as specified in the nested
|
||||
attributes.
|
||||
-
|
||||
name: recirc
|
||||
type: u32
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: ovs_vport
|
||||
version: 2
|
||||
protocol: genetlink-legacy
|
||||
|
@ -21,7 +21,7 @@ definitions:
|
|||
type: enum
|
||||
enum-name: ovs-vport-type
|
||||
name-prefix: ovs-vport-type-
|
||||
entries: [ unspec, netdev, internal, gre, vxlan, geneve ]
|
||||
entries: [unspec, netdev, internal, gre, vxlan, geneve]
|
||||
-
|
||||
name: ovs-vport-stats
|
||||
type: struct
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: rt-addr
|
||||
protocol: netlink-raw
|
||||
uapi-header: linux/rtnetlink.h
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: rt-link
|
||||
protocol: netlink-raw
|
||||
uapi-header: linux/rtnetlink.h
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: rt-neigh
|
||||
protocol: netlink-raw
|
||||
uapi-header: linux/rtnetlink.h
|
||||
|
@ -79,6 +79,7 @@ definitions:
|
|||
entries:
|
||||
- managed
|
||||
- locked
|
||||
- ext-validated
|
||||
-
|
||||
name: rtm-type
|
||||
type: enum
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: rt-route
|
||||
protocol: netlink-raw
|
||||
uapi-header: linux/rtnetlink.h
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: rt-rule
|
||||
protocol: netlink-raw
|
||||
uapi-header: linux/fib_rules.h
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: tc
|
||||
protocol: netlink-raw
|
||||
uapi-header: linux/pkt_cls.h
|
||||
|
@ -56,6 +56,23 @@ definitions:
|
|||
- tundf
|
||||
- tunoam
|
||||
- tuncrit
|
||||
-
|
||||
name: dualpi2-drop-overload
|
||||
type: enum
|
||||
entries: [overflow, drop]
|
||||
-
|
||||
name: dualpi2-drop-early
|
||||
type: enum
|
||||
entries: [drop-dequeue, drop-enqueue]
|
||||
-
|
||||
name: dualpi2-ecn-mask
|
||||
type: enum
|
||||
value-start: 1
|
||||
entries: [l4s-ect, cla-ect, any-ect]
|
||||
-
|
||||
name: dualpi2-split-gso
|
||||
type: enum
|
||||
entries: [no-split-gso, split-gso]
|
||||
-
|
||||
name: tc-stats
|
||||
type: struct
|
||||
|
@ -76,7 +93,8 @@ definitions:
|
|||
name: overlimits
|
||||
type: u32
|
||||
doc: |
|
||||
Number of throttle events when this flow goes out of allocated bandwidth
|
||||
Number of throttle events when this flow goes out of allocated
|
||||
bandwidth
|
||||
-
|
||||
name: bps
|
||||
type: u32
|
||||
|
@ -751,7 +769,9 @@ definitions:
|
|||
-
|
||||
name: count
|
||||
type: u32
|
||||
doc: How many drops we've done since the last time we entered dropping state
|
||||
doc: |
|
||||
How many drops we've done since the last time we entered dropping
|
||||
state
|
||||
-
|
||||
name: lastcount
|
||||
type: u32
|
||||
|
@ -822,6 +842,58 @@ definitions:
|
|||
-
|
||||
name: drop-overmemory
|
||||
type: u32
|
||||
-
|
||||
name: tc-dualpi2-xstats
|
||||
type: struct
|
||||
members:
|
||||
-
|
||||
name: prob
|
||||
type: u32
|
||||
doc: Current base PI probability
|
||||
-
|
||||
name: delay-c
|
||||
type: u32
|
||||
doc: Current C-queue delay in microseconds
|
||||
-
|
||||
name: delay-l
|
||||
type: u32
|
||||
doc: Current L-queue delay in microseconds
|
||||
-
|
||||
name: pkts-in-c
|
||||
type: u32
|
||||
doc: Number of packets enqueued in the C-queue
|
||||
-
|
||||
name: pkts-in-l
|
||||
type: u32
|
||||
doc: Number of packets enqueued in the L-queue
|
||||
-
|
||||
name: maxq
|
||||
type: u32
|
||||
doc: Maximum number of packets seen by the DualPI2
|
||||
-
|
||||
name: ecn-mark
|
||||
type: u32
|
||||
doc: All packets marked with ECN
|
||||
-
|
||||
name: step-mark
|
||||
type: u32
|
||||
doc: Only packets marked with ECN due to L-queue step AQM
|
||||
-
|
||||
name: credit
|
||||
type: s32
|
||||
doc: Current credit value for WRR
|
||||
-
|
||||
name: memory-used
|
||||
type: u32
|
||||
doc: Memory used in bytes by the DualPI2
|
||||
-
|
||||
name: max-memory-used
|
||||
type: u32
|
||||
doc: Maximum memory used in bytes by the DualPI2
|
||||
-
|
||||
name: memory-limit
|
||||
type: u32
|
||||
doc: Memory limit in bytes
|
||||
-
|
||||
name: tc-fq-pie-xstats
|
||||
type: struct
|
||||
|
@ -845,7 +917,7 @@ definitions:
|
|||
-
|
||||
name: ecn-mark
|
||||
type: u32
|
||||
doc: Packets marked with ecn
|
||||
doc: Packets marked with ECN
|
||||
-
|
||||
name: new-flow-count
|
||||
type: u32
|
||||
|
@ -988,7 +1060,7 @@ definitions:
|
|||
-
|
||||
name: ecn-mark
|
||||
type: u32
|
||||
doc: Packets marked with ecn
|
||||
doc: Packets marked with ECN
|
||||
-
|
||||
name: tc-red-xstats
|
||||
type: struct
|
||||
|
@ -2281,6 +2353,78 @@ attribute-sets:
|
|||
-
|
||||
name: quantum
|
||||
type: u32
|
||||
-
|
||||
name: dualpi2-attrs
|
||||
name-prefix: tca-dualpi2-
|
||||
attributes:
|
||||
-
|
||||
name: limit
|
||||
type: u32
|
||||
doc: Limit of total number of packets in queue
|
||||
-
|
||||
name: memory-limit
|
||||
type: u32
|
||||
doc: Memory limit of total number of packets in queue
|
||||
-
|
||||
name: target
|
||||
type: u32
|
||||
doc: Classic target delay in microseconds
|
||||
-
|
||||
name: tupdate
|
||||
type: u32
|
||||
doc: Drop probability update interval time in microseconds
|
||||
-
|
||||
name: alpha
|
||||
type: u32
|
||||
doc: Integral gain factor in Hz for PI controller
|
||||
-
|
||||
name: beta
|
||||
type: u32
|
||||
doc: Proportional gain factor in Hz for PI controller
|
||||
-
|
||||
name: step-thresh-pkts
|
||||
type: u32
|
||||
doc: L4S step marking threshold in packets
|
||||
-
|
||||
name: step-thresh-us
|
||||
type: u32
|
||||
doc: L4S Step marking threshold in microseconds
|
||||
-
|
||||
name: min-qlen-step
|
||||
type: u32
|
||||
doc: Packets enqueued to the L-queue can apply the step threshold
|
||||
when the queue length of L-queue is larger than this value.
|
||||
(0 is recommended)
|
||||
-
|
||||
name: coupling
|
||||
type: u8
|
||||
doc: Probability coupling factor between Classic and L4S
|
||||
(2 is recommended)
|
||||
-
|
||||
name: drop-overload
|
||||
type: u8
|
||||
doc: Control the overload strategy (drop to preserve latency or
|
||||
let the queue overflow)
|
||||
enum: dualpi2-drop-overload
|
||||
-
|
||||
name: drop-early
|
||||
type: u8
|
||||
doc: Decide where the Classic packets are PI-based dropped or marked
|
||||
enum: dualpi2-drop-early
|
||||
-
|
||||
name: c-protection
|
||||
type: u8
|
||||
doc: Classic WRR weight in percentage (from 0 to 100)
|
||||
-
|
||||
name: ecn-mask
|
||||
type: u8
|
||||
doc: Configure the L-queue ECN classifier
|
||||
enum: dualpi2-ecn-mask
|
||||
-
|
||||
name: split-gso
|
||||
type: u8
|
||||
doc: Split aggregated skb or not
|
||||
enum: dualpi2-split-gso
|
||||
-
|
||||
name: ematch-attrs
|
||||
name-prefix: tca-ematch-
|
||||
|
@ -3705,6 +3849,9 @@ sub-messages:
|
|||
-
|
||||
value: drr
|
||||
attribute-set: drr-attrs
|
||||
-
|
||||
value: dualpi2
|
||||
attribute-set: dualpi2-attrs
|
||||
-
|
||||
value: etf
|
||||
attribute-set: etf-attrs
|
||||
|
@ -3872,6 +4019,9 @@ sub-messages:
|
|||
-
|
||||
value: codel
|
||||
fixed-header: tc-codel-xstats
|
||||
-
|
||||
value: dualpi2
|
||||
fixed-header: tc-dualpi2-xstats
|
||||
-
|
||||
value: fq
|
||||
fixed-header: tc-fq-qd-stats
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: tcp_metrics
|
||||
|
||||
protocol: genetlink-legacy
|
||||
|
@ -133,7 +133,7 @@ operations:
|
|||
doc: Retrieve metrics.
|
||||
attribute-set: tcp-metrics
|
||||
|
||||
dont-validate: [ strict, dump ]
|
||||
dont-validate: [strict, dump]
|
||||
|
||||
do:
|
||||
request: &sel_attrs
|
||||
|
@ -162,8 +162,8 @@ operations:
|
|||
doc: Delete metrics.
|
||||
attribute-set: tcp-metrics
|
||||
|
||||
dont-validate: [ strict, dump ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict, dump]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
request: *sel_attrs
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause)
|
||||
|
||||
---
|
||||
name: team
|
||||
|
||||
protocol: genetlink-legacy
|
||||
|
@ -152,7 +152,7 @@ operations:
|
|||
doc: No operation
|
||||
value: 0
|
||||
attribute-set: team
|
||||
dont-validate: [ strict ]
|
||||
dont-validate: [strict]
|
||||
|
||||
do:
|
||||
# Actually it only reply the team netlink family
|
||||
|
@ -164,8 +164,8 @@ operations:
|
|||
name: options-set
|
||||
doc: Set team options
|
||||
attribute-set: team
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
request: &option_attrs
|
||||
|
@ -178,8 +178,8 @@ operations:
|
|||
name: options-get
|
||||
doc: Get team options info
|
||||
attribute-set: team
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
request:
|
||||
|
@ -191,8 +191,8 @@ operations:
|
|||
name: port-list-get
|
||||
doc: Get team ports info
|
||||
attribute-set: team
|
||||
dont-validate: [ strict ]
|
||||
flags: [ admin-perm ]
|
||||
dont-validate: [strict]
|
||||
flags: [admin-perm]
|
||||
|
||||
do:
|
||||
request:
|
||||
|
|
|
@ -209,13 +209,10 @@ Libbpf
|
|||
|
||||
Libbpf is a helper library for eBPF and XDP that makes using these
|
||||
technologies a lot simpler. It also contains specific helper functions
|
||||
in tools/lib/bpf/xsk.h for facilitating the use of AF_XDP. It
|
||||
contains two types of functions: those that can be used to make the
|
||||
setup of AF_XDP socket easier and ones that can be used in the data
|
||||
plane to access the rings safely and quickly. To see an example on how
|
||||
to use this API, please take a look at the sample application in
|
||||
samples/bpf/xdpsock_usr.c which uses libbpf for both setup and data
|
||||
plane operations.
|
||||
in tools/testing/selftests/bpf/xsk.h for facilitating the use of
|
||||
AF_XDP. It contains two types of functions: those that can be used to
|
||||
make the setup of AF_XDP socket easier and ones that can be used in the
|
||||
data plane to access the rings safely and quickly.
|
||||
|
||||
We recommend that you use this library unless you have become a power
|
||||
user. It will make your program a lot simpler.
|
||||
|
@ -372,9 +369,8 @@ needs to explicitly notify the kernel to send any packets put on the
|
|||
TX ring. This can be accomplished either by a poll() call, as in the
|
||||
RX path, or by calling sendto().
|
||||
|
||||
An example of how to use this flag can be found in
|
||||
samples/bpf/xdpsock_user.c. An example with the use of libbpf helpers
|
||||
would look like this for the TX path:
|
||||
An example with the use of libbpf helpers would look like this for the
|
||||
TX path:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
|
@ -442,6 +438,15 @@ is created by a privileged process and passed to a non-privileged one.
|
|||
Once the option is set, kernel will refuse attempts to bind that socket
|
||||
to a different interface. Updating the value requires CAP_NET_RAW.
|
||||
|
||||
XDP_MAX_TX_SKB_BUDGET setsockopt
|
||||
--------------------------------
|
||||
|
||||
This setsockopt sets the maximum number of descriptors that can be handled
|
||||
and passed to the driver at one send syscall. It is applied in the copy
|
||||
mode to allow application to tune the per-socket maximum iteration for
|
||||
better throughput and less frequency of send syscall.
|
||||
Allowed range is [32, xs->tx->nentries].
|
||||
|
||||
XDP_STATISTICS getsockopt
|
||||
-------------------------
|
||||
|
||||
|
@ -549,12 +554,12 @@ later in this document.
|
|||
Usage
|
||||
-----
|
||||
|
||||
In order to use AF_XDP sockets two parts are needed. The
|
||||
user-space application and the XDP program. For a complete setup and
|
||||
usage example, please refer to the sample application. The user-space
|
||||
side is xdpsock_user.c and the XDP side is part of libbpf.
|
||||
In order to use AF_XDP sockets two parts are needed. The user-space
|
||||
application and the XDP program. For a complete setup and usage example,
|
||||
please refer to the xdp-project at
|
||||
https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example.
|
||||
|
||||
The XDP code sample included in tools/lib/bpf/xsk.c is the following:
|
||||
The XDP code sample is the following:
|
||||
|
||||
.. code-block:: c
|
||||
|
||||
|
@ -752,11 +757,12 @@ to facilitate extending a zero-copy driver with multi-buffer support.
|
|||
|
||||
Sample application
|
||||
==================
|
||||
|
||||
There is a xdpsock benchmarking/test application included that
|
||||
demonstrates how to use AF_XDP sockets with private UMEMs. Say that
|
||||
you would like your UDP traffic from port 4242 to end up in queue 16,
|
||||
that we will enable AF_XDP on. Here, we use ethtool for this::
|
||||
There is a xdpsock benchmarking/test application that can be found at
|
||||
https://github.com/xdp-project/bpf-examples/tree/main/AF_XDP-example
|
||||
that demonstrates how to use AF_XDP sockets with private
|
||||
UMEMs. Say that you would like your UDP traffic from port 4242 to end
|
||||
up in queue 16, that we will enable AF_XDP on. Here, we use ethtool
|
||||
for this::
|
||||
|
||||
ethtool -N p3p2 rx-flow-hash udp4 fn
|
||||
ethtool -N p3p2 flow-type udp4 src-port 4242 dst-port 4242 \
|
||||
|
@ -773,7 +779,7 @@ can be displayed with "-h", as usual.
|
|||
This sample application uses libbpf to make the setup and usage of
|
||||
AF_XDP simpler. If you want to know how the raw uapi of AF_XDP is
|
||||
really used to make something more advanced, take a look at the libbpf
|
||||
code in tools/lib/bpf/xsk.[ch].
|
||||
code in tools/testing/selftests/bpf/xsk.[ch].
|
||||
|
||||
FAQ
|
||||
=======
|
||||
|
|
|
@ -562,6 +562,12 @@ lacp_rate
|
|||
|
||||
The default is slow.
|
||||
|
||||
broadcast_neighbor
|
||||
|
||||
Option specifying whether to broadcast ARP/ND packets to all
|
||||
active slaves. This option has no effect in modes other than
|
||||
802.3ad mode. The default is off (0).
|
||||
|
||||
max_bonds
|
||||
|
||||
Specifies the number of bonding devices to create for this
|
||||
|
@ -767,8 +773,9 @@ num_unsol_na
|
|||
greater than 1.
|
||||
|
||||
The valid range is 0 - 255; the default value is 1. These options
|
||||
affect only the active-backup mode. These options were added for
|
||||
bonding versions 3.3.0 and 3.4.0 respectively.
|
||||
affect the active-backup or 802.3ad (broadcast_neighbor enabled) mode.
|
||||
These options were added for bonding versions 3.3.0 and 3.4.0
|
||||
respectively.
|
||||
|
||||
From Linux 3.0 and bonding version 3.7.1, these notifications
|
||||
are generated by the ipv4 and ipv6 code and the numbers of
|
||||
|
|
|
@ -1104,15 +1104,12 @@ for writing CAN network device driver are described below:
|
|||
General Settings
|
||||
----------------
|
||||
|
||||
CAN network device drivers can use alloc_candev_mqs() and friends instead of
|
||||
alloc_netdev_mqs(), to automatically take care of CAN-specific setup:
|
||||
|
||||
.. code-block:: C
|
||||
|
||||
dev->type = ARPHRD_CAN; /* the netdevice hardware type */
|
||||
dev->flags = IFF_NOARP; /* CAN has no arp */
|
||||
|
||||
dev->mtu = CAN_MTU; /* sizeof(struct can_frame) -> Classical CAN interface */
|
||||
|
||||
or alternative, when the controller supports CAN with flexible data rate:
|
||||
dev->mtu = CANFD_MTU; /* sizeof(struct canfd_frame) -> CAN FD interface */
|
||||
dev = alloc_candev_mqs(...);
|
||||
|
||||
The struct can_frame or struct canfd_frame is the payload of each socket
|
||||
buffer (skbuff) in the protocol family PF_CAN.
|
||||
|
|
|
@ -56,6 +56,9 @@ ena_netdev.[ch] Main Linux kernel driver.
|
|||
ena_ethtool.c ethtool callbacks.
|
||||
ena_xdp.[ch] XDP files
|
||||
ena_pci_id_tbl.h Supported device IDs.
|
||||
ena_phc.[ch] PTP hardware clock infrastructure (see `PHC`_ for more info)
|
||||
ena_devlink.[ch] devlink files.
|
||||
ena_debugfs.[ch] debugfs files.
|
||||
================= ======================================================
|
||||
|
||||
Management Interface:
|
||||
|
@ -221,6 +224,99 @@ descriptor it was received on would be recycled. When a packet smaller
|
|||
than RX copybreak bytes is received, it is copied into a new memory
|
||||
buffer and the RX descriptor is returned to HW.
|
||||
|
||||
.. _`PHC`:
|
||||
|
||||
PTP Hardware Clock (PHC)
|
||||
========================
|
||||
.. _`ptp-userspace-api`: https://docs.kernel.org/driver-api/ptp.html#ptp-hardware-clock-user-space-api
|
||||
.. _`testptp`: https://elixir.bootlin.com/linux/latest/source/tools/testing/selftests/ptp/testptp.c
|
||||
|
||||
ENA Linux driver supports PTP hardware clock providing timestamp reference to achieve nanosecond resolution.
|
||||
|
||||
**PHC support**
|
||||
|
||||
PHC depends on the PTP module, which needs to be either loaded as a module or compiled into the kernel.
|
||||
|
||||
Verify if the PTP module is present:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
grep -w '^CONFIG_PTP_1588_CLOCK=[ym]' /boot/config-`uname -r`
|
||||
|
||||
- If no output is provided, the ENA driver cannot be loaded with PHC support.
|
||||
|
||||
**PHC activation**
|
||||
|
||||
The feature is turned off by default, in order to turn the feature on, the ENA driver
|
||||
can be loaded in the following way:
|
||||
|
||||
- devlink:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sudo devlink dev param set pci/<domain:bus:slot.function> name enable_phc value true cmode driverinit
|
||||
sudo devlink dev reload pci/<domain:bus:slot.function>
|
||||
# for example:
|
||||
sudo devlink dev param set pci/0000:00:06.0 name enable_phc value true cmode driverinit
|
||||
sudo devlink dev reload pci/0000:00:06.0
|
||||
|
||||
All available PTP clock sources can be tracked here:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
ls /sys/class/ptp
|
||||
|
||||
PHC support and capabilities can be verified using ethtool:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
ethtool -T <interface>
|
||||
|
||||
**PHC timestamp**
|
||||
|
||||
To retrieve PHC timestamp, use `ptp-userspace-api`_, usage example using `testptp`_:
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
testptp -d /dev/ptp$(ethtool -T <interface> | awk '/PTP Hardware Clock:/ {print $NF}') -k 1
|
||||
|
||||
PHC get time requests should be within reasonable bounds,
|
||||
avoid excessive utilization to ensure optimal performance and efficiency.
|
||||
The ENA device restricts the frequency of PHC get time requests to a maximum
|
||||
of 125 requests per second. If this limit is surpassed, the get time request
|
||||
will fail, leading to an increment in the phc_err_ts statistic.
|
||||
|
||||
**PHC statistics**
|
||||
|
||||
PHC can be monitored using debugfs (if mounted):
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sudo cat /sys/kernel/debug/<domain:bus:slot.function>/phc_stats
|
||||
|
||||
# for example:
|
||||
sudo cat /sys/kernel/debug/0000:00:06.0/phc_stats
|
||||
|
||||
PHC errors must remain below 1% of all PHC requests to maintain the desired level of accuracy and reliability
|
||||
|
||||
================= ======================================================
|
||||
**phc_cnt** | Number of successful retrieved timestamps (below expire timeout).
|
||||
**phc_exp** | Number of expired retrieved timestamps (above expire timeout).
|
||||
**phc_skp** | Number of skipped get time attempts (during block period).
|
||||
**phc_err_dv** | Number of failed get time attempts due to device errors (entering into block state).
|
||||
**phc_err_ts** | Number of failed get time attempts due to timestamp errors (entering into block state),
|
||||
| This occurs if driver exceeded the request limit or device received an invalid timestamp.
|
||||
================= ======================================================
|
||||
|
||||
PHC timeouts:
|
||||
|
||||
================= ======================================================
|
||||
**expire** | Max time for a valid timestamp retrieval, passing this threshold will fail
|
||||
| the get time request and block new requests until block timeout.
|
||||
**block** | Blocking period starts once get time request expires or fails,
|
||||
| all get time requests during block period will be skipped.
|
||||
================= ======================================================
|
||||
|
||||
Statistics
|
||||
==========
|
||||
|
||||
|
@ -268,6 +364,18 @@ RSS
|
|||
- The user can provide a hash key, hash function, and configure the
|
||||
indirection table through `ethtool(8)`.
|
||||
|
||||
DEVLINK SUPPORT
|
||||
===============
|
||||
.. _`devlink`: https://www.kernel.org/doc/html/latest/networking/devlink/index.html
|
||||
|
||||
`devlink`_ supports reloading the driver and initiating re-negotiation with the ENA device
|
||||
|
||||
.. code-block:: shell
|
||||
|
||||
sudo devlink dev reload pci/<domain:bus:slot.function>
|
||||
# for example:
|
||||
sudo devlink dev reload pci/0000:00:06.0
|
||||
|
||||
DATA PATH
|
||||
=========
|
||||
|
||||
|
|
|
@ -58,7 +58,9 @@ Contents:
|
|||
ti/tlan
|
||||
ti/icssg_prueth
|
||||
wangxun/txgbe
|
||||
wangxun/txgbevf
|
||||
wangxun/ngbe
|
||||
wangxun/ngbevf
|
||||
|
||||
.. only:: subproject and html
|
||||
|
||||
|
|
|
@ -927,6 +927,19 @@ To enable/disable UDP Segmentation Offload, issue the following command::
|
|||
|
||||
# ethtool -K <ethX> tx-udp-segmentation [off|on]
|
||||
|
||||
PTP pin interface
|
||||
-----------------
|
||||
All adapters support standard PTP pin interface. SDPs (Software Definable Pin)
|
||||
are single ended pins with both periodic output and external timestamp
|
||||
supported. There are also specific differential input/output pins (TIME_SYNC,
|
||||
1PPS) with only one of the functions supported.
|
||||
|
||||
There are adapters with DPLL, where pins are connected to the DPLL instead of
|
||||
being exposed on the board. You have to be aware that in those configurations,
|
||||
only SDP pins are exposed and each pin has its own fixed direction.
|
||||
To see input signal on those PTP pins, you need to configure DPLL properly.
|
||||
Output signal is only visible on DPLL and to send it to the board SMA/U.FL pins,
|
||||
DPLL output pins have to be manually configured.
|
||||
|
||||
GNSS module
|
||||
-----------
|
||||
|
|
|
@ -1341,3 +1341,35 @@ Device Counters
|
|||
- The number of times the device owned queue had not enough buffers
|
||||
allocated.
|
||||
- Error
|
||||
|
||||
* - `pci_bw_inbound_high`
|
||||
- The number of times the device crossed the high inbound pcie bandwidth
|
||||
threshold. To be compared to pci_bw_inbound_low to check if the device
|
||||
is in a congested state.
|
||||
If pci_bw_inbound_high == pci_bw_inbound_low then the device is not congested.
|
||||
If pci_bw_inbound_high > pci_bw_inbound_low then the device is congested.
|
||||
- Tnformative
|
||||
|
||||
* - `pci_bw_inbound_low`
|
||||
- The number of times the device crossed the low inbound PCIe bandwidth
|
||||
threshold. To be compared to pci_bw_inbound_high to check if the device
|
||||
is in a congested state.
|
||||
If pci_bw_inbound_high == pci_bw_inbound_low then the device is not congested.
|
||||
If pci_bw_inbound_high > pci_bw_inbound_low then the device is congested.
|
||||
- Informative
|
||||
|
||||
* - `pci_bw_outbound_high`
|
||||
- The number of times the device crossed the high outbound pcie bandwidth
|
||||
threshold. To be compared to pci_bw_outbound_low to check if the device
|
||||
is in a congested state.
|
||||
If pci_bw_outbound_high == pci_bw_outbound_low then the device is not congested.
|
||||
If pci_bw_outbound_high > pci_bw_outbound_low then the device is congested.
|
||||
- Informative
|
||||
|
||||
* - `pci_bw_outbound_low`
|
||||
- The number of times the device crossed the low outbound PCIe bandwidth
|
||||
threshold. To be compared to pci_bw_outbound_high to check if the device
|
||||
is in a congested state.
|
||||
If pci_bw_outbound_high == pci_bw_outbound_low then the device is not congested.
|
||||
If pci_bw_outbound_high > pci_bw_outbound_low then the device is congested.
|
||||
- Informative
|
||||
|
|
|
@ -28,6 +28,36 @@ devlink dev info provides version information for all three components. In
|
|||
addition to the version the hg commit hash of the build is included as a
|
||||
separate entry.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Ringparams (ethtool -g / -G)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
fbnic has two submission (host -> device) rings for every completion
|
||||
(device -> host) ring. The three ring objects together form a single
|
||||
"queue" as used by higher layer software (a Rx, or a Tx queue).
|
||||
|
||||
For Rx the two submission rings are used to pass empty pages to the NIC.
|
||||
Ring 0 is the Header Page Queue (HPQ), NIC will use its pages to place
|
||||
L2-L4 headers (or full frames if frame is not header-data split).
|
||||
Ring 1 is the Payload Page Queue (PPQ) and used for packet payloads.
|
||||
The completion ring is used to receive packet notifications / metadata.
|
||||
ethtool ``rx`` ringparam maps to the size of the completion ring,
|
||||
``rx-mini`` to the HPQ, and ``rx-jumbo`` to the PPQ.
|
||||
|
||||
For Tx both submission rings can be used to submit packets, the completion
|
||||
ring carries notifications for both. fbnic uses one of the submission
|
||||
rings for normal traffic from the stack and the second one for XDP frames.
|
||||
ethtool ``tx`` ringparam controls both the size of the submission rings
|
||||
and the completion ring.
|
||||
|
||||
Every single entry on the HPQ and PPQ (``rx-mini``, ``rx-jumbo``)
|
||||
corresponds to 4kB of allocated memory, while entries on the remaining
|
||||
rings are in units of descriptors (8B). The ideal ratio of submission
|
||||
and completion ring sizes will depend on the workload, as for small packets
|
||||
multiple packets will fit into a single page.
|
||||
|
||||
Upgrading Firmware
|
||||
------------------
|
||||
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
==================================================================
|
||||
Linux Base Virtual Function Driver for Wangxun(R) Gigabit Ethernet
|
||||
==================================================================
|
||||
|
||||
WangXun Gigabit Virtual Function Linux driver.
|
||||
Copyright(c) 2015 - 2025 Beijing WangXun Technology Co., Ltd.
|
||||
|
||||
Support
|
||||
=======
|
||||
For general information, go to the website at:
|
||||
https://www.net-swift.com
|
||||
|
||||
If you got any problem, contact Wangxun support team via nic-support@net-swift.com
|
||||
and Cc: netdev.
|
|
@ -0,0 +1,16 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0+
|
||||
|
||||
===========================================================================
|
||||
Linux Base Virtual Function Driver for Wangxun(R) 10/25/40 Gigabit Ethernet
|
||||
===========================================================================
|
||||
|
||||
WangXun 10/25/40 Gigabit Virtual Function Linux driver.
|
||||
Copyright(c) 2015 - 2025 Beijing WangXun Technology Co., Ltd.
|
||||
|
||||
Support
|
||||
=======
|
||||
For general information, go to the website at:
|
||||
https://www.net-swift.com
|
||||
|
||||
If you got any problem, contact Wangxun support team via nic-support@net-swift.com
|
||||
and Cc: netdev.
|
|
@ -137,3 +137,9 @@ own name.
|
|||
* - ``event_eq_size``
|
||||
- u32
|
||||
- Control the size of asynchronous control events EQ.
|
||||
* - ``enable_phc``
|
||||
- Boolean
|
||||
- Enable PHC (PTP Hardware Clock) functionality in the device.
|
||||
* - ``clock_id``
|
||||
- u64
|
||||
- Clock ID used by the device for registering DPLL devices and pins.
|
||||
|
|
|
@ -418,6 +418,14 @@ API allows to configure following rate object's parameters:
|
|||
to all node children limits. ``tx_max`` is an upper limit for children.
|
||||
``tx_share`` is a total bandwidth distributed among children.
|
||||
|
||||
``tc_bw``
|
||||
Allow users to set the bandwidth allocation per traffic class on rate
|
||||
objects. This enables fine-grained QoS configurations by assigning a relative
|
||||
share value to each traffic class. The bandwidth is distributed in proportion
|
||||
to the share value for each class, relative to the sum of all shares.
|
||||
When applied to a non-leaf node, tc_bw determines how bandwidth is shared
|
||||
among its child elements.
|
||||
|
||||
``tx_priority`` and ``tx_weight`` can be used simultaneously. In that case
|
||||
nodes with the same priority form a WFQ subgroup in the sibling group
|
||||
and arbitration among them is based on assigned weights.
|
||||
|
|
|
@ -85,6 +85,8 @@ parameters, info versions, and other features it supports.
|
|||
ionic
|
||||
ice
|
||||
ixgbe
|
||||
kvaser_pciefd
|
||||
kvaser_usb
|
||||
mlx4
|
||||
mlx5
|
||||
mlxsw
|
||||
|
@ -98,3 +100,4 @@ parameters, info versions, and other features it supports.
|
|||
iosm
|
||||
octeontx2
|
||||
sfc
|
||||
zl3073x
|
||||
|
|
24
Documentation/networking/devlink/kvaser_pciefd.rst
Normal file
24
Documentation/networking/devlink/kvaser_pciefd.rst
Normal file
|
@ -0,0 +1,24 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=============================
|
||||
kvaser_pciefd devlink support
|
||||
=============================
|
||||
|
||||
This document describes the devlink features implemented by the
|
||||
``kvaser_pciefd`` device driver.
|
||||
|
||||
Info versions
|
||||
=============
|
||||
|
||||
The ``kvaser_pciefd`` driver reports the following versions
|
||||
|
||||
.. list-table:: devlink info versions implemented
|
||||
:widths: 5 5 90
|
||||
|
||||
* - Name
|
||||
- Type
|
||||
- Description
|
||||
* - ``fw``
|
||||
- running
|
||||
- Version of the firmware running on the device. Also available
|
||||
through ``ethtool -i`` as ``firmware-version``.
|
33
Documentation/networking/devlink/kvaser_usb.rst
Normal file
33
Documentation/networking/devlink/kvaser_usb.rst
Normal file
|
@ -0,0 +1,33 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
==========================
|
||||
kvaser_usb devlink support
|
||||
==========================
|
||||
|
||||
This document describes the devlink features implemented by the
|
||||
``kvaser_usb`` device driver.
|
||||
|
||||
Info versions
|
||||
=============
|
||||
|
||||
The ``kvaser_usb`` driver reports the following versions
|
||||
|
||||
.. list-table:: devlink info versions implemented
|
||||
:widths: 5 5 90
|
||||
|
||||
* - Name
|
||||
- Type
|
||||
- Description
|
||||
* - ``fw``
|
||||
- running
|
||||
- Version of the firmware running on the device. Also available
|
||||
through ``ethtool -i`` as ``firmware-version``.
|
||||
* - ``board.rev``
|
||||
- fixed
|
||||
- The device hardware revision.
|
||||
* - ``board.id``
|
||||
- fixed
|
||||
- The device EAN (product number).
|
||||
* - ``serial_number``
|
||||
- fixed
|
||||
- The device serial number.
|
|
@ -62,7 +62,7 @@ Rate objects
|
|||
|
||||
The ``netdevsim`` driver supports rate objects management, which includes:
|
||||
|
||||
- registerging/unregistering leaf rate objects per VF devlink port;
|
||||
- registering/unregistering leaf rate objects per VF devlink port;
|
||||
- creation/deletion node rate objects;
|
||||
- setting tx_share and tx_max rate values for any rate object type;
|
||||
- setting parent node for any rate object type.
|
||||
|
|
51
Documentation/networking/devlink/zl3073x.rst
Normal file
51
Documentation/networking/devlink/zl3073x.rst
Normal file
|
@ -0,0 +1,51 @@
|
|||
.. SPDX-License-Identifier: GPL-2.0
|
||||
|
||||
=======================
|
||||
zl3073x devlink support
|
||||
=======================
|
||||
|
||||
This document describes the devlink features implemented by the ``zl3073x``
|
||||
device driver.
|
||||
|
||||
Parameters
|
||||
==========
|
||||
|
||||
.. list-table:: Generic parameters implemented
|
||||
:widths: 5 5 90
|
||||
|
||||
* - Name
|
||||
- Mode
|
||||
- Notes
|
||||
* - ``clock_id``
|
||||
- driverinit
|
||||
- Set the clock ID that is used by the driver for registering DPLL devices
|
||||
and pins.
|
||||
|
||||
Info versions
|
||||
=============
|
||||
|
||||
The ``zl3073x`` driver reports the following versions
|
||||
|
||||
.. list-table:: devlink info versions implemented
|
||||
:widths: 5 5 5 90
|
||||
|
||||
* - Name
|
||||
- Type
|
||||
- Example
|
||||
- Description
|
||||
* - ``asic.id``
|
||||
- fixed
|
||||
- 1E94
|
||||
- Chip identification number
|
||||
* - ``asic.rev``
|
||||
- fixed
|
||||
- 300
|
||||
- Chip revision number
|
||||
* - ``fw``
|
||||
- running
|
||||
- 7006
|
||||
- Firmware version number
|
||||
* - ``custom_cfg``
|
||||
- running
|
||||
- 1.3.0.1
|
||||
- Device configuration version customized by OEM
|
|
@ -239,6 +239,9 @@ Userspace to kernel:
|
|||
``ETHTOOL_MSG_PHY_GET`` get Ethernet PHY information
|
||||
``ETHTOOL_MSG_TSCONFIG_GET`` get hw timestamping configuration
|
||||
``ETHTOOL_MSG_TSCONFIG_SET`` set hw timestamping configuration
|
||||
``ETHTOOL_MSG_RSS_SET`` set RSS settings
|
||||
``ETHTOOL_MSG_RSS_CREATE_ACT`` create an additional RSS context
|
||||
``ETHTOOL_MSG_RSS_DELETE_ACT`` delete an additional RSS context
|
||||
===================================== =================================
|
||||
|
||||
Kernel to userspace:
|
||||
|
@ -281,6 +284,7 @@ Kernel to userspace:
|
|||
``ETHTOOL_MSG_MODULE_GET_REPLY`` transceiver module parameters
|
||||
``ETHTOOL_MSG_PSE_GET_REPLY`` PSE parameters
|
||||
``ETHTOOL_MSG_RSS_GET_REPLY`` RSS settings
|
||||
``ETHTOOL_MSG_RSS_NTF`` RSS settings
|
||||
``ETHTOOL_MSG_PLCA_GET_CFG_REPLY`` PLCA RS parameters
|
||||
``ETHTOOL_MSG_PLCA_GET_STATUS_REPLY`` PLCA RS status
|
||||
``ETHTOOL_MSG_PLCA_NTF`` PLCA RS parameters
|
||||
|
@ -290,6 +294,11 @@ Kernel to userspace:
|
|||
``ETHTOOL_MSG_PHY_NTF`` Ethernet PHY information change
|
||||
``ETHTOOL_MSG_TSCONFIG_GET_REPLY`` hw timestamping configuration
|
||||
``ETHTOOL_MSG_TSCONFIG_SET_REPLY`` new hw timestamping configuration
|
||||
``ETHTOOL_MSG_PSE_NTF`` PSE events notification
|
||||
``ETHTOOL_MSG_RSS_NTF`` RSS settings notification
|
||||
``ETHTOOL_MSG_RSS_CREATE_ACT_REPLY`` create an additional RSS context
|
||||
``ETHTOOL_MSG_RSS_CREATE_NTF`` additional RSS context created
|
||||
``ETHTOOL_MSG_RSS_DELETE_NTF`` additional RSS context deleted
|
||||
======================================== =================================
|
||||
|
||||
``GET`` requests are sent by userspace applications to retrieve device
|
||||
|
@ -1788,6 +1797,11 @@ Kernel response contents:
|
|||
limit of the PoE PSE.
|
||||
``ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES`` nested Supported power limit
|
||||
configuration ranges.
|
||||
``ETHTOOL_A_PSE_PW_D_ID`` u32 Index of the PSE power domain
|
||||
``ETHTOOL_A_PSE_PRIO_MAX`` u32 Priority maximum configurable
|
||||
on the PoE PSE
|
||||
``ETHTOOL_A_PSE_PRIO`` u32 Priority of the PoE PSE
|
||||
currently configured
|
||||
========================================== ====== =============================
|
||||
|
||||
When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_STATE`` attribute identifies
|
||||
|
@ -1861,6 +1875,15 @@ identifies the C33 PSE power limit ranges through
|
|||
If the controller works with fixed classes, the min and max values will be
|
||||
equal.
|
||||
|
||||
The ``ETHTOOL_A_PSE_PW_D_ID`` attribute identifies the index of PSE power
|
||||
domain.
|
||||
|
||||
When set, the optional ``ETHTOOL_A_PSE_PRIO_MAX`` attribute identifies
|
||||
the PSE maximum priority value.
|
||||
When set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to
|
||||
identifies the currently configured PSE priority.
|
||||
For a description of PSE priority attributes, see ``PSE_SET``.
|
||||
|
||||
PSE_SET
|
||||
=======
|
||||
|
||||
|
@ -1874,6 +1897,8 @@ Request contents:
|
|||
``ETHTOOL_A_C33_PSE_ADMIN_CONTROL`` u32 Control PSE Admin state
|
||||
``ETHTOOL_A_C33_PSE_AVAIL_PWR_LIMIT`` u32 Control PoE PSE available
|
||||
power limit
|
||||
``ETHTOOL_A_PSE_PRIO`` u32 Control priority of the
|
||||
PoE PSE
|
||||
====================================== ====== =============================
|
||||
|
||||
When set, the optional ``ETHTOOL_A_PODL_PSE_ADMIN_CONTROL`` attribute is used
|
||||
|
@ -1896,6 +1921,38 @@ various existing products that document power consumption in watts rather than
|
|||
classes. If power limit configuration based on classes is needed, the
|
||||
conversion can be done in user space, for example by ethtool.
|
||||
|
||||
When set, the optional ``ETHTOOL_A_PSE_PRIO`` attributes is used to
|
||||
control the PSE priority. Allowed priority value are between zero and
|
||||
the value of ``ETHTOOL_A_PSE_PRIO_MAX`` attribute.
|
||||
|
||||
A lower value indicates a higher priority, meaning that a priority value
|
||||
of 0 corresponds to the highest port priority.
|
||||
Port priority serves two functions:
|
||||
|
||||
- Power-up Order: After a reset, ports are powered up in order of their
|
||||
priority from highest to lowest. Ports with higher priority
|
||||
(lower values) power up first.
|
||||
- Shutdown Order: When the power budget is exceeded, ports with lower
|
||||
priority (higher values) are turned off first.
|
||||
|
||||
PSE_NTF
|
||||
=======
|
||||
|
||||
Notify PSE events.
|
||||
|
||||
Notification contents:
|
||||
|
||||
=============================== ====== ========================
|
||||
``ETHTOOL_A_PSE_HEADER`` nested request header
|
||||
``ETHTOOL_A_PSE_EVENTS`` bitset PSE events
|
||||
=============================== ====== ========================
|
||||
|
||||
When set, the optional ``ETHTOOL_A_PSE_EVENTS`` attribute identifies the
|
||||
PSE events.
|
||||
|
||||
.. kernel-doc:: include/uapi/linux/ethtool_netlink_generated.h
|
||||
:identifiers: ethtool_pse_event
|
||||
|
||||
RSS_GET
|
||||
=======
|
||||
|
||||
|
@ -1919,14 +1976,15 @@ used to ignore context 0s and only dump additional contexts).
|
|||
|
||||
Kernel response contents:
|
||||
|
||||
===================================== ====== ==========================
|
||||
===================================== ====== ===============================
|
||||
``ETHTOOL_A_RSS_HEADER`` nested reply header
|
||||
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
||||
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
||||
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
||||
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
||||
===================================== ====== ==========================
|
||||
``ETHTOOL_A_RSS_FLOW_HASH`` nested Header fields included in hash
|
||||
===================================== ====== ===============================
|
||||
|
||||
ETHTOOL_A_RSS_HFUNC attribute is bitmap indicating the hash function
|
||||
being used. Current supported options are toeplitz, xor or crc32.
|
||||
|
@ -1935,6 +1993,67 @@ indicates queue number.
|
|||
ETHTOOL_A_RSS_INPUT_XFRM attribute is a bitmap indicating the type of
|
||||
transformation applied to the input protocol fields before given to the RSS
|
||||
hfunc. Current supported options are symmetric-xor and symmetric-or-xor.
|
||||
ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header
|
||||
fields are included in the hash calculation.
|
||||
|
||||
RSS_SET
|
||||
=======
|
||||
|
||||
Request contents:
|
||||
|
||||
===================================== ====== ==============================
|
||||
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
||||
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
||||
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
||||
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
||||
``ETHTOOL_A_RSS_FLOW_HASH`` nested Header fields included in hash
|
||||
===================================== ====== ==============================
|
||||
|
||||
``ETHTOOL_A_RSS_INDIR`` is the minimal RSS table the user expects. Kernel and
|
||||
the device driver may replicate the table if its smaller than smallest table
|
||||
size supported by the device. For example if user requests ``[0, 1]`` but the
|
||||
device needs at least 8 entries - the real table in use will end up being
|
||||
``[0, 1, 0, 1, 0, 1, 0, 1]``. Most devices require the table size to be power
|
||||
of 2, so tables which size is not a power of 2 will likely be rejected.
|
||||
Using table of size 0 will reset the indirection table to the default.
|
||||
|
||||
RSS_CREATE_ACT
|
||||
==============
|
||||
|
||||
Request contents:
|
||||
|
||||
===================================== ====== ==============================
|
||||
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||
``ETHTOOL_A_RSS_HFUNC`` u32 RSS hash func
|
||||
``ETHTOOL_A_RSS_INDIR`` binary Indir table bytes
|
||||
``ETHTOOL_A_RSS_HKEY`` binary Hash key bytes
|
||||
``ETHTOOL_A_RSS_INPUT_XFRM`` u32 RSS input data transformation
|
||||
===================================== ====== ==============================
|
||||
|
||||
Kernel response contents:
|
||||
|
||||
===================================== ====== ==============================
|
||||
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||
===================================== ====== ==============================
|
||||
|
||||
Create an additional RSS context, if ``ETHTOOL_A_RSS_CONTEXT`` is not
|
||||
specified kernel will allocate one automatically.
|
||||
|
||||
RSS_DELETE_ACT
|
||||
==============
|
||||
|
||||
Request contents:
|
||||
|
||||
===================================== ====== ==============================
|
||||
``ETHTOOL_A_RSS_HEADER`` nested request header
|
||||
``ETHTOOL_A_RSS_CONTEXT`` u32 context number
|
||||
===================================== ====== ==============================
|
||||
|
||||
Delete an additional RSS context.
|
||||
|
||||
PLCA_GET_CFG
|
||||
============
|
||||
|
@ -2386,8 +2505,8 @@ are netlink only.
|
|||
``ETHTOOL_SFLAGS`` ``ETHTOOL_MSG_FEATURES_SET``
|
||||
``ETHTOOL_GPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_GET``
|
||||
``ETHTOOL_SPFLAGS`` ``ETHTOOL_MSG_PRIVFLAGS_SET``
|
||||
``ETHTOOL_GRXFH`` n/a
|
||||
``ETHTOOL_SRXFH`` n/a
|
||||
``ETHTOOL_GRXFH`` ``ETHTOOL_MSG_RSS_GET``
|
||||
``ETHTOOL_SRXFH`` ``ETHTOOL_MSG_RSS_SET``
|
||||
``ETHTOOL_GGRO`` ``ETHTOOL_MSG_FEATURES_GET``
|
||||
``ETHTOOL_SGRO`` ``ETHTOOL_MSG_FEATURES_SET``
|
||||
``ETHTOOL_GRXRINGS`` n/a
|
||||
|
@ -2401,8 +2520,8 @@ are netlink only.
|
|||
``ETHTOOL_SRXNTUPLE`` n/a
|
||||
``ETHTOOL_GRXNTUPLE`` n/a
|
||||
``ETHTOOL_GSSET_INFO`` ``ETHTOOL_MSG_STRSET_GET``
|
||||
``ETHTOOL_GRXFHINDIR`` n/a
|
||||
``ETHTOOL_SRXFHINDIR`` n/a
|
||||
``ETHTOOL_GRXFHINDIR`` ``ETHTOOL_MSG_RSS_GET``
|
||||
``ETHTOOL_SRXFHINDIR`` ``ETHTOOL_MSG_RSS_SET``
|
||||
``ETHTOOL_GFEATURES`` ``ETHTOOL_MSG_FEATURES_GET``
|
||||
``ETHTOOL_SFEATURES`` ``ETHTOOL_MSG_FEATURES_SET``
|
||||
``ETHTOOL_GCHANNELS`` ``ETHTOOL_MSG_CHANNELS_GET``
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -444,7 +444,14 @@ dependent). The NAPI instance IDs will be assigned in the opposite
|
|||
order than the process IDs of the kernel threads.
|
||||
|
||||
Threaded NAPI is controlled by writing 0/1 to the ``threaded`` file in
|
||||
netdev's sysfs directory.
|
||||
netdev's sysfs directory. It can also be enabled for a specific NAPI using
|
||||
netlink interface.
|
||||
|
||||
For example, using the script:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
$ ynl --family netdev --do napi-set --json='{"id": 66, "threaded": 1}'
|
||||
|
||||
.. rubric:: Footnotes
|
||||
|
||||
|
|
|
@ -68,6 +68,7 @@ unsigned_char addr_assign_type
|
|||
unsigned_char addr_len
|
||||
unsigned_char upper_level
|
||||
unsigned_char lower_level
|
||||
u8 threaded napi_poll(napi_enable,netif_set_threaded)
|
||||
unsigned_short neigh_priv_len
|
||||
unsigned_short padded
|
||||
unsigned_short dev_id
|
||||
|
@ -165,7 +166,6 @@ struct sfp_bus* sfp_bus
|
|||
struct lock_class_key* qdisc_tx_busylock
|
||||
bool proto_down
|
||||
unsigned:1 wol_enabled
|
||||
unsigned:1 threaded napi_poll(napi_enable,dev_set_threaded)
|
||||
unsigned_long:1 see_all_hwtstamp_requests
|
||||
unsigned_long:1 change_proto_down
|
||||
unsigned_long:1 netns_immutable
|
||||
|
|
|
@ -36,6 +36,7 @@ unsigned_long LINUX_MIB_TIMEWAITRECYCLED
|
|||
unsigned_long LINUX_MIB_TIMEWAITKILLED
|
||||
unsigned_long LINUX_MIB_PAWSACTIVEREJECTED
|
||||
unsigned_long LINUX_MIB_PAWSESTABREJECTED
|
||||
unsigned_long LINUX_MIB_BEYOND_WINDOW
|
||||
unsigned_long LINUX_MIB_TSECR_REJECTED
|
||||
unsigned_long LINUX_MIB_PAWS_OLD_ACK
|
||||
unsigned_long LINUX_MIB_PAWS_TW_REJECTED
|
||||
|
|
|
@ -115,7 +115,6 @@ u32 lost_out read_mostly read_m
|
|||
u32 sacked_out read_mostly read_mostly tcp_left_out(tx);tcp_packets_in_flight(tx/rx);tcp_clean_rtx_queue(rx)
|
||||
struct hrtimer pacing_timer
|
||||
struct hrtimer compressed_ack_timer
|
||||
struct sk_buff* lost_skb_hint read_mostly tcp_clean_rtx_queue
|
||||
struct sk_buff* retransmit_skb_hint read_mostly tcp_clean_rtx_queue
|
||||
struct rb_root out_of_order_queue read_mostly tcp_data_queue,tcp_fast_path_check
|
||||
struct sk_buff* ooo_last_skb
|
||||
|
@ -123,7 +122,6 @@ struct tcp_sack_block[1] duplicate_sack
|
|||
struct tcp_sack_block[4] selective_acks
|
||||
struct tcp_sack_block[4] recv_sack_cache
|
||||
struct sk_buff* highest_sack read_write tcp_event_new_data_sent
|
||||
int lost_cnt_hint
|
||||
u32 prior_ssthresh
|
||||
u32 high_seq
|
||||
u32 retrans_stamp
|
||||
|
|
|
@ -340,6 +340,38 @@ In this example, the message was sent by CPU 42.
|
|||
cpu=42 # kernel-populated value
|
||||
|
||||
|
||||
Message ID auto population in userdata
|
||||
--------------------------------------
|
||||
|
||||
Within the netconsole configfs hierarchy, there is a file named `msgid_enabled`
|
||||
located in the `userdata` directory. This file controls the message ID
|
||||
auto-population feature, which assigns a numeric id to each message sent to a
|
||||
given target and appends the ID to userdata dictionary in every message sent.
|
||||
|
||||
The message ID is generated using a per-target 32 bit counter that is
|
||||
incremented for every message sent to the target. Note that this counter will
|
||||
eventually wrap around after reaching uint32_t max value, so the message ID is
|
||||
not globally unique over time. However, it can still be used by the target to
|
||||
detect if messages were dropped before reaching the target by identifying gaps
|
||||
in the sequence of IDs.
|
||||
|
||||
It is important to distinguish message IDs from the message <sequnum> field.
|
||||
Some kernel messages may never reach netconsole (for example, due to printk
|
||||
rate limiting). Thus, a gap in <sequnum> cannot be solely relied upon to
|
||||
indicate that a message was dropped during transmission, as it may never have
|
||||
been sent via netconsole. The message ID, on the other hand, is only assigned
|
||||
to messages that are actually transmitted via netconsole.
|
||||
|
||||
Example::
|
||||
|
||||
echo "This is message #1" > /dev/kmsg
|
||||
echo "This is message #2" > /dev/kmsg
|
||||
13,434,54928466,-;This is message #1
|
||||
msgid=1
|
||||
13,435,54934019,-;This is message #2
|
||||
msgid=2
|
||||
|
||||
|
||||
Extended console:
|
||||
=================
|
||||
|
||||
|
|
|
@ -85,7 +85,6 @@ nf_conntrack_log_invalid - INTEGER
|
|||
- 1 - log ICMP packets
|
||||
- 6 - log TCP packets
|
||||
- 17 - log UDP packets
|
||||
- 33 - log DCCP packets
|
||||
- 41 - log ICMPv6 packets
|
||||
- 136 - log UDPLITE packets
|
||||
- 255 - log packets of any protocol
|
||||
|
|
|
@ -333,6 +333,13 @@ Some of the interface modes are described below:
|
|||
SerDes lane, each port having speeds of 2.5G / 1G / 100M / 10M achieved
|
||||
through symbol replication. The PCS expects the standard USXGMII code word.
|
||||
|
||||
``PHY_INTERFACE_MODE_MIILITE``
|
||||
Non-standard, simplified MII mode, without TXER, RXER, CRS and COL signals
|
||||
as defined for the MII. The absence of COL signal makes half-duplex link
|
||||
modes impossible but does not interfere with BroadR-Reach link modes on
|
||||
Broadcom (and other two-wire Ethernet) PHYs, because they are full-duplex
|
||||
only.
|
||||
|
||||
Pause frames / flow control
|
||||
===========================
|
||||
|
||||
|
|
|
@ -120,6 +120,39 @@ It is possible to query which kfunc the particular netdev implements via
|
|||
netlink. See ``xdp-rx-metadata-features`` attribute set in
|
||||
``Documentation/netlink/specs/netdev.yaml``.
|
||||
|
||||
Driver Implementation
|
||||
=====================
|
||||
|
||||
Certain devices may prepend metadata to received packets. However, as of now,
|
||||
``AF_XDP`` lacks the ability to communicate the size of the ``data_meta`` area
|
||||
to the consumer. Therefore, it is the responsibility of the driver to copy any
|
||||
device-reserved metadata out from the metadata area and ensure that
|
||||
``xdp_buff->data_meta`` is pointing to ``xdp_buff->data`` before presenting the
|
||||
frame to the XDP program. This is necessary so that, after the XDP program
|
||||
adjusts the metadata area, the consumer can reliably retrieve the metadata
|
||||
address using ``METADATA_SIZE`` offset.
|
||||
|
||||
The following diagram shows how custom metadata is positioned relative to the
|
||||
packet data and how pointers are adjusted for metadata access::
|
||||
|
||||
|<-- bpf_xdp_adjust_meta(xdp_buff, -METADATA_SIZE) --|
|
||||
new xdp_buff->data_meta old xdp_buff->data_meta
|
||||
| |
|
||||
| xdp_buff->data
|
||||
| |
|
||||
+----------+----------------------------------------------------+------+
|
||||
| headroom | custom metadata | data |
|
||||
+----------+----------------------------------------------------+------+
|
||||
| |
|
||||
| xdp_desc->addr
|
||||
|<------ xsk_umem__get_data() - METADATA_SIZE -------|
|
||||
|
||||
``bpf_xdp_adjust_meta`` ensures that ``METADATA_SIZE`` is aligned to 4 bytes,
|
||||
does not exceed 252 bytes, and leaves sufficient space for building the
|
||||
xdp_frame. If these conditions are not met, it returns a negative error. In this
|
||||
case, the BPF program should not proceed to populate data into the ``data_meta``
|
||||
area.
|
||||
|
||||
Example
|
||||
=======
|
||||
|
||||
|
|
28
MAINTAINERS
28
MAINTAINERS
|
@ -3340,10 +3340,15 @@ M: Dinh Nguyen <dinguyen@kernel.org>
|
|||
S: Maintained
|
||||
F: drivers/clk/socfpga/
|
||||
|
||||
ARM/SOCFPGA DWMAC GLUE LAYER BINDINGS
|
||||
M: Matthew Gerlach <matthew.gerlach@altera.com>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/net/altr,gmii-to-sgmii-2.0.yaml
|
||||
F: Documentation/devicetree/bindings/net/altr,socfpga-stmmac.yaml
|
||||
|
||||
ARM/SOCFPGA DWMAC GLUE LAYER
|
||||
M: Maxime Chevallier <maxime.chevallier@bootlin.com>
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/net/socfpga-dwmac.txt
|
||||
F: drivers/net/ethernet/stmicro/stmmac/dwmac-socfpga.c
|
||||
|
||||
ARM/SOCFPGA EDAC BINDINGS
|
||||
|
@ -4936,6 +4941,12 @@ F: drivers/firmware/broadcom/tee_bnxt_fw.c
|
|||
F: drivers/net/ethernet/broadcom/bnxt/
|
||||
F: include/linux/firmware/broadcom/tee_bnxt_fw.h
|
||||
|
||||
BROADCOM BNG_EN 800 GIGABIT ETHERNET DRIVER
|
||||
M: Vikas Gupta <vikas.gupta@broadcom.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: drivers/net/ethernet/broadcom/bnge/
|
||||
|
||||
BROADCOM BRCM80211 IEEE802.11 WIRELESS DRIVERS
|
||||
M: Arend van Spriel <arend.vanspriel@broadcom.com>
|
||||
L: linux-wireless@vger.kernel.org
|
||||
|
@ -7405,6 +7416,8 @@ M: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
|
|||
M: Jiri Pirko <jiri@resnulli.us>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: Documentation/devicetree/bindings/dpll/dpll-device.yaml
|
||||
F: Documentation/devicetree/bindings/dpll/dpll-pin.yaml
|
||||
F: Documentation/driver-api/dpll.rst
|
||||
F: drivers/dpll/*
|
||||
F: include/linux/dpll.h
|
||||
|
@ -12610,7 +12623,7 @@ M: Miri Korenblit <miriam.rachel.korenblit@intel.com>
|
|||
L: linux-wireless@vger.kernel.org
|
||||
S: Supported
|
||||
W: https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi
|
||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi.git
|
||||
T: git https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-next.git/
|
||||
F: drivers/net/wireless/intel/iwlwifi/
|
||||
|
||||
INTEL WMI SLIM BOOTLOADER (SBL) FIRMWARE UPDATE DRIVER
|
||||
|
@ -16610,6 +16623,14 @@ L: linux-wireless@vger.kernel.org
|
|||
S: Supported
|
||||
F: drivers/net/wireless/microchip/
|
||||
|
||||
MICROCHIP ZL3073X DRIVER
|
||||
M: Ivan Vecera <ivecera@redhat.com>
|
||||
M: Prathosh Satish <Prathosh.Satish@microchip.com>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
F: Documentation/devicetree/bindings/dpll/microchip,zl30731.yaml
|
||||
F: drivers/dpll/zl3073x/
|
||||
|
||||
MICROSEMI MIPS SOCS
|
||||
M: Alexandre Belloni <alexandre.belloni@bootlin.com>
|
||||
M: UNGLinuxDriver@microchip.com
|
||||
|
@ -20460,7 +20481,7 @@ QUALCOMM ATHEROS QCA7K ETHERNET DRIVER
|
|||
M: Stefan Wahren <wahrenst@gmx.net>
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/devicetree/bindings/net/qca,qca7000.txt
|
||||
F: Documentation/devicetree/bindings/net/qca,qca7000.yaml
|
||||
F: drivers/net/ethernet/qualcomm/qca*
|
||||
|
||||
QUALCOMM BAM-DMUX WWAN NETWORK DRIVER
|
||||
|
@ -26598,6 +26619,7 @@ F: include/uapi/linux/vm_sockets.h
|
|||
F: include/uapi/linux/vm_sockets_diag.h
|
||||
F: include/uapi/linux/vsockmon.h
|
||||
F: net/vmw_vsock/
|
||||
F: tools/testing/selftests/vsock/
|
||||
F: tools/testing/vsock/
|
||||
|
||||
VMALLOC
|
||||
|
|
|
@ -152,6 +152,9 @@
|
|||
|
||||
#define SO_PASSRIGHTS 83
|
||||
|
||||
#define SO_INQ 84
|
||||
#define SCM_INQ SO_INQ
|
||||
|
||||
#if !defined(__KERNEL__)
|
||||
|
||||
#if __BITS_PER_LONG == 64
|
||||
|
|
|
@ -72,10 +72,55 @@
|
|||
cs-gpios = <&gpio0 5 GPIO_ACTIVE_LOW>;
|
||||
num-chipselects = <1>;
|
||||
|
||||
switch@0 {
|
||||
ethernet-switch@0 {
|
||||
compatible = "micrel,ks8995";
|
||||
reg = <0>;
|
||||
spi-max-frequency = <50000000>;
|
||||
|
||||
/*
|
||||
* The PHYs are accessed over the external MDIO
|
||||
* bus and not internally through the switch control
|
||||
* registers.
|
||||
*/
|
||||
ethernet-ports {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
ethernet-port@0 {
|
||||
reg = <0>;
|
||||
label = "1";
|
||||
phy-mode = "mii";
|
||||
phy-handle = <&phy1>;
|
||||
};
|
||||
ethernet-port@1 {
|
||||
reg = <1>;
|
||||
label = "2";
|
||||
phy-mode = "mii";
|
||||
phy-handle = <&phy2>;
|
||||
};
|
||||
ethernet-port@2 {
|
||||
reg = <2>;
|
||||
label = "3";
|
||||
phy-mode = "mii";
|
||||
phy-handle = <&phy3>;
|
||||
};
|
||||
ethernet-port@3 {
|
||||
reg = <3>;
|
||||
label = "4";
|
||||
phy-mode = "mii";
|
||||
phy-handle = <&phy4>;
|
||||
};
|
||||
ethernet-port@4 {
|
||||
reg = <4>;
|
||||
ethernet = <ðb>;
|
||||
phy-mode = "mii";
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -135,40 +180,59 @@
|
|||
};
|
||||
|
||||
/*
|
||||
* EthB - connected to the KS8995 switch ports 1-4
|
||||
* FIXME: the boardfile defines .phy_mask = 0x1e for this port to enable output to
|
||||
* all four switch ports, also using an out of tree multiphy patch.
|
||||
* Do we need a new binding and property for this?
|
||||
* EthB connects to the KS8995 CPU port and faces ports 1-4
|
||||
* through the switch fabric.
|
||||
*
|
||||
* To complicate things, the MDIO channel is also only
|
||||
* accessible through EthB, but used independently for PHY
|
||||
* control.
|
||||
*/
|
||||
ethernet@c8009000 {
|
||||
ethb: ethernet@c8009000 {
|
||||
status = "okay";
|
||||
queue-rx = <&qmgr 3>;
|
||||
queue-txready = <&qmgr 20>;
|
||||
phy-mode = "rgmii";
|
||||
phy-handle = <&phy4>;
|
||||
phy-mode = "mii";
|
||||
fixed-link {
|
||||
speed = <100>;
|
||||
full-duplex;
|
||||
};
|
||||
|
||||
mdio {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <0>;
|
||||
|
||||
/* Should be ports 1-4 on the KS8995 switch */
|
||||
/*
|
||||
* LAN ports 1-4 on the KS8995 switch
|
||||
* and PHY5 for WAN need to be accessed
|
||||
* through this external MDIO channel.
|
||||
*/
|
||||
phy1: ethernet-phy@1 {
|
||||
reg = <1>;
|
||||
};
|
||||
phy2: ethernet-phy@2 {
|
||||
reg = <2>;
|
||||
};
|
||||
phy3: ethernet-phy@3 {
|
||||
reg = <3>;
|
||||
};
|
||||
phy4: ethernet-phy@4 {
|
||||
reg = <4>;
|
||||
};
|
||||
|
||||
/* Should be port 5 on the KS8995 switch */
|
||||
phy5: ethernet-phy@5 {
|
||||
reg = <5>;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* EthC - connected to KS8995 switch port 5 */
|
||||
ethernet@c800a000 {
|
||||
/*
|
||||
* EthC connects to MII-P5 on the KS8995 bypassing
|
||||
* all of the switch logic and facing PHY5
|
||||
*/
|
||||
ethc: ethernet@c800a000 {
|
||||
status = "okay";
|
||||
queue-rx = <&qmgr 4>;
|
||||
queue-txready = <&qmgr 21>;
|
||||
phy-mode = "rgmii";
|
||||
phy-mode = "mii";
|
||||
phy-handle = <&phy5>;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -142,7 +142,6 @@ CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m
|
|||
CONFIG_NETFILTER_XT_MATCH_CONNMARK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
|
||||
CONFIG_NETFILTER_XT_MATCH_CPU=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DCCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_DSCP=m
|
||||
CONFIG_NETFILTER_XT_MATCH_ESP=m
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue