diff --git a/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py b/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py
index 762f960364cc2d..26463550e6a28a 100644
--- a/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py
+++ b/scripts/py_matter_idl/examples/matter_idl_plugin/__init__.py
@@ -56,7 +56,7 @@ def toEnumEntryName(enumEntry, enumName):
def toProtobufType(zapType: str) -> str:
""" Convert zap type to protobuf type """
u32Types = [
- "uint32", "enum8", "enum16", "enum32", "bitmap8",
+ "uint32", "enum8", "enum16", "bitmap8",
"bitmap16", "bitmap32", "cluster_id", "attrib_id",
"event_id", "command_id", "endpoint_no", "group_id",
"devtype_id", "fabric_idx", "vendor_id", "status_code",
diff --git a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py
index 5fa6f06482439c..2a909bbbfb4d23 100644
--- a/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py
+++ b/scripts/py_matter_idl/matter_idl/data_model_xml/handlers/handlers.py
@@ -245,7 +245,7 @@ def EndProcessing(self):
if not self._enum.entries:
return
- # try to find the best enum size that fits out of enum8, enum32 and enum32
+ # try to find the best enum size that fits out of enum8 and enum16
# TODO: this is a pure heuristic. XML containing this would be better.
# https://github.com/csa-data-model/projects/issues/345
acceptable = {8, 16}
diff --git a/scripts/py_matter_idl/matter_idl/generators/java/__init__.py b/scripts/py_matter_idl/matter_idl/generators/java/__init__.py
index 98ac58a3a4ce37..caceed7866e9d4 100644
--- a/scripts/py_matter_idl/matter_idl/generators/java/__init__.py
+++ b/scripts/py_matter_idl/matter_idl/generators/java/__init__.py
@@ -126,8 +126,6 @@ def FieldToGlobalName(field: Field, context: TypeLookupContext) -> Optional[str]
# non-named enums
'enum8': 'uint8_t',
'enum16': 'uint16_t',
- 'enum32': 'uint32_t',
- 'enum64': 'uint64_t',
}
@@ -320,8 +318,6 @@ def _IsUsingGlobalCallback(field: Field, context: TypeLookupContext):
"int64u",
"enum8",
"enum16",
- "enum32",
- "enum64",
"bitmap8",
"bitmap16",
"bitmap32",
diff --git a/scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py b/scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py
index 680c865e5d73e2..b069319d7f586c 100644
--- a/scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py
+++ b/scripts/py_matter_idl/matter_idl/generators/kotlin/__init__.py
@@ -126,8 +126,6 @@ def FieldToGlobalName(field: Field, context: TypeLookupContext) -> Optional[str]
# non-named enums
'enum8': 'uint8_t',
'enum16': 'uint16_t',
- 'enum32': 'uint32_t',
- 'enum64': 'uint64_t',
}
diff --git a/scripts/py_matter_idl/matter_idl/generators/type_definitions.py b/scripts/py_matter_idl/matter_idl/generators/type_definitions.py
index b5243e4f9c7162..5f80f1e5ddf998 100644
--- a/scripts/py_matter_idl/matter_idl/generators/type_definitions.py
+++ b/scripts/py_matter_idl/matter_idl/generators/type_definitions.py
@@ -164,13 +164,10 @@ def is_struct(self) -> bool:
# Data types, held by ZAP in chip-types.xml and generally by the spec.
__CHIP_SIZED_TYPES__ = {
"bitmap16": BasicInteger(idl_name="bitmap16", byte_count=2, is_signed=False),
- "bitmap24": BasicInteger(idl_name="bitmap24", byte_count=3, is_signed=False),
"bitmap32": BasicInteger(idl_name="bitmap32", byte_count=4, is_signed=False),
"bitmap64": BasicInteger(idl_name="bitmap64", byte_count=8, is_signed=False),
"bitmap8": BasicInteger(idl_name="bitmap8", byte_count=1, is_signed=False),
"enum16": BasicInteger(idl_name="enum16", byte_count=2, is_signed=False),
- "enum24": BasicInteger(idl_name="enum24", byte_count=3, is_signed=False),
- "enum32": BasicInteger(idl_name="enum32", byte_count=4, is_signed=False),
"enum8": BasicInteger(idl_name="enum8", byte_count=1, is_signed=False),
"int16s": BasicInteger(idl_name="int16s", byte_count=2, is_signed=True),
"int16u": BasicInteger(idl_name="int16u", byte_count=2, is_signed=False),
@@ -336,7 +333,7 @@ def is_enum_type(self, name: str):
Handles both standard names (like enum8) as well as enumerations defined
within the current lookup context.
"""
- if name.lower() in ["enum8", "enum16", "enum24", "enum32"]:
+ if name.lower() in ["enum8", "enum16"]:
return True
return any(map(lambda e: e.name == name, self.all_enums))
@@ -348,7 +345,7 @@ def is_struct_type(self, name: str):
def is_untyped_bitmap_type(self, name: str):
"""Determine if the given type is a untyped bitmap (just an interger size)."""
- return name.lower() in {"bitmap8", "bitmap16", "bitmap24", "bitmap32", "bitmap64"}
+ return name.lower() in {"bitmap8", "bitmap16", "bitmap32", "bitmap64"}
def is_bitmap_type(self, name: str):
"""
@@ -386,9 +383,9 @@ def ParseDataType(data_type: DataType, lookup: TypeLookupContext) -> Union[Basic
return BasicString(idl_name=lowercase_name, is_binary=False, max_length=data_type.max_length)
elif lowercase_name in ['octet_string', 'long_octet_string']:
return BasicString(idl_name=lowercase_name, is_binary=True, max_length=data_type.max_length)
- elif lowercase_name in ['enum8', 'enum16', 'enum24', 'enum32']:
+ elif lowercase_name in ['enum8', 'enum16']:
return IdlEnumType(idl_name=lowercase_name, base_type=__CHIP_SIZED_TYPES__[lowercase_name])
- elif lowercase_name in ['bitmap8', 'bitmap16', 'bitmap24', 'bitmap32', 'bitmap64']:
+ elif lowercase_name in ['bitmap8', 'bitmap16', 'bitmap32', 'bitmap64']:
return IdlBitmapType(idl_name=lowercase_name, base_type=__CHIP_SIZED_TYPES__[lowercase_name])
int_type = __CHIP_SIZED_TYPES__.get(lowercase_name, None)
diff --git a/scripts/py_matter_idl/matter_idl/test_supported_types.py b/scripts/py_matter_idl/matter_idl/test_supported_types.py
index 62f7d4c59956c5..f6eec7cf844342 100755
--- a/scripts/py_matter_idl/matter_idl/test_supported_types.py
+++ b/scripts/py_matter_idl/matter_idl/test_supported_types.py
@@ -72,9 +72,9 @@ def testAllTypesSupported(self):
# handled as a non-integer type
"boolean", "single", "double",
# handled as specific bitmaps
- "bitmap8", "bitmap16", "bitmap24", "bitmap32", "bitmap64",
- # handled as specific enums
- "enum8", "enum16", "enum24", "enum32",
+ "bitmap8", "bitmap16", "bitmap32", "bitmap64",
+ # handled as specific enums. Note that spec defines enumerations only for 8 and 16
+ "enum8", "enum16",
# TODO: these may be bugs to fix
"unknown"
diff --git a/src/app/tests/suites/README.md b/src/app/tests/suites/README.md
index de391a64cebfc0..39236e3b1517d6 100644
--- a/src/app/tests/suites/README.md
+++ b/src/app/tests/suites/README.md
@@ -314,7 +314,6 @@ src/app/tests/suites/examples/gen_readme_example.sh
| boolean | 1 | BOOLEAN | 0x10 | Boolean | uint8_t |
| bitmap8 | 1 | BITMAP8 | 0x18 | 8-bit bitmap | uint8_t |
| bitmap16 | 2 | BITMAP16 | 0x19 | 16-bit bitmap | uint16_t |
-| bitmap24 | 3 | BITMAP24 | 0x1A | 24-bit bitmap | uint32_t |
| bitmap32 | 4 | BITMAP32 | 0x1B | 32-bit bitmap | uint32_t |
| bitmap64 | 8 | BITMAP64 | 0x1F | 64-bit bitmap | uint8_t \* |
| int8u | 1 | INT8U | 0x20 | Unsigned 8-bit integer | uint8_t |
diff --git a/src/app/zap-templates/zcl/data-model/chip/chip-types.xml b/src/app/zap-templates/zcl/data-model/chip/chip-types.xml
index a9466ff6d79ffc..ffbf74cb78804c 100644
--- a/src/app/zap-templates/zcl/data-model/chip/chip-types.xml
+++ b/src/app/zap-templates/zcl/data-model/chip/chip-types.xml
@@ -27,7 +27,6 @@ limitations under the License.
-
diff --git a/zzz_generated/app-common/app-common/zap-generated/attribute-type.h b/zzz_generated/app-common/app-common/zap-generated/attribute-type.h
index e79d1281b33a8c..c14a0614f6a1c4 100644
--- a/zzz_generated/app-common/app-common/zap-generated/attribute-type.h
+++ b/zzz_generated/app-common/app-common/zap-generated/attribute-type.h
@@ -27,7 +27,6 @@ enum
ZCL_BOOLEAN_ATTRIBUTE_TYPE = 0x10, // Boolean
ZCL_BITMAP8_ATTRIBUTE_TYPE = 0x18, // 8-bit bitmap
ZCL_BITMAP16_ATTRIBUTE_TYPE = 0x19, // 16-bit bitmap
- ZCL_BITMAP24_ATTRIBUTE_TYPE = 0x1A, // 24-bit bitmap
ZCL_BITMAP32_ATTRIBUTE_TYPE = 0x1B, // 32-bit bitmap
ZCL_BITMAP64_ATTRIBUTE_TYPE = 0x1F, // 64-bit bitmap
ZCL_INT8U_ATTRIBUTE_TYPE = 0x20, // Unsigned 8-bit integer