1<?xml version="1.0" encoding="utf-8"?>
2
3
4<!--****************************************************************************
5* \file rtc.cypersonality
6* \version 3.0
7*
8* \brief
9* Real Time Clock personality description file.
10* This supports CAT1A, CAT1B and CAT1C devices.
11*
12********************************************************************************
13* \copyright
14* Copyright 2022 Cypress Semiconductor Corporation
15* SPDX-License-Identifier: Apache-2.0
16*
17* Licensed under the Apache License, Version 2.0 (the "License");
18* you may not use this file except in compliance with the License.
19* You may obtain a copy of the License at
20*
21*     http://www.apache.org/licenses/LICENSE-2.0
22*
23* Unless required by applicable law or agreed to in writing, software
24* distributed under the License is distributed on an "AS IS" BASIS,
25* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
26* See the License for the specific language governing permissions and
27* limitations under the License.
28*****************************************************************************-->
29
30<Personality id="rtc" name="Real Time Clock" version="3.0" xmlns="http://cypress.com/xsd/cyhwpersonality_v7">
31  <Dependencies>
32    <IpBlock name="mxs40srss,mxs40ssrss,mxs40srss_ver3,mxs22srss" />
33    <Resource name="srss\.rtc" />
34  </Dependencies>
35  <ExposedMembers />
36  <Parameters>
37    <!-- PDL documentation -->
38    <ParamDoc id="pdlDoc" name="Configuration Help" group="Overview" default="file:///`${cy_libs_path()}`/docs/pdl_api_reference_manual/html/group__group__rtc.html" linkText="Open RTC Documentation" visible="true" desc="Opens the Peripheral Driver Library Documentation" />
39
40    <!--General-->
41    <ParamChoice id="format" name="Date Format" group="General" default="0" visible="true" editable="true" desc="Stores the Date Format to use for display. Can choose from the following values: MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD." >
42      <Entry name="MM/DD/YYYY" value="0" visible="true" />
43      <Entry name="DD/MM/YYYY" value="1" visible="true" />
44      <Entry name="YYYY/MM/DD" value="2" visible="true" />
45    </ParamChoice>
46    <ParamBool id="dst" name="Enable Daylight Savings (DST)" group="General" default="false" visible="true" editable="true" desc="Creates configuration structure for the daylight savings functionality." />
47    <ParamChoice id="dstFormat" name="DST Format" group="General" default="CY_RTC_DST_RELATIVE" visible="`${dst}`" editable="true" desc="This parameter stores the DST date type. Can contain the following values: Relative, Fixed." >
48      <Entry name="Relative" value="CY_RTC_DST_RELATIVE"   visible="true" />
49      <Entry name="Fixed"    value="CY_RTC_DST_FIXED"      visible="true" />
50    </ParamChoice>
51
52    <!--Time and Date-->
53    <ParamRange id="sec" name="Seconds" group="Time and Date" default="0"  min="0" max="59" resolution="1" visible="true" editable="true" desc="Stores the Seconds value. The possible values are 0-59." />
54    <ParamRange id="min" name="Minutes" group="Time and Date" default="0"  min="0" max="59" resolution="1" visible="true" editable="true" desc="Stores the Minutes value. The possible values are 0-59." />
55    <ParamChoice id="hrFormat" name="Hours Format" group="Time and Date" default="CY_RTC_24_HOURS" visible="true" editable="true" desc="Stores the Hours Format. The possible values: 24H, 12H.">
56      <Entry name="24H"    value="CY_RTC_24_HOURS"   visible="true" />
57      <Entry name="12H"    value="CY_RTC_12_HOURS"   visible="true" />
58    </ParamChoice>
59    <ParamRange id="hr" name="Hour" group="Time and Date" default="12" min="`${hrFormat eq CY_RTC_24_HOURS ? 0 : 1}`" max="`${hrFormat eq CY_RTC_24_HOURS ? 23 : 12}`" resolution="1" visible="true" editable="true" desc="Stores the Hour value. The possible values are `${hrFormat eq CY_RTC_24_HOURS ? &quot;0 - 23&quot; : &quot;1 - 12&quot;}`." />
60    <ParamChoice id="amPmPeriodOfDay" name="AM/PM Period of the Day" group="Time and Date" default="CY_RTC_AM" visible="`${hrFormat eq CY_RTC_12_HOURS}`" editable="true" desc="Stores the AM/PM Period of the Day. Possible values: AM, PM.">
61      <Entry name="AM"    value="CY_RTC_AM"   visible="true" />
62      <Entry name="PM"    value="CY_RTC_PM"   visible="true" />
63    </ParamChoice>
64    <ParamRange id="dayOfTheMonth" name="Day of the Month" group="Time and Date" default="1" min="1" max="31" resolution="1" visible="true" editable="true" desc="Stores the Day of the Month. The possible values are 1-31." />
65    <ParamChoice id="month" name="Month" group="Time and Date" default="CY_RTC_JANUARY" visible="true" editable="true" desc="Stores the Month. The possible values are January-December." >
66      <Entry name="January"   value="CY_RTC_JANUARY"   visible="true" />
67      <Entry name="February"  value="CY_RTC_FEBRUARY"  visible="true" />
68      <Entry name="March"     value="CY_RTC_MARCH"     visible="true" />
69      <Entry name="April"     value="CY_RTC_APRIL"     visible="true" />
70      <Entry name="May"       value="CY_RTC_MAY"       visible="true" />
71      <Entry name="June"      value="CY_RTC_JUNE"      visible="true" />
72      <Entry name="July"      value="CY_RTC_JULY"      visible="true" />
73      <Entry name="August"    value="CY_RTC_AUGUST"    visible="true" />
74      <Entry name="September" value="CY_RTC_SEPTEMBER" visible="true" />
75      <Entry name="October"   value="CY_RTC_OCTOBER"   visible="true" />
76      <Entry name="November"  value="CY_RTC_NOVEMBER"  visible="true" />
77      <Entry name="December"  value="CY_RTC_DECEMBER"  visible="true" />
78    </ParamChoice>
79    <ParamRange id="year" name="Year" group="Time and Date" default="0" min="0" max="99" resolution="1" visible="true" editable="true" desc="Stores the Year. The possible values are 0-99. Setting the 0 means that 2000 year is set, 99 - 2099 accordingly." />
80    <ParamString id="monthId" name="monthId" group="Internal" default="`${month eq CY_RTC_JANUARY ? &quot;1&quot; :
81                                                                                                   month eq CY_RTC_FEBRUARY   ? &quot;2&quot; :
82                                                                                                   month eq CY_RTC_MARCH      ? &quot;3&quot; :
83                                                                                                   month eq CY_RTC_APRIL      ? &quot;4&quot; :
84                                                                                                   month eq CY_RTC_MAY        ? &quot;5&quot; :
85                                                                                                   month eq CY_RTC_JUNE       ? &quot;6&quot; :
86                                                                                                   month eq CY_RTC_JULY       ? &quot;7&quot; :
87                                                                                                   month eq CY_RTC_AUGUST     ? &quot;8&quot; :
88                                                                                                   month eq CY_RTC_SEPTEMBER  ? &quot;9&quot; :
89                                                                                                   month eq CY_RTC_OCTOBER    ? &quot;10&quot; :
90                                                                                                   month eq CY_RTC_NOVEMBER   ? &quot;11&quot; :
91                                                                                                   &quot;12&quot;}`" visible="false" editable="false" desc="months of a year" />
92    <ParamString id="fetchYear"  name="Fetch year"  group="Internal" default="`${(monthId &lt; 3 ? (year - 1): year) + 2000}`" visible="false" editable="false" desc="Fetch year to get the valid day of the week." />
93    <ParamString id="fetchMonth"  name="Fetch month"  group="Internal" default="`${(monthId &lt; 3 ? (monthId + 12): monthId)}`" visible="false" editable="false" desc="Fetch month to get the valid day of the week." />
94    <ParamString id="fetchDayOfWeek"  name="fetch day"  group="Internal" default="`${((dayOfTheMonth + (((fetchMonth + 1) * 26) / 10) + (fetchYear) + ((fetchYear) / 4) + (6 * ((fetchYear) / 100)) + ((fetchYear) / 400)) % 7)}`" visible="false" editable="false" desc="Fetch valid day of the week." />
95    <ParamString id="dayOfTheWeek"  name="Day of the Week"  group="Time and Date" default="`${fetchDayOfWeek eq 1 ? &quot;SUNDAY&quot; :
96                                                                                                                     fetchDayOfWeek eq 2 ? &quot;MONDAY&quot; :
97                                                                                                                     fetchDayOfWeek eq 3 ? &quot;TUESDAY&quot; :
98                                                                                                                     fetchDayOfWeek eq 4 ? &quot;WEDNESDAY&quot; :
99                                                                                                                     fetchDayOfWeek eq 5 ? &quot;THURSDAY&quot; :
100                                                                                                                     fetchDayOfWeek eq 6 ? &quot;FRIDAY&quot; :
101                                                                                                                     &quot;SATURDAY&quot;}`" visible="true" editable="false" desc="Stores the Day of the Week." />
102     <!--DST Start-->
103    <ParamChoice id="dstStartMonth" name="Month" group="DST Start" default="CY_RTC_MARCH" visible="`${dst}`" editable="true" desc="Stores the Month when the DST functionality should be started. The possible values are January-December." >
104      <Entry name="January"   value="CY_RTC_JANUARY"   visible="true" />
105      <Entry name="February"  value="CY_RTC_FEBRUARY"  visible="true" />
106      <Entry name="March"     value="CY_RTC_MARCH"     visible="true" />
107      <Entry name="April"     value="CY_RTC_APRIL"     visible="true" />
108      <Entry name="May"       value="CY_RTC_MAY"       visible="true" />
109      <Entry name="June"      value="CY_RTC_JUNE"      visible="true" />
110      <Entry name="July"      value="CY_RTC_JULY"      visible="true" />
111      <Entry name="August"    value="CY_RTC_AUGUST"    visible="true" />
112      <Entry name="September" value="CY_RTC_SEPTEMBER" visible="true" />
113      <Entry name="October"   value="CY_RTC_OCTOBER"   visible="true" />
114      <Entry name="November"  value="CY_RTC_NOVEMBER"  visible="true" />
115      <Entry name="December"  value="CY_RTC_DECEMBER"  visible="true" />
116    </ParamChoice>
117    <ParamRange id="dstStartDay" name="Day of the Month" group="DST Start" default="22" min="1" max="31" resolution="1" visible="`${dst &amp;&amp; (dstFormat eq CY_RTC_DST_FIXED)}`" editable="true" desc="Stores the Day of the Month when the DST functionality should be started. The possible values are 1-31." />
118    <ParamChoice id="dstStartWeek" name="Week of the Month" group="DST Start" default="CY_RTC_LAST_WEEK_OF_MONTH" visible="`${dst &amp;&amp; (dstFormat eq CY_RTC_DST_RELATIVE)}`" editable="true" desc="Stores the Week of the Month when the DST functionality should be started. The possible values are First-Last." >
119      <Entry name="First"   value="CY_RTC_FIRST_WEEK_OF_MONTH"  visible="true" />
120      <Entry name="Second"  value="CY_RTC_SECOND_WEEK_OF_MONTH" visible="true" />
121      <Entry name="Third"   value="CY_RTC_THIRD_WEEK_OF_MONTH"  visible="true" />
122      <Entry name="Fourth"  value="CY_RTC_FOURTH_WEEK_OF_MONTH" visible="true" />
123      <Entry name="Fifth"   value="CY_RTC_FIFTH_WEEK_OF_MONTH"  visible="true" />
124      <Entry name="Last"    value="CY_RTC_LAST_WEEK_OF_MONTH"   visible="true" />
125    </ParamChoice>
126    <ParamChoice id="dstStartDayOfWeek" name="Day of the Week" group="DST Start" default="CY_RTC_SUNDAY" visible="`${dst &amp;&amp; (dstFormat eq CY_RTC_DST_RELATIVE)}`" editable="true" desc="Stores the Day of the Week when the DST functionality should be started. The possible values are Sunday-Saturday." >
127      <Entry name="Sunday"    value="CY_RTC_SUNDAY"    visible="true" />
128      <Entry name="Monday"    value="CY_RTC_MONDAY"    visible="true" />
129      <Entry name="Tuesday"   value="CY_RTC_TUESDAY"   visible="true" />
130      <Entry name="Wednesday" value="CY_RTC_WEDNESDAY" visible="true" />
131      <Entry name="Thursday"  value="CY_RTC_THURSDAY"  visible="true" />
132      <Entry name="Friday"    value="CY_RTC_FRIDAY"    visible="true" />
133      <Entry name="Saturday"  value="CY_RTC_SATURDAY"  visible="true" />
134    </ParamChoice>
135    <ParamChoice id="dstStartHour" name="Hour" group="DST Start" default="0" visible="`${dst}`" editable="true" desc="Stores the Hour when the DST functionality should be started. The possible values are 00:00-23:00." >
136      <Entry name="00:00" value="0" visible="true" />
137      <Entry name="01:00" value="1" visible="true" />
138      <Entry name="02:00" value="2" visible="true" />
139      <Entry name="03:00" value="3" visible="true" />
140      <Entry name="04:00" value="4" visible="true" />
141      <Entry name="05:00" value="5" visible="true" />
142      <Entry name="06:00" value="6" visible="true" />
143      <Entry name="07:00" value="7" visible="true" />
144      <Entry name="08:00" value="8" visible="true" />
145      <Entry name="09:00" value="9" visible="true" />
146      <Entry name="10:00" value="10" visible="true" />
147      <Entry name="11:00" value="11" visible="true" />
148      <Entry name="12:00" value="12" visible="true" />
149      <Entry name="13:00" value="13" visible="true" />
150      <Entry name="14:00" value="14" visible="true" />
151      <Entry name="15:00" value="15" visible="true" />
152      <Entry name="16:00" value="16" visible="true" />
153      <Entry name="17:00" value="17" visible="true" />
154      <Entry name="18:00" value="18" visible="true" />
155      <Entry name="19:00" value="19" visible="true" />
156      <Entry name="20:00" value="20" visible="true" />
157      <Entry name="21:00" value="21" visible="true" />
158      <Entry name="22:00" value="22" visible="true" />
159      <Entry name="23:00" value="23" visible="true" />
160    </ParamChoice>
161
162    <!--DST Stop-->
163    <ParamChoice id="dstStopMonth" name="Month" group="DST Stop" default="CY_RTC_OCTOBER" visible="`${dst}`" editable="true" desc="Stores the Month when the DST functionality should be stopped. The possible values are January-December." >
164      <Entry name="January"   value="CY_RTC_JANUARY"   visible="true" />
165      <Entry name="February"  value="CY_RTC_FEBRUARY"  visible="true" />
166      <Entry name="March"     value="CY_RTC_MARCH"     visible="true" />
167      <Entry name="April"     value="CY_RTC_APRIL"     visible="true" />
168      <Entry name="May"       value="CY_RTC_MAY"       visible="true" />
169      <Entry name="June"      value="CY_RTC_JUNE"      visible="true" />
170      <Entry name="July"      value="CY_RTC_JULY"      visible="true" />
171      <Entry name="August"    value="CY_RTC_AUGUST"    visible="true" />
172      <Entry name="September" value="CY_RTC_SEPTEMBER" visible="true" />
173      <Entry name="October"   value="CY_RTC_OCTOBER"   visible="true" />
174      <Entry name="November"  value="CY_RTC_NOVEMBER"  visible="true" />
175      <Entry name="December"  value="CY_RTC_DECEMBER"  visible="true" />
176    </ParamChoice>
177    <ParamRange id="dstStopDay" name="Day of the Month" group="DST Stop" default="22" min="1" max="31" resolution="1" visible="`${dst &amp;&amp; (dstFormat eq CY_RTC_DST_FIXED)}`" editable="true" desc="Stores the Day of the Month when the DST functionality should be stopped. The possible values are 1-31." />
178    <ParamChoice id="dstStopWeek" name="Week of the Month" group="DST Stop" default="CY_RTC_LAST_WEEK_OF_MONTH" visible="`${dst &amp;&amp; (dstFormat eq CY_RTC_DST_RELATIVE)}`" editable="true" desc="Stores the Week of the Month when the DST functionality should be stopped. The possible values are First-Last." >
179      <Entry name="First"  value="CY_RTC_FIRST_WEEK_OF_MONTH"  visible="true" />
180      <Entry name="Second" value="CY_RTC_SECOND_WEEK_OF_MONTH" visible="true" />
181      <Entry name="Third"  value="CY_RTC_THIRD_WEEK_OF_MONTH"  visible="true" />
182      <Entry name="Fourth" value="CY_RTC_FOURTH_WEEK_OF_MONTH" visible="true" />
183      <Entry name="Fifth"  value="CY_RTC_FIFTH_WEEK_OF_MONTH"  visible="true" />
184      <Entry name="Last"   value="CY_RTC_LAST_WEEK_OF_MONTH"   visible="true" />
185    </ParamChoice>
186    <ParamChoice id="dstStopDayOfWeek" name="Day of the Week" group="DST Stop" default="CY_RTC_SUNDAY" visible="`${dst &amp;&amp; (dstFormat eq CY_RTC_DST_RELATIVE)}`" editable="true" desc="Stores the Day of the Week when the DST functionality should be stopped. The possible values are Sunday-Saturday." >
187      <Entry name="Sunday"    value="CY_RTC_SUNDAY"    visible="true" />
188      <Entry name="Monday"    value="CY_RTC_MONDAY"    visible="true" />
189      <Entry name="Tuesday"   value="CY_RTC_TUESDAY"   visible="true" />
190      <Entry name="Wednesday" value="CY_RTC_WEDNESDAY" visible="true" />
191      <Entry name="Thursday"  value="CY_RTC_THURSDAY"  visible="true" />
192      <Entry name="Friday"    value="CY_RTC_FRIDAY"    visible="true" />
193      <Entry name="Saturday"  value="CY_RTC_SATURDAY"  visible="true" />
194    </ParamChoice>
195    <ParamChoice id="dstStopHour" name="Hour" group="DST Stop" default="0" visible="`${dst}`" editable="true" desc="Stores the Hour when the DST functionality should be stopped. The possible values are 00:00-23:00." >
196      <Entry name="00:00" value="0" visible="true" />
197      <Entry name="01:00" value="1" visible="true" />
198      <Entry name="02:00" value="2" visible="true" />
199      <Entry name="03:00" value="3" visible="true" />
200      <Entry name="04:00" value="4" visible="true" />
201      <Entry name="05:00" value="5" visible="true" />
202      <Entry name="06:00" value="6" visible="true" />
203      <Entry name="07:00" value="7" visible="true" />
204      <Entry name="08:00" value="8" visible="true" />
205      <Entry name="09:00" value="9" visible="true" />
206      <Entry name="10:00" value="10" visible="true" />
207      <Entry name="11:00" value="11" visible="true" />
208      <Entry name="12:00" value="12" visible="true" />
209      <Entry name="13:00" value="13" visible="true" />
210      <Entry name="14:00" value="14" visible="true" />
211      <Entry name="15:00" value="15" visible="true" />
212      <Entry name="16:00" value="16" visible="true" />
213      <Entry name="17:00" value="17" visible="true" />
214      <Entry name="18:00" value="18" visible="true" />
215      <Entry name="19:00" value="19" visible="true" />
216      <Entry name="20:00" value="20" visible="true" />
217      <Entry name="21:00" value="21" visible="true" />
218      <Entry name="22:00" value="22" visible="true" />
219      <Entry name="23:00" value="23" visible="true" />
220    </ParamChoice>
221
222    <ParamBool id="inFlash" name="Store Config in Flash" group="Advanced" default="true" visible="true" editable="true" desc="Controls whether the configuration structure is stored in flash (const, true) or SRAM (not const, false)." />
223  </Parameters>
224  <DRCs>
225     <DRC type="ERROR" text="The Hour is not a valid for a selected hours format. Valid range for 12H format is [1-12]" condition="`${((hr &gt; 12) &amp;&amp; (hr == 0) &amp;&amp; (hrFormat eq CY_RTC_12_HOURS))}`" />
226    <DRC type="ERROR" text="The Day of The Month is not a valid for the selected month." condition="`${dayOfTheMonth == 29 &amp;&amp; month eq CY_RTC_FEBRUARY &amp;&amp; (year%4 != 0) || dayOfTheMonth > 29 &amp;&amp; month eq CY_RTC_FEBRUARY &amp;&amp; (year%4 == 0) || (dayOfTheMonth == 31 &amp;&amp; (month eq CY_RTC_APRIL || month eq CY_RTC_JUNE || month eq CY_RTC_SEPTEMBER || month eq CY_RTC_NOVEMBER))}`" />
227    <DRC type="ERROR" text="DST Start Day is not a valid day in the selected month." condition="`${(dstStartDay &gt; 29 &amp;&amp; dstStartMonth eq CY_RTC_FEBRUARY) || (dstStartDay == 31 &amp;&amp; (dstStartMonth eq CY_RTC_APRIL || dstStartMonth eq CY_RTC_JUNE || dstStartMonth eq CY_RTC_SEPTEMBER || dstStartMonth eq CY_RTC_NOVEMBER))}`" />
228    <DRC type="ERROR" text="DST Stop Day is not a valid day in the selected month." condition="`${(dstStopDay &gt; 29 &amp;&amp; dstStopMonth eq CY_RTC_FEBRUARY) || (dstStopDay == 31 &amp;&amp; (dstStopMonth eq CY_RTC_APRIL || dstStopMonth eq CY_RTC_JUNE || dstStopMonth eq CY_RTC_SEPTEMBER || dstStopMonth eq CY_RTC_NOVEMBER))}`" />
229  </DRCs>
230  <ConfigFirmware>
231    <ConfigInclude value="cy_rtc.h" include="true" />
232    <ConfigInclude value="cyhal_hwmgr.h" include="true" guard="defined (CY_USING_HAL)" />
233
234    <ConfigDefine name="`${INST_NAME . &quot;_10_MONTH_OFFSET&quot;}`"          value="`${format ==  0 ? &quot;(28U)&quot; : format == 1 ? &quot;(20U)&quot; : &quot;(12U)&quot;}`" public="true" include="true" />
235    <ConfigDefine name="`${INST_NAME . &quot;_MONTH_OFFSET&quot;}`"             value="`${format ==  0 ? &quot;(24U)&quot; : format == 1 ? &quot;(16U)&quot; : &quot;(8U)&quot;}`"  public="true" include="true" />
236    <ConfigDefine name="`${INST_NAME . &quot;_10_DAY_OFFSET&quot;}`"            value="`${format ==  0 ? &quot;(20U)&quot; : format == 1 ? &quot;(28U)&quot; : &quot;(4U)&quot;}`"  public="true" include="true" />
237    <ConfigDefine name="`${INST_NAME . &quot;_DAY_OFFSET&quot;}`"               value="`${format ==  0 ? &quot;(16U)&quot; : format == 1 ? &quot;(24U)&quot; : &quot;(0U)&quot;}`"  public="true" include="true" />
238    <ConfigDefine name="`${INST_NAME . &quot;_1000_YEAR_OFFSET&quot;}`"         value="`${format ==  0 ? &quot;(12U)&quot; : format == 1 ? &quot;(12U)&quot; : &quot;(28U)&quot;}`" public="true" include="true" />
239    <ConfigDefine name="`${INST_NAME . &quot;_100_YEAR_OFFSET&quot;}`"          value="`${format ==  0 ? &quot;(8U)&quot; : format == 1 ? &quot;(8U)&quot; : &quot;(24U)&quot;}`"   public="true" include="true" />
240    <ConfigDefine name="`${INST_NAME . &quot;_10_YEAR_OFFSET&quot;}`"           value="`${format ==  0 ? &quot;(4U)&quot; : format == 1 ? &quot;(4U)&quot; : &quot;(20U)&quot;}`"   public="true" include="true" />
241    <ConfigDefine name="`${INST_NAME . &quot;_YEAR_OFFSET&quot;}`"              value="`${format ==  0 ? &quot;(0U)&quot; : format == 1 ? &quot;(0U)&quot; : &quot;(16U)&quot;}`"   public="true" include="true" />
242
243    <ConfigStruct name="`${INST_NAME . &quot;_config&quot;}`" type="cy_stc_rtc_config_t" const="`${inFlash}`" public="true" include="true" >
244      <Member name="sec"       value="`${sec}`U" />
245      <Member name="min"       value="`${min}`U" />
246      <Member name="hour"      value="`${hr}`U" />
247      <Member name="amPm"      value="`${amPmPeriodOfDay}`" />
248      <Member name="hrFormat"  value="`${hrFormat}`" />
249      <Member name="dayOfWeek" value="CY_RTC_`${dayOfTheWeek}`" />
250      <Member name="date"      value="`${dayOfTheMonth}`U" />
251      <Member name="month"     value="`${month}`" />
252      <Member name="year"      value="`${year}`U" />
253    </ConfigStruct>
254
255    <ConfigStruct name="`${INST_NAME . &quot;_configDst&quot;}`" type="cy_stc_rtc_dst_t" const="`${inFlash}`" public="true" include="`${dst}`" >
256      <Member name="`${&quot;startDst.format&quot;}`"      value="`${dstFormat}`" />
257      <Member name="`${&quot;startDst.hour&quot;}`"        value="`${dstStartHour}`" />
258      <Member name="`${&quot;startDst.dayOfMonth&quot;}`"  value="`${dstStartDay}`"/>
259      <Member name="`${&quot;startDst.weekOfMonth&quot;}`" value="`${dstStartWeek}`" />
260      <Member name="`${&quot;startDst.dayOfWeek&quot;}`"   value="`${dstStartDayOfWeek}`" />
261      <Member name="`${&quot;startDst.month&quot;}`"       value="`${dstStartMonth}`" />
262      <Member name="`${&quot;stopDst.format&quot;}`"       value="`${dstFormat}`" />
263      <Member name="`${&quot;stopDst.hour&quot;}`"         value="`${dstStopHour}`" />
264      <Member name="`${&quot;stopDst.dayOfMonth&quot;}`"   value="`${dstStopDay}`"/>
265      <Member name="`${&quot;stopDst.weekOfMonth&quot;}`"  value="`${dstStopWeek}`" />
266      <Member name="`${&quot;stopDst.dayOfWeek&quot;}`"    value="`${dstStopDayOfWeek}`" />
267      <Member name="`${&quot;stopDst.month&quot;}`"        value="`${dstStopMonth}`" />
268    </ConfigStruct>
269
270    <ConfigStruct name="`${INST_NAME}`_obj" type="cyhal_resource_inst_t" const="true" public="true" include="true" guard="defined (CY_USING_HAL)">
271      <Member name="type" value="CYHAL_RSC_RTC" />
272      <Member name="block_num" value="0U" />
273      <Member name="channel_num" value="`${getInstNumber(&quot;rtc&quot;)}`U" />
274    </ConfigStruct>
275
276    <ConfigInstruction value="cyhal_hwmgr_reserve(&amp;`${INST_NAME}`_obj);" include="true" guard="defined (CY_USING_HAL)" />
277  </ConfigFirmware>
278</Personality>
279