diff --git a/data_model/clusters/ContentControl.xml b/data_model/clusters/ContentControl.xml
index 3642777b46a76d..ff38faf1f10909 100644
--- a/data_model/clusters/ContentControl.xml
+++ b/data_model/clusters/ContentControl.xml
@@ -79,12 +79,12 @@ Davis, CA 95616, USA
-
+
-
+
@@ -92,60 +92,66 @@ Davis, CA 95616, USA
-
+
+
-
+
+
-
-
+
+
-
+
+
-
-
+
+
-
+
+
-
+
+
-
+
+
-
+
-
+
@@ -159,13 +165,13 @@ Davis, CA 95616, USA
-
+
-
+
@@ -173,20 +179,12 @@ Davis, CA 95616, USA
-
+
-
-
-
-
-
+
-
-
-
-
@@ -194,7 +192,7 @@ Davis, CA 95616, USA
-
+
@@ -202,36 +200,44 @@ Davis, CA 95616, USA
-
+
-
-
-
-
-
+
-
+
-
-
-
-
-
+
-
+
+
+
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data_model/clusters/ICDManagement.xml b/data_model/clusters/ICDManagement.xml
new file mode 100644
index 00000000000000..711b98b49b104c
--- /dev/null
+++ b/data_model/clusters/ICDManagement.xml
@@ -0,0 +1,180 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/data_model/clusters/KeypadInput.xml b/data_model/clusters/KeypadInput.xml
index 30936891c6c71d..7179ae676b65fe 100644
--- a/data_model/clusters/KeypadInput.xml
+++ b/data_model/clusters/KeypadInput.xml
@@ -72,7 +72,7 @@ Davis, CA 95616, USA
-
+
-
@@ -348,7 +348,7 @@ Davis, CA 95616, USA
-
+
diff --git a/data_model/clusters/MediaPlayback.xml b/data_model/clusters/MediaPlayback.xml
index 21001d287f6120..c53dc862808c12 100644
--- a/data_model/clusters/MediaPlayback.xml
+++ b/data_model/clusters/MediaPlayback.xml
@@ -61,10 +61,10 @@ Davis, CA 95616, USA
-
+
-
+
@@ -203,12 +203,22 @@ Davis, CA 95616, USA
+
+
+
+
+
+
+
+
+
+
diff --git a/data_model/clusters/MicrowaveOvenControl.xml b/data_model/clusters/MicrowaveOvenControl.xml
index e97821db771a77..3f127cebd90367 100644
--- a/data_model/clusters/MicrowaveOvenControl.xml
+++ b/data_model/clusters/MicrowaveOvenControl.xml
@@ -55,7 +55,7 @@ Connectivity Standards Alliance
508 Second Street, Suite 206
Davis, CA 95616, USA
-->
-
+
diff --git a/data_model/clusters/PowerSourceCluster.xml b/data_model/clusters/PowerSourceCluster.xml
index f7b5da82ce20fc..27caade3c634a3 100644
--- a/data_model/clusters/PowerSourceCluster.xml
+++ b/data_model/clusters/PowerSourceCluster.xml
@@ -69,24 +69,24 @@ Davis, CA 95616, USA
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/data_model/clusters/TimeSync.xml b/data_model/clusters/TimeSync.xml
index c7ad7b0032aaf7..4515d44012085e 100644
--- a/data_model/clusters/TimeSync.xml
+++ b/data_model/clusters/TimeSync.xml
@@ -57,7 +57,7 @@ Connectivity Standards Alliance
508 Second Street, Suite 206
Davis, CA 95616, USA
-->
-
+
diff --git a/data_model/spec_sha b/data_model/spec_sha
index 03c3b85baa2427..d0a25923c7c7b5 100644
--- a/data_model/spec_sha
+++ b/data_model/spec_sha
@@ -1 +1 @@
-49003c1b2337aa51dad227977981b763667d1f75
+8e4f91da4aacda4e799b9979605342a315ac7e43
diff --git a/scripts/spec_xml/generate_spec_xml.py b/scripts/spec_xml/generate_spec_xml.py
index d0b2635bcf3398..ab954f17a14fb7 100755
--- a/scripts/spec_xml/generate_spec_xml.py
+++ b/scripts/spec_xml/generate_spec_xml.py
@@ -66,7 +66,8 @@ def scrape_clusters(scraper, spec_root, output_dir, dry_run):
media_clusters_dir = os.path.abspath(os.path.join(app_clusters_dir, 'media'))
clusters_output_dir = os.path.abspath(os.path.join(output_dir, 'clusters'))
dm_clusters_list = ['ACL-Cluster.adoc', 'Binding-Cluster.adoc', 'bridge-clusters.adoc',
- 'Descriptor-Cluster.adoc', 'Group-Key-Management-Cluster.adoc', 'Label-Cluster.adoc']
+ 'Descriptor-Cluster.adoc', 'Group-Key-Management-Cluster.adoc', 'ICDManagement.adoc',
+ 'Label-Cluster.adoc']
sdm_exclude_list = ['AdminAssistedCommissioningFlows.adoc', 'BulkDataExchange.adoc', 'CommissioningFlows.adoc',
'DeviceCommissioningFlows.adoc', 'DistributedComplianceLedger.adoc', 'OTAFileFormat.adoc']
app_exclude_list = ['appliances.adoc', 'closures.adoc', 'general.adoc',