Fix for x86_64 build fail
[platform/upstream/connectedhomeip.git] / src / app / zap-templates / zcl / data-model / silabs / ota.xml
1 <?xml version="1.0"?>
2 <!--
3 Copyright (c) 2008,2020 Silicon Labs.
4
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
8
9     http://www.apache.org/licenses/LICENSE-2.0
10
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
16 -->
17 <configurator>
18   <domain name="SE" spec="se-1.2b-15-0131-02" dependsOn="zcl-1.0-07-5123-04" certifiable="false">
19   </domain>
20   <cluster>
21     <name>Over the Air Bootloading</name>
22     <domain>General</domain>
23     <description>This cluster contains commands and attributes that act as an interface for ZigBee Over-the-air bootloading.</description>
24     <code>0x0019</code>
25     <define>OTA_BOOTLOAD_CLUSTER</define>
26     <client tick="false" init="false">true</client>
27     <server tick="false" init="false">true</server>
28     <generateCmdHandlers>false</generateCmdHandlers>
29     <globalAttribute side="either" code="0xFFFD" value="4"/>
30     <attribute side="client" type="IEEE_ADDRESS" code="0x0000" writable="false" optional="false" default="0xffffffffffffffff" define="UPGRADE_SERVER_ID">OTA Upgrade Server ID</attribute>
31     <!-- Although the File Offset attribute is optional, it is mandatory for our implementation of the OTA client plugin. -->
32     <attribute side="client" type="INT32U" code="0x0001" writable="false" optional="false" default="0xffffffff" define="FILE_OFFSET">Offset (address) into the file</attribute>
33     <attribute side="client" type="INT32U" code="0x0002" writable="false" optional="true" default="0xffffffff" define="CURRENT_FILE_VERSION">OTA Current File Version</attribute>
34     <attribute side="client" type="INT16U" code="0x0003" writable="false" optional="true" default="0xffff" define="CURRENT_ZIGBEE_STACK_VERSION">OTA Current ZigBee Stack Version</attribute>
35     <attribute side="client" type="INT32U" code="0x0004" writable="false" optional="true" default="0xffffffff" define="DOWNLOADED_FILE_VERSION">OTA Downloaded File Version</attribute>
36     <attribute side="client" type="INT16U" code="0x0005" writable="false" optional="true" default="0xffff" define="DOWNLOADED_ZIGBEE_STACK_VERSION">OTA Downloaded ZigBee Stack Version</attribute>
37     <attribute side="client" type="ENUM8" code="0x0006" writable="false" optional="false" default="0x00" define="IMAGE_UPGRADE_STATUS">OTA Upgrade Status</attribute>
38     <attribute side="client" type="INT16U" code="0x0007" writable="false" optional="true" define="MANUFACTURER_ID">Manufacturer ID</attribute>
39     <attribute side="client" type="INT16U" code="0x0008" writable="false" optional="true" define="IMAGE_TYPE_ID">Image Type ID</attribute>
40     <attribute side="client" type="INT16U" code="0x0009" writable="false" optional="true" define="MINIMUM_BLOCK_REQUEST_PERIOD" introducedIn="ha-1.2-05-3520-29">Minimum Block Request Period</attribute>
41     <attribute side="client" type="INT32U" code="0x000A" writable="false" optional="true" define="IMAGE_STAMP" introducedIn="ha-1.2-05-3520-29">Image Stamp</attribute>
42     <attribute side="client" type="ENUM8" code="0x000B" writable="false" optional="true" default="0x00" define="UPGRADE_ACTIVATION_POLICY" introducedIn="se-1.2b-15-0131-02">Upgrade Activation Policy</attribute>
43     <attribute side="client" type="ENUM8" code="0x000C" writable="false" optional="true" default="0x00" define="UPGRADE_TIMEOUT_POLICY" introducedIn="se-1.2b-15-0131-02">Upgrade Timeout Policy</attribute>
44     <command code="0x0" name="ImageNotify" source="server">
45       <description>
46         This command is generated when the upgrade server wishes to notify the clients of the available OTA upgrade image.  The command can be sent as unicast which provides a way for the server to force the upgrade on the client.  The command can also be sent as broadcast or multicast to certain class of clients (for example, the ones that have matching manufacturing and device ids).
47       </description>
48       <arg name="payloadType" type="ENUM8"/>
49       <arg name="queryJitter" type="INT8U"/>
50       <arg name="manufacturerId" type="INT16U"/>
51       <arg name="imageType" type="INT16U"/>
52       <arg name="newFileVersion" type="INT32U"/>
53     </command>
54     <command code="0x1" name="QueryNextImageRequest" source="client">
55       <description>
56       This command is generated upon receipt of an Image Notify command to indicate that the client is looking for the next firmware image to upgrade to.  The client may also choose to send the command periodically to the server.
57       </description>
58       <arg name="fieldControl" type="INT8U"/>
59       <arg name="manufacturerId" type="INT16U"/>
60       <arg name="imageType" type="INT16U"/>
61       <arg name="currentFileVersion" type="INT32U"/>
62       <arg name="hardwareVersion" type="INT16U"/>
63     </command>
64     <command code="0x2" name="QueryNextImageResponse" source="server" disableDefaultResponse="true">
65       <description>
66         This command is generated upon receipt of an QueryNextImageRequest command to response whether the server has a valid OTA upgrade image for the client or not.  If the server has the file, information regarding the file and OTA upgrade process will be included in the command.
67       </description>
68       <arg name="status" type="Status"/>
69       <arg name="manufacturerId" type="INT16U"/>
70       <arg name="imageType" type="INT16U"/>
71       <arg name="fileVersion" type="INT32U"/>
72       <arg name="imageSize" type="INT32U"/>
73     </command>
74     <command code="0x3" name="ImageBlockRequest" source="client">
75       <description>
76         This command is generated by the client to request blocks of OTA upgrade file data.
77       </description>
78       <arg name="fieldControl" type="INT8U"/>
79       <arg name="manufacturerId" type="INT16U"/>
80       <arg name="imageType" type="INT16U"/>
81       <arg name="fileVersion" type="INT32U"/>
82       <arg name="fileOffset" type="INT32U"/>
83       <arg name="maxDataSize" type="INT8U"/>
84       <arg name="requestNodeAddress" type="IEEE_ADDRESS"/>
85     </command>
86     <command code="0x4" name="ImagePageRequest" source="client" optional="true">
87       <description>
88         This command is generated by the client to request pages of OTA upgrade file data. A page would contain multiple blocks of data.
89       </description>
90       <arg name="fieldControl" type="INT8U"/>
91       <arg name="manufacturerId" type="INT16U"/>
92       <arg name="imageType" type="INT16U"/>
93       <arg name="fileVersion" type="INT32U"/>
94       <arg name="fileOffset" type="INT32U"/>
95       <arg name="maxDataSize" type="INT8U"/>
96       <arg name="pageSize" type="INT16U"/>
97       <arg name="responseSpacing" type="INT16U"/>
98       <arg name="requestNodeAddress" type="IEEE_ADDRESS"/>
99     </command>
100     <command code="0x5" name="ImageBlockResponse" source="server" disableDefaultResponse="true">
101       <description>
102         This command is generated by the server in response to the block or page request command.  If the server has the data available, it will reply back with a SUCCESS status.  For other error cases, it may reply with status WAIT_FOR_DATA (server does not have the data available yet) or ABORT (invalid requested parameters or other failure cases).
103       </description>
104       <arg name="status" type="Status"/>
105       <arg name="manufacturerId" type="INT16U"/>
106       <arg name="imageType" type="INT16U"/>
107       <arg name="fileVersion" type="INT32U"/>
108       <arg name="fileOffset" type="INT32U"/>
109       <arg name="dataSize" type="INT8U"/>
110       <arg name="imageData" type="INT8U" array="true"/>
111     </command>
112     <command code="0x6" name="UpgradeEndRequest" source="client">
113       <description>
114         This command is generated by the client to notify the server of the end of the upgrade process.  The process may end with success or error status.
115       </description>
116       <arg name="status" type="Status"/>
117       <arg name="manufacturerId" type="INT16U"/>
118       <arg name="imageType" type="INT16U"/>
119       <arg name="fileVersion" type="INT32U"/>
120     </command>
121     <command code="0x7" name="UpgradeEndResponse" source="server" disableDefaultResponse="true">
122       <description>
123         This command is generated by the server in response to the upgrade request in order to let the client know when to upgrade to running new firmware image.
124       </description>
125       <arg name="manufacturerId" type="INT16U"/>
126       <arg name="imageType" type="INT16U"/>
127       <arg name="fileVersion" type="INT32U"/>
128       <arg name="currentTime" type="UTC_TIME"/>
129       <arg name="upgradeTime" type="UTC_TIME"/>
130     </command>
131     <command code="0x8" name="QuerySpecificFileRequest" source="client" optional="true">
132       <description>
133         This command is generated by the client to request a file that is specific to itself.  The intention is to provide a way for the client to request non-OTA upgrade file.
134       </description>
135       <arg name="requestNodeAddress" type="IEEE_ADDRESS"/>
136       <arg name="manufacturerId" type="INT16U"/>
137       <arg name="imageType" type="INT16U"/>
138       <arg name="fileVersion" type="INT32U"/>
139       <arg name="currentZigbeeStackVersion" type="INT16U"/>
140     </command>
141     <command code="0x9" name="QuerySpecificFileResponse" source="server" disableDefaultResponse="true" optional="true">
142       <description>
143         This command is generated upon receipt of an QuerySpecificFileRequest command to response whether the server has a valid file for the client or not.  If the server has the file, information regarding the file and OTA process will be included in the command.
144       </description>
145       <arg name="status" type="Status"/>
146       <arg name="manufacturerId" type="INT16U"/>
147       <arg name="imageType" type="INT16U"/>
148       <arg name="fileVersion" type="INT32U"/>
149       <arg name="imageSize" type="INT32U"/>
150     </command>
151   </cluster>
152 </configurator>