diff --git a/release/models/platform/.spec.yml b/release/models/platform/.spec.yml index 3e52a3c00..aa5288b5f 100644 --- a/release/models/platform/.spec.yml +++ b/release/models/platform/.spec.yml @@ -18,6 +18,7 @@ - yang/platform/openconfig-platform-controller-card.yang - yang/platform/openconfig-platform-healthz.yang - yang/platform/openconfig-platform-boot-loader.yang + - yang/platform/openconfig-platform-usb-port.yang - yang/p4rt/openconfig-p4rt.yang - yang/system/openconfig-alarms.yang - yang/optical-transport/openconfig-terminal-device.yang @@ -40,6 +41,7 @@ - yang/platform/openconfig-platform-controller-card.yang - yang/platform/openconfig-platform-healthz.yang - yang/platform/openconfig-platform-boot-loader.yang + - yang/platform/openconfig-platform-usb-port.yang - yang/p4rt/openconfig-p4rt.yang - yang/system/openconfig-alarms.yang - yang/optical-transport/openconfig-terminal-device.yang diff --git a/release/models/platform/openconfig-platform-types.yang b/release/models/platform/openconfig-platform-types.yang index 1a0600795..a70b5bd0e 100644 --- a/release/models/platform/openconfig-platform-types.yang +++ b/release/models/platform/openconfig-platform-types.yang @@ -22,9 +22,15 @@ module openconfig-platform-types { "This module defines data types (e.g., YANG identities) to support the OpenConfig component inventory model."; - oc-ext:openconfig-version "1.10.0"; + oc-ext:openconfig-version "1.11.0"; - revision "2025-07-09" { +revision "2025-09-03" { + description + "Add USB_PORT"; + reference "1.11.0"; + } + +revision "2025-07-09" { description "Add FPGA, BOOT_LOADER_GRUB, BOOT_LOADER_ONIE"; reference "1.10.0"; @@ -389,6 +395,12 @@ module openconfig-platform-types { cables"; } + identity USB_PORT { + base OPENCONFIG_HARDWARE_COMPONENT; + description + "Non-serial USB ports of any type."; + } + identity TRANSCEIVER { base OPENCONFIG_HARDWARE_COMPONENT; description diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang new file mode 100644 index 000000000..bccae903b --- /dev/null +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -0,0 +1,92 @@ +module openconfig-platform-usb-port { + + yang-version "1"; + + // namespace + namespace "http://openconfig.net/yang/platform/usb-port"; + + prefix "oc-usb-port"; + + import openconfig-platform { prefix oc-platform; } + import openconfig-extensions { prefix oc-ext; } + + + // meta + organization "OpenConfig working group"; + + contact + "OpenConfig working group + www.openconfig.net"; + + description + "This module defines data related to USB port components in the + OpenConfig platform model."; + + oc-ext:openconfig-version "0.1.0"; + + revision "2025-09-03" { + description + "Initial revision"; + reference "0.1.0"; + } + + // OpenConfig specific extensions for module metadata. + oc-ext:regexp-posix; + oc-ext:catalog-organization "openconfig"; + oc-ext:origin "openconfig"; + + // grouping statements + + grouping usb-port-top { + description + "Top level grouping for attributes related to USB ports."; + + container usb-port { + description + "Parameters related to all USB ports."; + + container config { + description + "Configuration data for USB ports."; + + uses usb-port-config; + } + + container state { + config false; + description + "State data for USB ports."; + + uses usb-port-config; + uses usb-port-state; + } + } + } + + grouping usb-port-config { + description + "Configuration data for USB ports."; + + leaf enabled { + type boolean; + description + "Enables or disables USB port functionality."; + } + } + + grouping usb-port-state { + description + "State data for USB ports."; + } + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component" { + description + "Configuration data for USB ports."; + + uses usb-port-top; + } +}