From e1d428548fa6ee4b539268a052d3681a064f4c87 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 11:39:28 -0500 Subject: [PATCH 01/14] Create openconfig-platform-usb-port.yang --- .../openconfig-platform-usb-port.yang | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 release/models/platform/openconfig-platform-usb-port.yang 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..c054e1284 --- /dev/null +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -0,0 +1,70 @@ +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-08-18" { + 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-config { + description + "Configuration data for USB ports"; + + uses oc-platform:component-power-management; + } + + // data definition statements + + // augment statements + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:usb-port/oc-platform:config" { + description + "Configuration data for USB ports. + A USB port can be configured for persistent powered-off + mode using the config/power-admin-state leaf."; + + uses usb-port-config; + } + + augment "/oc-platform:components/oc-platform:component/" + + "oc-platform:usb-port/oc-platform:state" { + description + "Adding USB port data to physical inventory. This subtree + is only valid when the type of the component is USB_PORT."; + + uses usb-port-config; + } + +} From 36c4cb52ca80235bca599be926ee2853a90649b8 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 11:41:55 -0500 Subject: [PATCH 02/14] Update openconfig-platform-types.yang --- .../models/platform/openconfig-platform-types.yang | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-types.yang b/release/models/platform/openconfig-platform-types.yang index 1a0600795..898bd33eb 100644 --- a/release/models/platform/openconfig-platform-types.yang +++ b/release/models/platform/openconfig-platform-types.yang @@ -24,7 +24,13 @@ module openconfig-platform-types { oc-ext:openconfig-version "1.10.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 From b253e90304f3d4ef77c5889ec28a6693aa272650 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 11:42:15 -0500 Subject: [PATCH 03/14] Update openconfig-platform-usb-port.yang --- release/models/platform/openconfig-platform-usb-port.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index c054e1284..437a6cdc2 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -24,7 +24,7 @@ module openconfig-platform-usb-port { oc-ext:openconfig-version "0.1.0"; - revision "2025-08-18" { + revision "2025-09-03" { description "Initial revision"; reference "0.1.0"; From 059f0292405156879bab700a3594a511d4c6cd9f Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 11:44:03 -0500 Subject: [PATCH 04/14] Update .spec.yml --- release/models/platform/.spec.yml | 2 ++ 1 file changed, 2 insertions(+) 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 From 2c8ef9bf03ec38daf4dc7adcb674571a20e60129 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 12:33:50 -0500 Subject: [PATCH 05/14] Update openconfig-platform-usb-port.yang --- .../openconfig-platform-usb-port.yang | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index 437a6cdc2..27bba16d1 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -37,34 +37,58 @@ module openconfig-platform-usb-port { // grouping statements - grouping usb-port-config { + grouping usb-port-top { description - "Configuration data for USB ports"; + "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 { + description + "State data for USB ports."; + config false; + + uses usb-port-config; + uses usb-port-state; + } + } + } - uses oc-platform:component-power-management; + grouping usb-port-config { + description + "Configuration data for USB ports."; + + leaf enabled { + type boolean; + description + "Turns power on / off to the USB port." + } + } + + grouping usb-port-state { + description + "State data for USB ports."; } // data definition statements // augment statements - augment "/oc-platform:components/oc-platform:component/" + - "oc-platform:usb-port/oc-platform:config" { + augment "/oc-platform:components/oc-platform:component/" { description "Configuration data for USB ports. A USB port can be configured for persistent powered-off mode using the config/power-admin-state leaf."; - uses usb-port-config; + uses usb-port-top; } - - augment "/oc-platform:components/oc-platform:component/" + - "oc-platform:usb-port/oc-platform:state" { - description - "Adding USB port data to physical inventory. This subtree - is only valid when the type of the component is USB_PORT."; - - uses usb-port-config; - } - } From 7147694d293491e9e4333f2c49a4f4216e52319b Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 12:34:45 -0500 Subject: [PATCH 06/14] Update openconfig-platform-usb-port.yang --- release/models/platform/openconfig-platform-usb-port.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index 27bba16d1..baa7fff31 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -70,7 +70,7 @@ module openconfig-platform-usb-port { leaf enabled { type boolean; description - "Turns power on / off to the USB port." + "Turns power on / off to the USB port."; } } From 89ed6d52ab661a1bec5047807c49f384f49c064c Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 12:39:05 -0500 Subject: [PATCH 07/14] Update openconfig-platform-usb-port.yang --- release/models/platform/openconfig-platform-usb-port.yang | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index baa7fff31..adab38497 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -53,9 +53,9 @@ module openconfig-platform-usb-port { } container state { + config false; description "State data for USB ports."; - config false; uses usb-port-config; uses usb-port-state; @@ -83,7 +83,7 @@ module openconfig-platform-usb-port { // augment statements - augment "/oc-platform:components/oc-platform:component/" { + augment "/oc-platform:components/oc-platform:component" { description "Configuration data for USB ports. A USB port can be configured for persistent powered-off From 4a9e54b1027fe8a619c3d0a687dc153632d05ed9 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 12:54:59 -0500 Subject: [PATCH 08/14] Update openconfig-platform-usb-port.yang --- release/models/platform/openconfig-platform-usb-port.yang | 1 + 1 file changed, 1 insertion(+) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index adab38497..2fee18b1a 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -69,6 +69,7 @@ module openconfig-platform-usb-port { leaf enabled { type boolean; + default "true"; description "Turns power on / off to the USB port."; } From 5353ca601f609db522ec36b3c8696f4e47b2f889 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 14:53:23 -0500 Subject: [PATCH 09/14] Update openconfig-platform-types.yang Fixed version number. --- release/models/platform/openconfig-platform-types.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-types.yang b/release/models/platform/openconfig-platform-types.yang index 898bd33eb..1b939a220 100644 --- a/release/models/platform/openconfig-platform-types.yang +++ b/release/models/platform/openconfig-platform-types.yang @@ -22,7 +22,7 @@ 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-09-03" { description From 5ff1f90c26cc1ab02d94db9d05d0c2073d94cfb9 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 15:31:00 -0500 Subject: [PATCH 10/14] Update openconfig-platform-types.yang Fixed trailing whitespace. --- release/models/platform/openconfig-platform-types.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-types.yang b/release/models/platform/openconfig-platform-types.yang index 1b939a220..a70b5bd0e 100644 --- a/release/models/platform/openconfig-platform-types.yang +++ b/release/models/platform/openconfig-platform-types.yang @@ -28,7 +28,7 @@ revision "2025-09-03" { description "Add USB_PORT"; reference "1.11.0"; - } + } revision "2025-07-09" { description From 7fc1559ed403ab43525d4194d851162b15d99c1b Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 15:32:17 -0500 Subject: [PATCH 11/14] Update openconfig-platform-usb-port.yang Fixed trailing whitespace. --- .../platform/openconfig-platform-usb-port.yang | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index 2fee18b1a..5b0f917fe 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -40,23 +40,23 @@ module openconfig-platform-usb-port { 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; } @@ -66,7 +66,7 @@ module openconfig-platform-usb-port { grouping usb-port-config { description "Configuration data for USB ports."; - + leaf enabled { type boolean; default "true"; @@ -74,7 +74,7 @@ module openconfig-platform-usb-port { "Turns power on / off to the USB port."; } } - + grouping usb-port-state { description "State data for USB ports."; From bef9d1ebd8aa66b1a4faf2c13e0c845440fccf4d Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 16:15:20 -0500 Subject: [PATCH 12/14] Update openconfig-platform-usb-port.yang Updated descriptions to be more general & reflect boolean statement rather than importing `power-admin-state`. --- release/models/platform/openconfig-platform-usb-port.yang | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index 5b0f917fe..f5fd47305 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -71,7 +71,7 @@ module openconfig-platform-usb-port { type boolean; default "true"; description - "Turns power on / off to the USB port."; + "Enables or disabled USB port functionality."; } } @@ -86,9 +86,7 @@ module openconfig-platform-usb-port { augment "/oc-platform:components/oc-platform:component" { description - "Configuration data for USB ports. - A USB port can be configured for persistent powered-off - mode using the config/power-admin-state leaf."; + "Configuration data for USB ports."; uses usb-port-top; } From d15df7597d49deb629b6a1e20a2797d5ab7cb0da Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Wed, 3 Sep 2025 16:16:51 -0500 Subject: [PATCH 13/14] Update openconfig-platform-usb-port.yang Typo. --- release/models/platform/openconfig-platform-usb-port.yang | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index f5fd47305..741b5baa3 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -71,7 +71,7 @@ module openconfig-platform-usb-port { type boolean; default "true"; description - "Enables or disabled USB port functionality."; + "Enables or disables USB port functionality."; } } From b340803a321be1222d3f1a4ae7b9ee151cf802c4 Mon Sep 17 00:00:00 2001 From: ThatOneSix Date: Thu, 4 Sep 2025 10:13:23 -0500 Subject: [PATCH 14/14] Update openconfig-platform-usb-port.yang Removed "default true;". --- release/models/platform/openconfig-platform-usb-port.yang | 1 - 1 file changed, 1 deletion(-) diff --git a/release/models/platform/openconfig-platform-usb-port.yang b/release/models/platform/openconfig-platform-usb-port.yang index 741b5baa3..bccae903b 100644 --- a/release/models/platform/openconfig-platform-usb-port.yang +++ b/release/models/platform/openconfig-platform-usb-port.yang @@ -69,7 +69,6 @@ module openconfig-platform-usb-port { leaf enabled { type boolean; - default "true"; description "Enables or disables USB port functionality."; }