blob: 01a409ee482675e139e7212d9bb375a05260927e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
|
/**
* \file
*
* \brief Component description for SLCD
*
* Copyright (c) 2018 Microchip Technology Inc.
*
* \asf_license_start
*
* \page License
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the Licence at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* \asf_license_stop
*
*/
#ifndef _SAML22_SLCD_COMPONENT_
#define _SAML22_SLCD_COMPONENT_
/* ========================================================================== */
/** SOFTWARE API DEFINITION FOR SLCD */
/* ========================================================================== */
/** \addtogroup SAML22_SLCD Segment Liquid Crystal Display Controller */
/*@{*/
#define SLCD_U2264
#define REV_SLCD 0x100
/* -------- SLCD_CTRLA : (SLCD Offset: 0x00) (R/W 32) Control A -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SWRST:1; /*!< bit: 0 Software Reset */
uint32_t ENABLE:1; /*!< bit: 1 Enable */
uint32_t DUTY:3; /*!< bit: 2.. 4 Duty Ratio */
uint32_t WMOD:1; /*!< bit: 5 Waveform Mode */
uint32_t RUNSTDBY:1; /*!< bit: 6 Run in Standby */
uint32_t :1; /*!< bit: 7 Reserved */
uint32_t PRESC:2; /*!< bit: 8.. 9 Clock Prescaler */
uint32_t :2; /*!< bit: 10..11 Reserved */
uint32_t CKDIV:3; /*!< bit: 12..14 Clock Divider */
uint32_t :1; /*!< bit: 15 Reserved */
uint32_t BIAS:2; /*!< bit: 16..17 Bias Setting */
uint32_t :1; /*!< bit: 18 Reserved */
uint32_t XVLCD:1; /*!< bit: 19 External VLCD */
uint32_t PRF:2; /*!< bit: 20..21 Power Refresh Frequency */
uint32_t DMFCS:2; /*!< bit: 22..23 Display Memory Update Frame Counter Selection */
uint32_t RRF:3; /*!< bit: 24..26 Reference Refresh Frequency */
uint32_t :5; /*!< bit: 27..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_CTRLA_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CTRLA_OFFSET 0x00 /**< \brief (SLCD_CTRLA offset) Control A */
#define SLCD_CTRLA_RESETVALUE _U_(0x03D80000) /**< \brief (SLCD_CTRLA reset_value) Control A */
#define SLCD_CTRLA_SWRST_Pos 0 /**< \brief (SLCD_CTRLA) Software Reset */
#define SLCD_CTRLA_SWRST (_U_(0x1) << SLCD_CTRLA_SWRST_Pos)
#define SLCD_CTRLA_ENABLE_Pos 1 /**< \brief (SLCD_CTRLA) Enable */
#define SLCD_CTRLA_ENABLE (_U_(0x1) << SLCD_CTRLA_ENABLE_Pos)
#define SLCD_CTRLA_DUTY_Pos 2 /**< \brief (SLCD_CTRLA) Duty Ratio */
#define SLCD_CTRLA_DUTY_Msk (_U_(0x7) << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_DUTY(value) (SLCD_CTRLA_DUTY_Msk & ((value) << SLCD_CTRLA_DUTY_Pos))
#define SLCD_CTRLA_DUTY_STATIC_Val _U_(0x0) /**< \brief (SLCD_CTRLA) Static duty */
#define SLCD_CTRLA_DUTY_HALF_Val _U_(0x1) /**< \brief (SLCD_CTRLA) 1/2 duty */
#define SLCD_CTRLA_DUTY_THIRD_Val _U_(0x2) /**< \brief (SLCD_CTRLA) 1/3 duty */
#define SLCD_CTRLA_DUTY_FOURTH_Val _U_(0x3) /**< \brief (SLCD_CTRLA) 1/4 duty */
#define SLCD_CTRLA_DUTY_SIXTH_Val _U_(0x4) /**< \brief (SLCD_CTRLA) 1/6 duty */
#define SLCD_CTRLA_DUTY_EIGHT_Val _U_(0x5) /**< \brief (SLCD_CTRLA) 1/8 duty */
#define SLCD_CTRLA_DUTY_STATIC (SLCD_CTRLA_DUTY_STATIC_Val << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_DUTY_HALF (SLCD_CTRLA_DUTY_HALF_Val << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_DUTY_THIRD (SLCD_CTRLA_DUTY_THIRD_Val << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_DUTY_FOURTH (SLCD_CTRLA_DUTY_FOURTH_Val << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_DUTY_SIXTH (SLCD_CTRLA_DUTY_SIXTH_Val << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_DUTY_EIGHT (SLCD_CTRLA_DUTY_EIGHT_Val << SLCD_CTRLA_DUTY_Pos)
#define SLCD_CTRLA_WMOD_Pos 5 /**< \brief (SLCD_CTRLA) Waveform Mode */
#define SLCD_CTRLA_WMOD (_U_(0x1) << SLCD_CTRLA_WMOD_Pos)
#define SLCD_CTRLA_WMOD_LP_Val _U_(0x0) /**< \brief (SLCD_CTRLA) Low Power Waveform Mode */
#define SLCD_CTRLA_WMOD_STD_Val _U_(0x1) /**< \brief (SLCD_CTRLA) Standard Waveform Mode */
#define SLCD_CTRLA_WMOD_LP (SLCD_CTRLA_WMOD_LP_Val << SLCD_CTRLA_WMOD_Pos)
#define SLCD_CTRLA_WMOD_STD (SLCD_CTRLA_WMOD_STD_Val << SLCD_CTRLA_WMOD_Pos)
#define SLCD_CTRLA_RUNSTDBY_Pos 6 /**< \brief (SLCD_CTRLA) Run in Standby */
#define SLCD_CTRLA_RUNSTDBY (_U_(0x1) << SLCD_CTRLA_RUNSTDBY_Pos)
#define SLCD_CTRLA_PRESC_Pos 8 /**< \brief (SLCD_CTRLA) Clock Prescaler */
#define SLCD_CTRLA_PRESC_Msk (_U_(0x3) << SLCD_CTRLA_PRESC_Pos)
#define SLCD_CTRLA_PRESC(value) (SLCD_CTRLA_PRESC_Msk & ((value) << SLCD_CTRLA_PRESC_Pos))
#define SLCD_CTRLA_PRESC_PRESC16_Val _U_(0x0) /**< \brief (SLCD_CTRLA) 16 */
#define SLCD_CTRLA_PRESC_PRESC32_Val _U_(0x1) /**< \brief (SLCD_CTRLA) 32 */
#define SLCD_CTRLA_PRESC_PRESC64_Val _U_(0x2) /**< \brief (SLCD_CTRLA) 64 */
#define SLCD_CTRLA_PRESC_PRESC128_Val _U_(0x3) /**< \brief (SLCD_CTRLA) 128 */
#define SLCD_CTRLA_PRESC_PRESC16 (SLCD_CTRLA_PRESC_PRESC16_Val << SLCD_CTRLA_PRESC_Pos)
#define SLCD_CTRLA_PRESC_PRESC32 (SLCD_CTRLA_PRESC_PRESC32_Val << SLCD_CTRLA_PRESC_Pos)
#define SLCD_CTRLA_PRESC_PRESC64 (SLCD_CTRLA_PRESC_PRESC64_Val << SLCD_CTRLA_PRESC_Pos)
#define SLCD_CTRLA_PRESC_PRESC128 (SLCD_CTRLA_PRESC_PRESC128_Val << SLCD_CTRLA_PRESC_Pos)
#define SLCD_CTRLA_CKDIV_Pos 12 /**< \brief (SLCD_CTRLA) Clock Divider */
#define SLCD_CTRLA_CKDIV_Msk (_U_(0x7) << SLCD_CTRLA_CKDIV_Pos)
#define SLCD_CTRLA_CKDIV(value) (SLCD_CTRLA_CKDIV_Msk & ((value) << SLCD_CTRLA_CKDIV_Pos))
#define SLCD_CTRLA_BIAS_Pos 16 /**< \brief (SLCD_CTRLA) Bias Setting */
#define SLCD_CTRLA_BIAS_Msk (_U_(0x3) << SLCD_CTRLA_BIAS_Pos)
#define SLCD_CTRLA_BIAS(value) (SLCD_CTRLA_BIAS_Msk & ((value) << SLCD_CTRLA_BIAS_Pos))
#define SLCD_CTRLA_BIAS_STATIC_Val _U_(0x0) /**< \brief (SLCD_CTRLA) Static */
#define SLCD_CTRLA_BIAS_HALF_Val _U_(0x1) /**< \brief (SLCD_CTRLA) 1/2 bias */
#define SLCD_CTRLA_BIAS_THIRD_Val _U_(0x2) /**< \brief (SLCD_CTRLA) 1/3 bias */
#define SLCD_CTRLA_BIAS_FOURTH_Val _U_(0x3) /**< \brief (SLCD_CTRLA) 1/4 bias */
#define SLCD_CTRLA_BIAS_STATIC (SLCD_CTRLA_BIAS_STATIC_Val << SLCD_CTRLA_BIAS_Pos)
#define SLCD_CTRLA_BIAS_HALF (SLCD_CTRLA_BIAS_HALF_Val << SLCD_CTRLA_BIAS_Pos)
#define SLCD_CTRLA_BIAS_THIRD (SLCD_CTRLA_BIAS_THIRD_Val << SLCD_CTRLA_BIAS_Pos)
#define SLCD_CTRLA_BIAS_FOURTH (SLCD_CTRLA_BIAS_FOURTH_Val << SLCD_CTRLA_BIAS_Pos)
#define SLCD_CTRLA_XVLCD_Pos 19 /**< \brief (SLCD_CTRLA) External VLCD */
#define SLCD_CTRLA_XVLCD (_U_(0x1) << SLCD_CTRLA_XVLCD_Pos)
#define SLCD_CTRLA_PRF_Pos 20 /**< \brief (SLCD_CTRLA) Power Refresh Frequency */
#define SLCD_CTRLA_PRF_Msk (_U_(0x3) << SLCD_CTRLA_PRF_Pos)
#define SLCD_CTRLA_PRF(value) (SLCD_CTRLA_PRF_Msk & ((value) << SLCD_CTRLA_PRF_Pos))
#define SLCD_CTRLA_PRF_PR2000_Val _U_(0x0) /**< \brief (SLCD_CTRLA) 2kHz */
#define SLCD_CTRLA_PRF_PR1000_Val _U_(0x1) /**< \brief (SLCD_CTRLA) 1kHz */
#define SLCD_CTRLA_PRF_PR500_Val _U_(0x2) /**< \brief (SLCD_CTRLA) 500Hz */
#define SLCD_CTRLA_PRF_PR250_Val _U_(0x3) /**< \brief (SLCD_CTRLA) 250Hz */
#define SLCD_CTRLA_PRF_PR2000 (SLCD_CTRLA_PRF_PR2000_Val << SLCD_CTRLA_PRF_Pos)
#define SLCD_CTRLA_PRF_PR1000 (SLCD_CTRLA_PRF_PR1000_Val << SLCD_CTRLA_PRF_Pos)
#define SLCD_CTRLA_PRF_PR500 (SLCD_CTRLA_PRF_PR500_Val << SLCD_CTRLA_PRF_Pos)
#define SLCD_CTRLA_PRF_PR250 (SLCD_CTRLA_PRF_PR250_Val << SLCD_CTRLA_PRF_Pos)
#define SLCD_CTRLA_DMFCS_Pos 22 /**< \brief (SLCD_CTRLA) Display Memory Update Frame Counter Selection */
#define SLCD_CTRLA_DMFCS_Msk (_U_(0x3) << SLCD_CTRLA_DMFCS_Pos)
#define SLCD_CTRLA_DMFCS(value) (SLCD_CTRLA_DMFCS_Msk & ((value) << SLCD_CTRLA_DMFCS_Pos))
#define SLCD_CTRLA_DMFCS_FC0_Val _U_(0x0) /**< \brief (SLCD_CTRLA) Frame Counter 0 */
#define SLCD_CTRLA_DMFCS_FC1_Val _U_(0x1) /**< \brief (SLCD_CTRLA) Frame Counter 1 */
#define SLCD_CTRLA_DMFCS_FC2_Val _U_(0x2) /**< \brief (SLCD_CTRLA) Frame Counter 2 */
#define SLCD_CTRLA_DMFCS_NFC_Val _U_(0x3) /**< \brief (SLCD_CTRLA) Frame Counter event to DMU is forced to 0 */
#define SLCD_CTRLA_DMFCS_FC0 (SLCD_CTRLA_DMFCS_FC0_Val << SLCD_CTRLA_DMFCS_Pos)
#define SLCD_CTRLA_DMFCS_FC1 (SLCD_CTRLA_DMFCS_FC1_Val << SLCD_CTRLA_DMFCS_Pos)
#define SLCD_CTRLA_DMFCS_FC2 (SLCD_CTRLA_DMFCS_FC2_Val << SLCD_CTRLA_DMFCS_Pos)
#define SLCD_CTRLA_DMFCS_NFC (SLCD_CTRLA_DMFCS_NFC_Val << SLCD_CTRLA_DMFCS_Pos)
#define SLCD_CTRLA_RRF_Pos 24 /**< \brief (SLCD_CTRLA) Reference Refresh Frequency */
#define SLCD_CTRLA_RRF_Msk (_U_(0x7) << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_RRF(value) (SLCD_CTRLA_RRF_Msk & ((value) << SLCD_CTRLA_RRF_Pos))
#define SLCD_CTRLA_RRF_RR2000_Val _U_(0x0) /**< \brief (SLCD_CTRLA) 2kHz */
#define SLCD_CTRLA_RRF_RR1000_Val _U_(0x1) /**< \brief (SLCD_CTRLA) 1kHz */
#define SLCD_CTRLA_RRF_RR500_Val _U_(0x2) /**< \brief (SLCD_CTRLA) 500Hz */
#define SLCD_CTRLA_RRF_RR250_Val _U_(0x3) /**< \brief (SLCD_CTRLA) 250Hz */
#define SLCD_CTRLA_RRF_RR125_Val _U_(0x4) /**< \brief (SLCD_CTRLA) 125Hz */
#define SLCD_CTRLA_RRF_RR62_Val _U_(0x5) /**< \brief (SLCD_CTRLA) 62.5Hz */
#define SLCD_CTRLA_RRF_RR2000 (SLCD_CTRLA_RRF_RR2000_Val << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_RRF_RR1000 (SLCD_CTRLA_RRF_RR1000_Val << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_RRF_RR500 (SLCD_CTRLA_RRF_RR500_Val << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_RRF_RR250 (SLCD_CTRLA_RRF_RR250_Val << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_RRF_RR125 (SLCD_CTRLA_RRF_RR125_Val << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_RRF_RR62 (SLCD_CTRLA_RRF_RR62_Val << SLCD_CTRLA_RRF_Pos)
#define SLCD_CTRLA_MASK _U_(0x07FB737F) /**< \brief (SLCD_CTRLA) MASK Register */
/* -------- SLCD_CTRLB : (SLCD Offset: 0x04) (R/W 16) Control B -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint16_t BBD:4; /*!< bit: 0.. 3 Bias Buffer Enable Duration */
uint16_t :3; /*!< bit: 4.. 6 Reserved */
uint16_t BBEN:1; /*!< bit: 7 Bias Buffer Enable */
uint16_t LRD:4; /*!< bit: 8..11 Low Resistance Enable Duration */
uint16_t :3; /*!< bit: 12..14 Reserved */
uint16_t LREN:1; /*!< bit: 15 Low Resistance Enable */
} bit; /*!< Structure used for bit access */
uint16_t reg; /*!< Type used for register access */
} SLCD_CTRLB_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CTRLB_OFFSET 0x04 /**< \brief (SLCD_CTRLB offset) Control B */
#define SLCD_CTRLB_RESETVALUE _U_(0x0000) /**< \brief (SLCD_CTRLB reset_value) Control B */
#define SLCD_CTRLB_BBD_Pos 0 /**< \brief (SLCD_CTRLB) Bias Buffer Enable Duration */
#define SLCD_CTRLB_BBD_Msk (_U_(0xF) << SLCD_CTRLB_BBD_Pos)
#define SLCD_CTRLB_BBD(value) (SLCD_CTRLB_BBD_Msk & ((value) << SLCD_CTRLB_BBD_Pos))
#define SLCD_CTRLB_BBEN_Pos 7 /**< \brief (SLCD_CTRLB) Bias Buffer Enable */
#define SLCD_CTRLB_BBEN (_U_(0x1) << SLCD_CTRLB_BBEN_Pos)
#define SLCD_CTRLB_LRD_Pos 8 /**< \brief (SLCD_CTRLB) Low Resistance Enable Duration */
#define SLCD_CTRLB_LRD_Msk (_U_(0xF) << SLCD_CTRLB_LRD_Pos)
#define SLCD_CTRLB_LRD(value) (SLCD_CTRLB_LRD_Msk & ((value) << SLCD_CTRLB_LRD_Pos))
#define SLCD_CTRLB_LREN_Pos 15 /**< \brief (SLCD_CTRLB) Low Resistance Enable */
#define SLCD_CTRLB_LREN (_U_(0x1) << SLCD_CTRLB_LREN_Pos)
#define SLCD_CTRLB_MASK _U_(0x8F8F) /**< \brief (SLCD_CTRLB) MASK Register */
/* -------- SLCD_CTRLC : (SLCD Offset: 0x06) (R/W 16) Control C -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint16_t CLEAR:1; /*!< bit: 0 Clear Display Memory */
uint16_t LOCK:1; /*!< bit: 1 Lock Shadow Memory */
uint16_t ABMEN:1; /*!< bit: 2 Automated Bit Mapping Enable */
uint16_t ACMEN:1; /*!< bit: 3 Automated Character Mapping Enable */
uint16_t CTST:4; /*!< bit: 4.. 7 Contrast Adjustment */
uint16_t LPPM:2; /*!< bit: 8.. 9 LCD Power Macro Power mode */
uint16_t :6; /*!< bit: 10..15 Reserved */
} bit; /*!< Structure used for bit access */
uint16_t reg; /*!< Type used for register access */
} SLCD_CTRLC_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CTRLC_OFFSET 0x06 /**< \brief (SLCD_CTRLC offset) Control C */
#define SLCD_CTRLC_RESETVALUE _U_(0x0000) /**< \brief (SLCD_CTRLC reset_value) Control C */
#define SLCD_CTRLC_CLEAR_Pos 0 /**< \brief (SLCD_CTRLC) Clear Display Memory */
#define SLCD_CTRLC_CLEAR (_U_(0x1) << SLCD_CTRLC_CLEAR_Pos)
#define SLCD_CTRLC_LOCK_Pos 1 /**< \brief (SLCD_CTRLC) Lock Shadow Memory */
#define SLCD_CTRLC_LOCK (_U_(0x1) << SLCD_CTRLC_LOCK_Pos)
#define SLCD_CTRLC_ABMEN_Pos 2 /**< \brief (SLCD_CTRLC) Automated Bit Mapping Enable */
#define SLCD_CTRLC_ABMEN (_U_(0x1) << SLCD_CTRLC_ABMEN_Pos)
#define SLCD_CTRLC_ACMEN_Pos 3 /**< \brief (SLCD_CTRLC) Automated Character Mapping Enable */
#define SLCD_CTRLC_ACMEN (_U_(0x1) << SLCD_CTRLC_ACMEN_Pos)
#define SLCD_CTRLC_CTST_Pos 4 /**< \brief (SLCD_CTRLC) Contrast Adjustment */
#define SLCD_CTRLC_CTST_Msk (_U_(0xF) << SLCD_CTRLC_CTST_Pos)
#define SLCD_CTRLC_CTST(value) (SLCD_CTRLC_CTST_Msk & ((value) << SLCD_CTRLC_CTST_Pos))
#define SLCD_CTRLC_LPPM_Pos 8 /**< \brief (SLCD_CTRLC) LCD Power Macro Power mode */
#define SLCD_CTRLC_LPPM_Msk (_U_(0x3) << SLCD_CTRLC_LPPM_Pos)
#define SLCD_CTRLC_LPPM(value) (SLCD_CTRLC_LPPM_Msk & ((value) << SLCD_CTRLC_LPPM_Pos))
#define SLCD_CTRLC_LPPM_AUTO_Val _U_(0x0) /**< \brief (SLCD_CTRLC) LCD power automatically select regualation mode or pump mode */
#define SLCD_CTRLC_LPPM_STEPUP_Val _U_(0x1) /**< \brief (SLCD_CTRLC) LCD power use step-up pump loop only */
#define SLCD_CTRLC_LPPM_STEPDOWN_Val _U_(0x2) /**< \brief (SLCD_CTRLC) LCD power use step-down drop-out regulation loop only */
#define SLCD_CTRLC_LPPM_AUTO (SLCD_CTRLC_LPPM_AUTO_Val << SLCD_CTRLC_LPPM_Pos)
#define SLCD_CTRLC_LPPM_STEPUP (SLCD_CTRLC_LPPM_STEPUP_Val << SLCD_CTRLC_LPPM_Pos)
#define SLCD_CTRLC_LPPM_STEPDOWN (SLCD_CTRLC_LPPM_STEPDOWN_Val << SLCD_CTRLC_LPPM_Pos)
#define SLCD_CTRLC_MASK _U_(0x03FF) /**< \brief (SLCD_CTRLC) MASK Register */
/* -------- SLCD_CTRLD : (SLCD Offset: 0x08) (R/W 8) Control D -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t BLANK:1; /*!< bit: 0 Blank LCD */
uint8_t BLINK:1; /*!< bit: 1 Blinking Enable */
uint8_t CSREN:1; /*!< bit: 2 Circular Shift Register Enable */
uint8_t :1; /*!< bit: 3 Reserved */
uint8_t FC0EN:1; /*!< bit: 4 Frame Counter 0 Enable */
uint8_t FC1EN:1; /*!< bit: 5 Frame Counter 1 Enable */
uint8_t FC2EN:1; /*!< bit: 6 Frame Counter 2 Enable */
uint8_t DISPEN:1; /*!< bit: 7 Display enable */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_CTRLD_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CTRLD_OFFSET 0x08 /**< \brief (SLCD_CTRLD offset) Control D */
#define SLCD_CTRLD_RESETVALUE _U_(0x80) /**< \brief (SLCD_CTRLD reset_value) Control D */
#define SLCD_CTRLD_BLANK_Pos 0 /**< \brief (SLCD_CTRLD) Blank LCD */
#define SLCD_CTRLD_BLANK (_U_(0x1) << SLCD_CTRLD_BLANK_Pos)
#define SLCD_CTRLD_BLINK_Pos 1 /**< \brief (SLCD_CTRLD) Blinking Enable */
#define SLCD_CTRLD_BLINK (_U_(0x1) << SLCD_CTRLD_BLINK_Pos)
#define SLCD_CTRLD_CSREN_Pos 2 /**< \brief (SLCD_CTRLD) Circular Shift Register Enable */
#define SLCD_CTRLD_CSREN (_U_(0x1) << SLCD_CTRLD_CSREN_Pos)
#define SLCD_CTRLD_FC0EN_Pos 4 /**< \brief (SLCD_CTRLD) Frame Counter 0 Enable */
#define SLCD_CTRLD_FC0EN (_U_(0x1) << SLCD_CTRLD_FC0EN_Pos)
#define SLCD_CTRLD_FC1EN_Pos 5 /**< \brief (SLCD_CTRLD) Frame Counter 1 Enable */
#define SLCD_CTRLD_FC1EN (_U_(0x1) << SLCD_CTRLD_FC1EN_Pos)
#define SLCD_CTRLD_FC2EN_Pos 6 /**< \brief (SLCD_CTRLD) Frame Counter 2 Enable */
#define SLCD_CTRLD_FC2EN (_U_(0x1) << SLCD_CTRLD_FC2EN_Pos)
#define SLCD_CTRLD_DISPEN_Pos 7 /**< \brief (SLCD_CTRLD) Display enable */
#define SLCD_CTRLD_DISPEN (_U_(0x1) << SLCD_CTRLD_DISPEN_Pos)
#define SLCD_CTRLD_MASK _U_(0xF7) /**< \brief (SLCD_CTRLD) MASK Register */
/* -------- SLCD_EVCTRL : (SLCD Offset: 0x0C) (R/W 8) Event Control -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t FC0OEO:1; /*!< bit: 0 Frame Counter 0 Overflow Event Output Enable */
uint8_t FC1OEO:1; /*!< bit: 1 Frame Counter 1 Overflow Event Output Enable */
uint8_t FC2OEO:1; /*!< bit: 2 Frame Counter 2 Overflow Event Output Enable */
uint8_t :5; /*!< bit: 3.. 7 Reserved */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_EVCTRL_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_EVCTRL_OFFSET 0x0C /**< \brief (SLCD_EVCTRL offset) Event Control */
#define SLCD_EVCTRL_RESETVALUE _U_(0x00) /**< \brief (SLCD_EVCTRL reset_value) Event Control */
#define SLCD_EVCTRL_FC0OEO_Pos 0 /**< \brief (SLCD_EVCTRL) Frame Counter 0 Overflow Event Output Enable */
#define SLCD_EVCTRL_FC0OEO (_U_(0x1) << SLCD_EVCTRL_FC0OEO_Pos)
#define SLCD_EVCTRL_FC1OEO_Pos 1 /**< \brief (SLCD_EVCTRL) Frame Counter 1 Overflow Event Output Enable */
#define SLCD_EVCTRL_FC1OEO (_U_(0x1) << SLCD_EVCTRL_FC1OEO_Pos)
#define SLCD_EVCTRL_FC2OEO_Pos 2 /**< \brief (SLCD_EVCTRL) Frame Counter 2 Overflow Event Output Enable */
#define SLCD_EVCTRL_FC2OEO (_U_(0x1) << SLCD_EVCTRL_FC2OEO_Pos)
#define SLCD_EVCTRL_MASK _U_(0x07) /**< \brief (SLCD_EVCTRL) MASK Register */
/* -------- SLCD_INTENCLR : (SLCD Offset: 0x0D) (R/W 8) Interrupt Enable Clear -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t FC0O:1; /*!< bit: 0 Frame Counter 0 Overflow Interrupt Disable */
uint8_t FC1O:1; /*!< bit: 1 Frame Counter 1 Overflow Interrupt Disable */
uint8_t FC2O:1; /*!< bit: 2 Frame Counter 2 Overflow Interrupt Disable */
uint8_t VLCDRT:1; /*!< bit: 3 VLCD Ready Toggle Interrupt Disable */
uint8_t VLCDST:1; /*!< bit: 4 VLCD Status Toggle Interrupt Disable */
uint8_t PRST:1; /*!< bit: 5 Pump Run Status Toggle Interrupt Disable */
uint8_t :2; /*!< bit: 6.. 7 Reserved */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_INTENCLR_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_INTENCLR_OFFSET 0x0D /**< \brief (SLCD_INTENCLR offset) Interrupt Enable Clear */
#define SLCD_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (SLCD_INTENCLR reset_value) Interrupt Enable Clear */
#define SLCD_INTENCLR_FC0O_Pos 0 /**< \brief (SLCD_INTENCLR) Frame Counter 0 Overflow Interrupt Disable */
#define SLCD_INTENCLR_FC0O (_U_(0x1) << SLCD_INTENCLR_FC0O_Pos)
#define SLCD_INTENCLR_FC1O_Pos 1 /**< \brief (SLCD_INTENCLR) Frame Counter 1 Overflow Interrupt Disable */
#define SLCD_INTENCLR_FC1O (_U_(0x1) << SLCD_INTENCLR_FC1O_Pos)
#define SLCD_INTENCLR_FC2O_Pos 2 /**< \brief (SLCD_INTENCLR) Frame Counter 2 Overflow Interrupt Disable */
#define SLCD_INTENCLR_FC2O (_U_(0x1) << SLCD_INTENCLR_FC2O_Pos)
#define SLCD_INTENCLR_VLCDRT_Pos 3 /**< \brief (SLCD_INTENCLR) VLCD Ready Toggle Interrupt Disable */
#define SLCD_INTENCLR_VLCDRT (_U_(0x1) << SLCD_INTENCLR_VLCDRT_Pos)
#define SLCD_INTENCLR_VLCDST_Pos 4 /**< \brief (SLCD_INTENCLR) VLCD Status Toggle Interrupt Disable */
#define SLCD_INTENCLR_VLCDST (_U_(0x1) << SLCD_INTENCLR_VLCDST_Pos)
#define SLCD_INTENCLR_PRST_Pos 5 /**< \brief (SLCD_INTENCLR) Pump Run Status Toggle Interrupt Disable */
#define SLCD_INTENCLR_PRST (_U_(0x1) << SLCD_INTENCLR_PRST_Pos)
#define SLCD_INTENCLR_MASK _U_(0x3F) /**< \brief (SLCD_INTENCLR) MASK Register */
/* -------- SLCD_INTENSET : (SLCD Offset: 0x0E) (R/W 8) Interrupt Enable Set -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t FC0O:1; /*!< bit: 0 Frame Counter 0 Overflow Interrupt Enable */
uint8_t FC1O:1; /*!< bit: 1 Frame Counter 1 Overflow Interrupt Enable */
uint8_t FC2O:1; /*!< bit: 2 Frame Counter 2 Overflow Interrupt Enable */
uint8_t VLCDRT:1; /*!< bit: 3 VLCD Ready Toggle Interrupt Enable */
uint8_t VLCDST:1; /*!< bit: 4 VLCD Status Toggle Interrupt Enable */
uint8_t PRST:1; /*!< bit: 5 Pump Run Status Toggle Interrupt Enable */
uint8_t :2; /*!< bit: 6.. 7 Reserved */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_INTENSET_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_INTENSET_OFFSET 0x0E /**< \brief (SLCD_INTENSET offset) Interrupt Enable Set */
#define SLCD_INTENSET_RESETVALUE _U_(0x00) /**< \brief (SLCD_INTENSET reset_value) Interrupt Enable Set */
#define SLCD_INTENSET_FC0O_Pos 0 /**< \brief (SLCD_INTENSET) Frame Counter 0 Overflow Interrupt Enable */
#define SLCD_INTENSET_FC0O (_U_(0x1) << SLCD_INTENSET_FC0O_Pos)
#define SLCD_INTENSET_FC1O_Pos 1 /**< \brief (SLCD_INTENSET) Frame Counter 1 Overflow Interrupt Enable */
#define SLCD_INTENSET_FC1O (_U_(0x1) << SLCD_INTENSET_FC1O_Pos)
#define SLCD_INTENSET_FC2O_Pos 2 /**< \brief (SLCD_INTENSET) Frame Counter 2 Overflow Interrupt Enable */
#define SLCD_INTENSET_FC2O (_U_(0x1) << SLCD_INTENSET_FC2O_Pos)
#define SLCD_INTENSET_VLCDRT_Pos 3 /**< \brief (SLCD_INTENSET) VLCD Ready Toggle Interrupt Enable */
#define SLCD_INTENSET_VLCDRT (_U_(0x1) << SLCD_INTENSET_VLCDRT_Pos)
#define SLCD_INTENSET_VLCDST_Pos 4 /**< \brief (SLCD_INTENSET) VLCD Status Toggle Interrupt Enable */
#define SLCD_INTENSET_VLCDST (_U_(0x1) << SLCD_INTENSET_VLCDST_Pos)
#define SLCD_INTENSET_PRST_Pos 5 /**< \brief (SLCD_INTENSET) Pump Run Status Toggle Interrupt Enable */
#define SLCD_INTENSET_PRST (_U_(0x1) << SLCD_INTENSET_PRST_Pos)
#define SLCD_INTENSET_MASK _U_(0x3F) /**< \brief (SLCD_INTENSET) MASK Register */
/* -------- SLCD_INTFLAG : (SLCD Offset: 0x0F) (R/W 8) Interrupt Flag Status and Clear -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union { // __I to avoid read-modify-write on write-to-clear register
struct {
__I uint8_t FC0O:1; /*!< bit: 0 Frame Counter 0 Overflow */
__I uint8_t FC1O:1; /*!< bit: 1 Frame Counter 1 Overflow */
__I uint8_t FC2O:1; /*!< bit: 2 Frame Counter 2 Overflow */
__I uint8_t VLCDRT:1; /*!< bit: 3 VLCD Ready Toggle */
__I uint8_t VLCDST:1; /*!< bit: 4 VLCD Status Toggle */
__I uint8_t PRST:1; /*!< bit: 5 Pump Run Status Toggle */
__I uint8_t :2; /*!< bit: 6.. 7 Reserved */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_INTFLAG_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_INTFLAG_OFFSET 0x0F /**< \brief (SLCD_INTFLAG offset) Interrupt Flag Status and Clear */
#define SLCD_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (SLCD_INTFLAG reset_value) Interrupt Flag Status and Clear */
#define SLCD_INTFLAG_FC0O_Pos 0 /**< \brief (SLCD_INTFLAG) Frame Counter 0 Overflow */
#define SLCD_INTFLAG_FC0O (_U_(0x1) << SLCD_INTFLAG_FC0O_Pos)
#define SLCD_INTFLAG_FC1O_Pos 1 /**< \brief (SLCD_INTFLAG) Frame Counter 1 Overflow */
#define SLCD_INTFLAG_FC1O (_U_(0x1) << SLCD_INTFLAG_FC1O_Pos)
#define SLCD_INTFLAG_FC2O_Pos 2 /**< \brief (SLCD_INTFLAG) Frame Counter 2 Overflow */
#define SLCD_INTFLAG_FC2O (_U_(0x1) << SLCD_INTFLAG_FC2O_Pos)
#define SLCD_INTFLAG_VLCDRT_Pos 3 /**< \brief (SLCD_INTFLAG) VLCD Ready Toggle */
#define SLCD_INTFLAG_VLCDRT (_U_(0x1) << SLCD_INTFLAG_VLCDRT_Pos)
#define SLCD_INTFLAG_VLCDST_Pos 4 /**< \brief (SLCD_INTFLAG) VLCD Status Toggle */
#define SLCD_INTFLAG_VLCDST (_U_(0x1) << SLCD_INTFLAG_VLCDST_Pos)
#define SLCD_INTFLAG_PRST_Pos 5 /**< \brief (SLCD_INTFLAG) Pump Run Status Toggle */
#define SLCD_INTFLAG_PRST (_U_(0x1) << SLCD_INTFLAG_PRST_Pos)
#define SLCD_INTFLAG_MASK _U_(0x3F) /**< \brief (SLCD_INTFLAG) MASK Register */
/* -------- SLCD_STATUS : (SLCD Offset: 0x10) (R/ 8) Status -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t VLCDR:1; /*!< bit: 0 VLCD Ready */
uint8_t PRUN:1; /*!< bit: 1 LCD Charge Pump is Running */
uint8_t VLCDS:1; /*!< bit: 2 VLCD Status */
uint8_t CMWRBUSY:1; /*!< bit: 3 Character mapping write busy */
uint8_t ACMBUSY:1; /*!< bit: 4 ACM state machine busy */
uint8_t ABMBUSY:1; /*!< bit: 5 ABM state machine busy */
uint8_t :2; /*!< bit: 6.. 7 Reserved */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_STATUS_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_STATUS_OFFSET 0x10 /**< \brief (SLCD_STATUS offset) Status */
#define SLCD_STATUS_RESETVALUE _U_(0x00) /**< \brief (SLCD_STATUS reset_value) Status */
#define SLCD_STATUS_VLCDR_Pos 0 /**< \brief (SLCD_STATUS) VLCD Ready */
#define SLCD_STATUS_VLCDR (_U_(0x1) << SLCD_STATUS_VLCDR_Pos)
#define SLCD_STATUS_PRUN_Pos 1 /**< \brief (SLCD_STATUS) LCD Charge Pump is Running */
#define SLCD_STATUS_PRUN (_U_(0x1) << SLCD_STATUS_PRUN_Pos)
#define SLCD_STATUS_VLCDS_Pos 2 /**< \brief (SLCD_STATUS) VLCD Status */
#define SLCD_STATUS_VLCDS (_U_(0x1) << SLCD_STATUS_VLCDS_Pos)
#define SLCD_STATUS_CMWRBUSY_Pos 3 /**< \brief (SLCD_STATUS) Character mapping write busy */
#define SLCD_STATUS_CMWRBUSY (_U_(0x1) << SLCD_STATUS_CMWRBUSY_Pos)
#define SLCD_STATUS_ACMBUSY_Pos 4 /**< \brief (SLCD_STATUS) ACM state machine busy */
#define SLCD_STATUS_ACMBUSY (_U_(0x1) << SLCD_STATUS_ACMBUSY_Pos)
#define SLCD_STATUS_ABMBUSY_Pos 5 /**< \brief (SLCD_STATUS) ABM state machine busy */
#define SLCD_STATUS_ABMBUSY (_U_(0x1) << SLCD_STATUS_ABMBUSY_Pos)
#define SLCD_STATUS_MASK _U_(0x3F) /**< \brief (SLCD_STATUS) MASK Register */
/* -------- SLCD_SYNCBUSY : (SLCD Offset: 0x14) (R/ 32) Synchronization Busy -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SWRST:1; /*!< bit: 0 Software Reset */
uint32_t ENABLE:1; /*!< bit: 1 Enable */
uint32_t CTRLD:1; /*!< bit: 2 Control D */
uint32_t :29; /*!< bit: 3..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SYNCBUSY_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SYNCBUSY_OFFSET 0x14 /**< \brief (SLCD_SYNCBUSY offset) Synchronization Busy */
#define SLCD_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SYNCBUSY reset_value) Synchronization Busy */
#define SLCD_SYNCBUSY_SWRST_Pos 0 /**< \brief (SLCD_SYNCBUSY) Software Reset */
#define SLCD_SYNCBUSY_SWRST (_U_(0x1) << SLCD_SYNCBUSY_SWRST_Pos)
#define SLCD_SYNCBUSY_ENABLE_Pos 1 /**< \brief (SLCD_SYNCBUSY) Enable */
#define SLCD_SYNCBUSY_ENABLE (_U_(0x1) << SLCD_SYNCBUSY_ENABLE_Pos)
#define SLCD_SYNCBUSY_CTRLD_Pos 2 /**< \brief (SLCD_SYNCBUSY) Control D */
#define SLCD_SYNCBUSY_CTRLD (_U_(0x1) << SLCD_SYNCBUSY_CTRLD_Pos)
#define SLCD_SYNCBUSY_MASK _U_(0x00000007) /**< \brief (SLCD_SYNCBUSY) MASK Register */
/* -------- SLCD_FC0 : (SLCD Offset: 0x18) (R/W 8) Frame Counter 0 Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t OVF:5; /*!< bit: 0.. 4 Frame Counter Overflow Value */
uint8_t :2; /*!< bit: 5.. 6 Reserved */
uint8_t PB:1; /*!< bit: 7 Prescaler Bypass */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_FC0_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_FC0_OFFSET 0x18 /**< \brief (SLCD_FC0 offset) Frame Counter 0 Configuration */
#define SLCD_FC0_RESETVALUE _U_(0x00) /**< \brief (SLCD_FC0 reset_value) Frame Counter 0 Configuration */
#define SLCD_FC0_OVF_Pos 0 /**< \brief (SLCD_FC0) Frame Counter Overflow Value */
#define SLCD_FC0_OVF_Msk (_U_(0x1F) << SLCD_FC0_OVF_Pos)
#define SLCD_FC0_OVF(value) (SLCD_FC0_OVF_Msk & ((value) << SLCD_FC0_OVF_Pos))
#define SLCD_FC0_PB_Pos 7 /**< \brief (SLCD_FC0) Prescaler Bypass */
#define SLCD_FC0_PB (_U_(0x1) << SLCD_FC0_PB_Pos)
#define SLCD_FC0_MASK _U_(0x9F) /**< \brief (SLCD_FC0) MASK Register */
/* -------- SLCD_FC1 : (SLCD Offset: 0x19) (R/W 8) Frame Counter 1 Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t OVF:5; /*!< bit: 0.. 4 Frame Counter Overflow Value */
uint8_t :2; /*!< bit: 5.. 6 Reserved */
uint8_t PB:1; /*!< bit: 7 Prescaler Bypass */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_FC1_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_FC1_OFFSET 0x19 /**< \brief (SLCD_FC1 offset) Frame Counter 1 Configuration */
#define SLCD_FC1_RESETVALUE _U_(0x00) /**< \brief (SLCD_FC1 reset_value) Frame Counter 1 Configuration */
#define SLCD_FC1_OVF_Pos 0 /**< \brief (SLCD_FC1) Frame Counter Overflow Value */
#define SLCD_FC1_OVF_Msk (_U_(0x1F) << SLCD_FC1_OVF_Pos)
#define SLCD_FC1_OVF(value) (SLCD_FC1_OVF_Msk & ((value) << SLCD_FC1_OVF_Pos))
#define SLCD_FC1_PB_Pos 7 /**< \brief (SLCD_FC1) Prescaler Bypass */
#define SLCD_FC1_PB (_U_(0x1) << SLCD_FC1_PB_Pos)
#define SLCD_FC1_MASK _U_(0x9F) /**< \brief (SLCD_FC1) MASK Register */
/* -------- SLCD_FC2 : (SLCD Offset: 0x1A) (R/W 8) Frame Counter 2 Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t OVF:5; /*!< bit: 0.. 4 Frame Counter Overflow Value */
uint8_t :2; /*!< bit: 5.. 6 Reserved */
uint8_t PB:1; /*!< bit: 7 Prescaler Bypass */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_FC2_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_FC2_OFFSET 0x1A /**< \brief (SLCD_FC2 offset) Frame Counter 2 Configuration */
#define SLCD_FC2_RESETVALUE _U_(0x00) /**< \brief (SLCD_FC2 reset_value) Frame Counter 2 Configuration */
#define SLCD_FC2_OVF_Pos 0 /**< \brief (SLCD_FC2) Frame Counter Overflow Value */
#define SLCD_FC2_OVF_Msk (_U_(0x1F) << SLCD_FC2_OVF_Pos)
#define SLCD_FC2_OVF(value) (SLCD_FC2_OVF_Msk & ((value) << SLCD_FC2_OVF_Pos))
#define SLCD_FC2_PB_Pos 7 /**< \brief (SLCD_FC2) Prescaler Bypass */
#define SLCD_FC2_PB (_U_(0x1) << SLCD_FC2_PB_Pos)
#define SLCD_FC2_MASK _U_(0x9F) /**< \brief (SLCD_FC2) MASK Register */
/* -------- SLCD_LPENL : (SLCD Offset: 0x1C) (R/W 32) LCD Pin Enable Low -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t LPEN:32; /*!< bit: 0..31 LCD Pin Enable */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_LPENL_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_LPENL_OFFSET 0x1C /**< \brief (SLCD_LPENL offset) LCD Pin Enable Low */
#define SLCD_LPENL_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_LPENL reset_value) LCD Pin Enable Low */
#define SLCD_LPENL_LPEN_Pos 0 /**< \brief (SLCD_LPENL) LCD Pin Enable */
#define SLCD_LPENL_LPEN_Msk (_U_(0xFFFFFFFF) << SLCD_LPENL_LPEN_Pos)
#define SLCD_LPENL_LPEN(value) (SLCD_LPENL_LPEN_Msk & ((value) << SLCD_LPENL_LPEN_Pos))
#define SLCD_LPENL_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_LPENL) MASK Register */
/* -------- SLCD_LPENH : (SLCD Offset: 0x20) (R/W 32) LCD Pin Enable High -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t LPEN:20; /*!< bit: 0..19 LCD Pin Enable */
uint32_t :12; /*!< bit: 20..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_LPENH_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_LPENH_OFFSET 0x20 /**< \brief (SLCD_LPENH offset) LCD Pin Enable High */
#define SLCD_LPENH_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_LPENH reset_value) LCD Pin Enable High */
#define SLCD_LPENH_LPEN_Pos 0 /**< \brief (SLCD_LPENH) LCD Pin Enable */
#define SLCD_LPENH_LPEN_Msk (_U_(0xFFFFF) << SLCD_LPENH_LPEN_Pos)
#define SLCD_LPENH_LPEN(value) (SLCD_LPENH_LPEN_Msk & ((value) << SLCD_LPENH_LPEN_Pos))
#define SLCD_LPENH_MASK _U_(0x000FFFFF) /**< \brief (SLCD_LPENH) MASK Register */
/* -------- SLCD_SDATAL0 : (SLCD Offset: 0x24) (R/W 32) Segments Data Low for COM0 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL0_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL0_OFFSET 0x24 /**< \brief (SLCD_SDATAL0 offset) Segments Data Low for COM0 Line */
#define SLCD_SDATAL0_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL0 reset_value) Segments Data Low for COM0 Line */
#define SLCD_SDATAL0_SDATA_Pos 0 /**< \brief (SLCD_SDATAL0) Segments Data */
#define SLCD_SDATAL0_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL0_SDATA_Pos)
#define SLCD_SDATAL0_SDATA(value) (SLCD_SDATAL0_SDATA_Msk & ((value) << SLCD_SDATAL0_SDATA_Pos))
#define SLCD_SDATAL0_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL0) MASK Register */
/* -------- SLCD_SDATAH0 : (SLCD Offset: 0x28) (R/W 32) Segments Data High for COM0 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:12; /*!< bit: 0..11 Segments Data */
uint32_t :20; /*!< bit: 12..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH0_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH0_OFFSET 0x28 /**< \brief (SLCD_SDATAH0 offset) Segments Data High for COM0 Line */
#define SLCD_SDATAH0_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH0 reset_value) Segments Data High for COM0 Line */
#define SLCD_SDATAH0_SDATA_Pos 0 /**< \brief (SLCD_SDATAH0) Segments Data */
#define SLCD_SDATAH0_SDATA_Msk (_U_(0xFFF) << SLCD_SDATAH0_SDATA_Pos)
#define SLCD_SDATAH0_SDATA(value) (SLCD_SDATAH0_SDATA_Msk & ((value) << SLCD_SDATAH0_SDATA_Pos))
#define SLCD_SDATAH0_MASK _U_(0x00000FFF) /**< \brief (SLCD_SDATAH0) MASK Register */
/* -------- SLCD_SDATAL1 : (SLCD Offset: 0x2C) (R/W 32) Segments Data Low for COM1 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL1_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL1_OFFSET 0x2C /**< \brief (SLCD_SDATAL1 offset) Segments Data Low for COM1 Line */
#define SLCD_SDATAL1_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL1 reset_value) Segments Data Low for COM1 Line */
#define SLCD_SDATAL1_SDATA_Pos 0 /**< \brief (SLCD_SDATAL1) Segments Data */
#define SLCD_SDATAL1_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL1_SDATA_Pos)
#define SLCD_SDATAL1_SDATA(value) (SLCD_SDATAL1_SDATA_Msk & ((value) << SLCD_SDATAL1_SDATA_Pos))
#define SLCD_SDATAL1_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL1) MASK Register */
/* -------- SLCD_SDATAH1 : (SLCD Offset: 0x30) (R/W 32) Segments Data High for COM1 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:12; /*!< bit: 0..11 Segments Data */
uint32_t :20; /*!< bit: 12..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH1_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH1_OFFSET 0x30 /**< \brief (SLCD_SDATAH1 offset) Segments Data High for COM1 Line */
#define SLCD_SDATAH1_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH1 reset_value) Segments Data High for COM1 Line */
#define SLCD_SDATAH1_SDATA_Pos 0 /**< \brief (SLCD_SDATAH1) Segments Data */
#define SLCD_SDATAH1_SDATA_Msk (_U_(0xFFF) << SLCD_SDATAH1_SDATA_Pos)
#define SLCD_SDATAH1_SDATA(value) (SLCD_SDATAH1_SDATA_Msk & ((value) << SLCD_SDATAH1_SDATA_Pos))
#define SLCD_SDATAH1_MASK _U_(0x00000FFF) /**< \brief (SLCD_SDATAH1) MASK Register */
/* -------- SLCD_SDATAL2 : (SLCD Offset: 0x34) (R/W 32) Segments Data Low for COM2 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL2_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL2_OFFSET 0x34 /**< \brief (SLCD_SDATAL2 offset) Segments Data Low for COM2 Line */
#define SLCD_SDATAL2_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL2 reset_value) Segments Data Low for COM2 Line */
#define SLCD_SDATAL2_SDATA_Pos 0 /**< \brief (SLCD_SDATAL2) Segments Data */
#define SLCD_SDATAL2_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL2_SDATA_Pos)
#define SLCD_SDATAL2_SDATA(value) (SLCD_SDATAL2_SDATA_Msk & ((value) << SLCD_SDATAL2_SDATA_Pos))
#define SLCD_SDATAL2_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL2) MASK Register */
/* -------- SLCD_SDATAH2 : (SLCD Offset: 0x38) (R/W 32) Segments Data High for COM2 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:12; /*!< bit: 0..11 Segments Data */
uint32_t :20; /*!< bit: 12..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH2_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH2_OFFSET 0x38 /**< \brief (SLCD_SDATAH2 offset) Segments Data High for COM2 Line */
#define SLCD_SDATAH2_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH2 reset_value) Segments Data High for COM2 Line */
#define SLCD_SDATAH2_SDATA_Pos 0 /**< \brief (SLCD_SDATAH2) Segments Data */
#define SLCD_SDATAH2_SDATA_Msk (_U_(0xFFF) << SLCD_SDATAH2_SDATA_Pos)
#define SLCD_SDATAH2_SDATA(value) (SLCD_SDATAH2_SDATA_Msk & ((value) << SLCD_SDATAH2_SDATA_Pos))
#define SLCD_SDATAH2_MASK _U_(0x00000FFF) /**< \brief (SLCD_SDATAH2) MASK Register */
/* -------- SLCD_SDATAL3 : (SLCD Offset: 0x3C) (R/W 32) Segments Data Low for COM3 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL3_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL3_OFFSET 0x3C /**< \brief (SLCD_SDATAL3 offset) Segments Data Low for COM3 Line */
#define SLCD_SDATAL3_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL3 reset_value) Segments Data Low for COM3 Line */
#define SLCD_SDATAL3_SDATA_Pos 0 /**< \brief (SLCD_SDATAL3) Segments Data */
#define SLCD_SDATAL3_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL3_SDATA_Pos)
#define SLCD_SDATAL3_SDATA(value) (SLCD_SDATAL3_SDATA_Msk & ((value) << SLCD_SDATAL3_SDATA_Pos))
#define SLCD_SDATAL3_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL3) MASK Register */
/* -------- SLCD_SDATAH3 : (SLCD Offset: 0x40) (R/W 32) Segments Data High for COM3 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:12; /*!< bit: 0..11 Segments Data */
uint32_t :20; /*!< bit: 12..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH3_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH3_OFFSET 0x40 /**< \brief (SLCD_SDATAH3 offset) Segments Data High for COM3 Line */
#define SLCD_SDATAH3_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH3 reset_value) Segments Data High for COM3 Line */
#define SLCD_SDATAH3_SDATA_Pos 0 /**< \brief (SLCD_SDATAH3) Segments Data */
#define SLCD_SDATAH3_SDATA_Msk (_U_(0xFFF) << SLCD_SDATAH3_SDATA_Pos)
#define SLCD_SDATAH3_SDATA(value) (SLCD_SDATAH3_SDATA_Msk & ((value) << SLCD_SDATAH3_SDATA_Pos))
#define SLCD_SDATAH3_MASK _U_(0x00000FFF) /**< \brief (SLCD_SDATAH3) MASK Register */
/* -------- SLCD_SDATAL4 : (SLCD Offset: 0x44) (R/W 32) Segments Data Low for COM4 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL4_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL4_OFFSET 0x44 /**< \brief (SLCD_SDATAL4 offset) Segments Data Low for COM4 Line */
#define SLCD_SDATAL4_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL4 reset_value) Segments Data Low for COM4 Line */
#define SLCD_SDATAL4_SDATA_Pos 0 /**< \brief (SLCD_SDATAL4) Segments Data */
#define SLCD_SDATAL4_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL4_SDATA_Pos)
#define SLCD_SDATAL4_SDATA(value) (SLCD_SDATAL4_SDATA_Msk & ((value) << SLCD_SDATAL4_SDATA_Pos))
#define SLCD_SDATAL4_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL4) MASK Register */
/* -------- SLCD_SDATAH4 : (SLCD Offset: 0x48) (R/W 32) Segments Data High for COM4 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:10; /*!< bit: 0.. 9 Segments Data */
uint32_t :22; /*!< bit: 10..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH4_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH4_OFFSET 0x48 /**< \brief (SLCD_SDATAH4 offset) Segments Data High for COM4 Line */
#define SLCD_SDATAH4_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH4 reset_value) Segments Data High for COM4 Line */
#define SLCD_SDATAH4_SDATA_Pos 0 /**< \brief (SLCD_SDATAH4) Segments Data */
#define SLCD_SDATAH4_SDATA_Msk (_U_(0x3FF) << SLCD_SDATAH4_SDATA_Pos)
#define SLCD_SDATAH4_SDATA(value) (SLCD_SDATAH4_SDATA_Msk & ((value) << SLCD_SDATAH4_SDATA_Pos))
#define SLCD_SDATAH4_MASK _U_(0x000003FF) /**< \brief (SLCD_SDATAH4) MASK Register */
/* -------- SLCD_SDATAL5 : (SLCD Offset: 0x4C) (R/W 32) Segments Data Low for COM5 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL5_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL5_OFFSET 0x4C /**< \brief (SLCD_SDATAL5 offset) Segments Data Low for COM5 Line */
#define SLCD_SDATAL5_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL5 reset_value) Segments Data Low for COM5 Line */
#define SLCD_SDATAL5_SDATA_Pos 0 /**< \brief (SLCD_SDATAL5) Segments Data */
#define SLCD_SDATAL5_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL5_SDATA_Pos)
#define SLCD_SDATAL5_SDATA(value) (SLCD_SDATAL5_SDATA_Msk & ((value) << SLCD_SDATAL5_SDATA_Pos))
#define SLCD_SDATAL5_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL5) MASK Register */
/* -------- SLCD_SDATAH5 : (SLCD Offset: 0x50) (R/W 32) Segments Data High for COM5 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:10; /*!< bit: 0.. 9 Segments Data */
uint32_t :22; /*!< bit: 10..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH5_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH5_OFFSET 0x50 /**< \brief (SLCD_SDATAH5 offset) Segments Data High for COM5 Line */
#define SLCD_SDATAH5_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH5 reset_value) Segments Data High for COM5 Line */
#define SLCD_SDATAH5_SDATA_Pos 0 /**< \brief (SLCD_SDATAH5) Segments Data */
#define SLCD_SDATAH5_SDATA_Msk (_U_(0x3FF) << SLCD_SDATAH5_SDATA_Pos)
#define SLCD_SDATAH5_SDATA(value) (SLCD_SDATAH5_SDATA_Msk & ((value) << SLCD_SDATAH5_SDATA_Pos))
#define SLCD_SDATAH5_MASK _U_(0x000003FF) /**< \brief (SLCD_SDATAH5) MASK Register */
/* -------- SLCD_SDATAL6 : (SLCD Offset: 0x54) (R/W 32) Segments Data Low for COM6 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL6_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL6_OFFSET 0x54 /**< \brief (SLCD_SDATAL6 offset) Segments Data Low for COM6 Line */
#define SLCD_SDATAL6_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL6 reset_value) Segments Data Low for COM6 Line */
#define SLCD_SDATAL6_SDATA_Pos 0 /**< \brief (SLCD_SDATAL6) Segments Data */
#define SLCD_SDATAL6_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL6_SDATA_Pos)
#define SLCD_SDATAL6_SDATA(value) (SLCD_SDATAL6_SDATA_Msk & ((value) << SLCD_SDATAL6_SDATA_Pos))
#define SLCD_SDATAL6_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL6) MASK Register */
/* -------- SLCD_SDATAH6 : (SLCD Offset: 0x58) (R/W 32) Segments Data High for COM6 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:8; /*!< bit: 0.. 7 Segments Data */
uint32_t :24; /*!< bit: 8..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH6_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH6_OFFSET 0x58 /**< \brief (SLCD_SDATAH6 offset) Segments Data High for COM6 Line */
#define SLCD_SDATAH6_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH6 reset_value) Segments Data High for COM6 Line */
#define SLCD_SDATAH6_SDATA_Pos 0 /**< \brief (SLCD_SDATAH6) Segments Data */
#define SLCD_SDATAH6_SDATA_Msk (_U_(0xFF) << SLCD_SDATAH6_SDATA_Pos)
#define SLCD_SDATAH6_SDATA(value) (SLCD_SDATAH6_SDATA_Msk & ((value) << SLCD_SDATAH6_SDATA_Pos))
#define SLCD_SDATAH6_MASK _U_(0x000000FF) /**< \brief (SLCD_SDATAH6) MASK Register */
/* -------- SLCD_SDATAL7 : (SLCD Offset: 0x5C) (R/W 32) Segments Data Low for COM7 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:32; /*!< bit: 0..31 Segments Data */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAL7_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAL7_OFFSET 0x5C /**< \brief (SLCD_SDATAL7 offset) Segments Data Low for COM7 Line */
#define SLCD_SDATAL7_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAL7 reset_value) Segments Data Low for COM7 Line */
#define SLCD_SDATAL7_SDATA_Pos 0 /**< \brief (SLCD_SDATAL7) Segments Data */
#define SLCD_SDATAL7_SDATA_Msk (_U_(0xFFFFFFFF) << SLCD_SDATAL7_SDATA_Pos)
#define SLCD_SDATAL7_SDATA(value) (SLCD_SDATAL7_SDATA_Msk & ((value) << SLCD_SDATAL7_SDATA_Pos))
#define SLCD_SDATAL7_MASK _U_(0xFFFFFFFF) /**< \brief (SLCD_SDATAL7) MASK Register */
/* -------- SLCD_SDATAH7 : (SLCD Offset: 0x60) (R/W 32) Segments Data High for COM7 Line -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:8; /*!< bit: 0.. 7 Segments Data */
uint32_t :24; /*!< bit: 8..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_SDATAH7_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_SDATAH7_OFFSET 0x60 /**< \brief (SLCD_SDATAH7 offset) Segments Data High for COM7 Line */
#define SLCD_SDATAH7_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_SDATAH7 reset_value) Segments Data High for COM7 Line */
#define SLCD_SDATAH7_SDATA_Pos 0 /**< \brief (SLCD_SDATAH7) Segments Data */
#define SLCD_SDATAH7_SDATA_Msk (_U_(0xFF) << SLCD_SDATAH7_SDATA_Pos)
#define SLCD_SDATAH7_SDATA(value) (SLCD_SDATAH7_SDATA_Msk & ((value) << SLCD_SDATAH7_SDATA_Pos))
#define SLCD_SDATAH7_MASK _U_(0x000000FF) /**< \brief (SLCD_SDATAH7) MASK Register */
/* -------- SLCD_ISDATA : (SLCD Offset: 0x64) ( /W 32) Indirect Segments Data Access -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:8; /*!< bit: 0.. 7 Segments Data */
uint32_t SDMASK:8; /*!< bit: 8..15 Segments Data Mask */
uint32_t OFF:6; /*!< bit: 16..21 Byte Offset */
uint32_t :10; /*!< bit: 22..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_ISDATA_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_ISDATA_OFFSET 0x64 /**< \brief (SLCD_ISDATA offset) Indirect Segments Data Access */
#define SLCD_ISDATA_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_ISDATA reset_value) Indirect Segments Data Access */
#define SLCD_ISDATA_SDATA_Pos 0 /**< \brief (SLCD_ISDATA) Segments Data */
#define SLCD_ISDATA_SDATA_Msk (_U_(0xFF) << SLCD_ISDATA_SDATA_Pos)
#define SLCD_ISDATA_SDATA(value) (SLCD_ISDATA_SDATA_Msk & ((value) << SLCD_ISDATA_SDATA_Pos))
#define SLCD_ISDATA_SDMASK_Pos 8 /**< \brief (SLCD_ISDATA) Segments Data Mask */
#define SLCD_ISDATA_SDMASK_Msk (_U_(0xFF) << SLCD_ISDATA_SDMASK_Pos)
#define SLCD_ISDATA_SDMASK(value) (SLCD_ISDATA_SDMASK_Msk & ((value) << SLCD_ISDATA_SDMASK_Pos))
#define SLCD_ISDATA_OFF_Pos 16 /**< \brief (SLCD_ISDATA) Byte Offset */
#define SLCD_ISDATA_OFF_Msk (_U_(0x3F) << SLCD_ISDATA_OFF_Pos)
#define SLCD_ISDATA_OFF(value) (SLCD_ISDATA_OFF_Msk & ((value) << SLCD_ISDATA_OFF_Pos))
#define SLCD_ISDATA_MASK _U_(0x003FFFFF) /**< \brief (SLCD_ISDATA) MASK Register */
/* -------- SLCD_BCFG : (SLCD Offset: 0x68) (R/W 32) Blink Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t MODE:1; /*!< bit: 0 Blinking Mode */
uint32_t FCS:2; /*!< bit: 1.. 2 Frame Counter Selection */
uint32_t :5; /*!< bit: 3.. 7 Reserved */
uint32_t BSS0:8; /*!< bit: 8..15 Blink Segment Selection 0 */
uint32_t BSS1:8; /*!< bit: 16..23 Blink Segment Selection 1 */
uint32_t :8; /*!< bit: 24..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_BCFG_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_BCFG_OFFSET 0x68 /**< \brief (SLCD_BCFG offset) Blink Configuration */
#define SLCD_BCFG_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_BCFG reset_value) Blink Configuration */
#define SLCD_BCFG_MODE_Pos 0 /**< \brief (SLCD_BCFG) Blinking Mode */
#define SLCD_BCFG_MODE (_U_(0x1) << SLCD_BCFG_MODE_Pos)
#define SLCD_BCFG_MODE_BLINKALL_Val _U_(0x0) /**< \brief (SLCD_BCFG) Blink all segments */
#define SLCD_BCFG_MODE_BLINKSEL_Val _U_(0x1) /**< \brief (SLCD_BCFG) Blink selected segments */
#define SLCD_BCFG_MODE_BLINKALL (SLCD_BCFG_MODE_BLINKALL_Val << SLCD_BCFG_MODE_Pos)
#define SLCD_BCFG_MODE_BLINKSEL (SLCD_BCFG_MODE_BLINKSEL_Val << SLCD_BCFG_MODE_Pos)
#define SLCD_BCFG_FCS_Pos 1 /**< \brief (SLCD_BCFG) Frame Counter Selection */
#define SLCD_BCFG_FCS_Msk (_U_(0x3) << SLCD_BCFG_FCS_Pos)
#define SLCD_BCFG_FCS(value) (SLCD_BCFG_FCS_Msk & ((value) << SLCD_BCFG_FCS_Pos))
#define SLCD_BCFG_FCS_FC0_Val _U_(0x0) /**< \brief (SLCD_BCFG) Frame Counter 0 */
#define SLCD_BCFG_FCS_FC1_Val _U_(0x1) /**< \brief (SLCD_BCFG) Frame Counter 1 */
#define SLCD_BCFG_FCS_FC2_Val _U_(0x2) /**< \brief (SLCD_BCFG) Frame Counter 2 */
#define SLCD_BCFG_FCS_FC0 (SLCD_BCFG_FCS_FC0_Val << SLCD_BCFG_FCS_Pos)
#define SLCD_BCFG_FCS_FC1 (SLCD_BCFG_FCS_FC1_Val << SLCD_BCFG_FCS_Pos)
#define SLCD_BCFG_FCS_FC2 (SLCD_BCFG_FCS_FC2_Val << SLCD_BCFG_FCS_Pos)
#define SLCD_BCFG_BSS0_Pos 8 /**< \brief (SLCD_BCFG) Blink Segment Selection 0 */
#define SLCD_BCFG_BSS0_Msk (_U_(0xFF) << SLCD_BCFG_BSS0_Pos)
#define SLCD_BCFG_BSS0(value) (SLCD_BCFG_BSS0_Msk & ((value) << SLCD_BCFG_BSS0_Pos))
#define SLCD_BCFG_BSS1_Pos 16 /**< \brief (SLCD_BCFG) Blink Segment Selection 1 */
#define SLCD_BCFG_BSS1_Msk (_U_(0xFF) << SLCD_BCFG_BSS1_Pos)
#define SLCD_BCFG_BSS1(value) (SLCD_BCFG_BSS1_Msk & ((value) << SLCD_BCFG_BSS1_Pos))
#define SLCD_BCFG_MASK _U_(0x00FFFF07) /**< \brief (SLCD_BCFG) MASK Register */
/* -------- SLCD_CSRCFG : (SLCD Offset: 0x6C) (R/W 32) Circular Shift Register Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t DIR:1; /*!< bit: 0 Direction */
uint32_t FCS:2; /*!< bit: 1.. 2 Frame Counter Selection */
uint32_t :1; /*!< bit: 3 Reserved */
uint32_t SIZE:4; /*!< bit: 4.. 7 Circular Shift Register Size */
uint32_t DATA:16; /*!< bit: 8..23 Circular Shift Register Value */
uint32_t :8; /*!< bit: 24..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_CSRCFG_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CSRCFG_OFFSET 0x6C /**< \brief (SLCD_CSRCFG offset) Circular Shift Register Configuration */
#define SLCD_CSRCFG_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_CSRCFG reset_value) Circular Shift Register Configuration */
#define SLCD_CSRCFG_DIR_Pos 0 /**< \brief (SLCD_CSRCFG) Direction */
#define SLCD_CSRCFG_DIR (_U_(0x1) << SLCD_CSRCFG_DIR_Pos)
#define SLCD_CSRCFG_FCS_Pos 1 /**< \brief (SLCD_CSRCFG) Frame Counter Selection */
#define SLCD_CSRCFG_FCS_Msk (_U_(0x3) << SLCD_CSRCFG_FCS_Pos)
#define SLCD_CSRCFG_FCS(value) (SLCD_CSRCFG_FCS_Msk & ((value) << SLCD_CSRCFG_FCS_Pos))
#define SLCD_CSRCFG_FCS_FC0_Val _U_(0x0) /**< \brief (SLCD_CSRCFG) Frame Counter 0 */
#define SLCD_CSRCFG_FCS_FC1_Val _U_(0x1) /**< \brief (SLCD_CSRCFG) Frame Counter 1 */
#define SLCD_CSRCFG_FCS_FC2_Val _U_(0x2) /**< \brief (SLCD_CSRCFG) Frame Counter 2 */
#define SLCD_CSRCFG_FCS_FC0 (SLCD_CSRCFG_FCS_FC0_Val << SLCD_CSRCFG_FCS_Pos)
#define SLCD_CSRCFG_FCS_FC1 (SLCD_CSRCFG_FCS_FC1_Val << SLCD_CSRCFG_FCS_Pos)
#define SLCD_CSRCFG_FCS_FC2 (SLCD_CSRCFG_FCS_FC2_Val << SLCD_CSRCFG_FCS_Pos)
#define SLCD_CSRCFG_SIZE_Pos 4 /**< \brief (SLCD_CSRCFG) Circular Shift Register Size */
#define SLCD_CSRCFG_SIZE_Msk (_U_(0xF) << SLCD_CSRCFG_SIZE_Pos)
#define SLCD_CSRCFG_SIZE(value) (SLCD_CSRCFG_SIZE_Msk & ((value) << SLCD_CSRCFG_SIZE_Pos))
#define SLCD_CSRCFG_DATA_Pos 8 /**< \brief (SLCD_CSRCFG) Circular Shift Register Value */
#define SLCD_CSRCFG_DATA_Msk (_U_(0xFFFF) << SLCD_CSRCFG_DATA_Pos)
#define SLCD_CSRCFG_DATA(value) (SLCD_CSRCFG_DATA_Msk & ((value) << SLCD_CSRCFG_DATA_Pos))
#define SLCD_CSRCFG_MASK _U_(0x00FFFFF7) /**< \brief (SLCD_CSRCFG) MASK Register */
/* -------- SLCD_CMCFG : (SLCD Offset: 0x70) (R/W 8) Character Mapping Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t NSEG:3; /*!< bit: 0.. 2 Number of SEG lines */
uint8_t DEC:1; /*!< bit: 3 Decrement SEG Line Index */
uint8_t :4; /*!< bit: 4.. 7 Reserved */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_CMCFG_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CMCFG_OFFSET 0x70 /**< \brief (SLCD_CMCFG offset) Character Mapping Configuration */
#define SLCD_CMCFG_RESETVALUE _U_(0x00) /**< \brief (SLCD_CMCFG reset_value) Character Mapping Configuration */
#define SLCD_CMCFG_NSEG_Pos 0 /**< \brief (SLCD_CMCFG) Number of SEG lines */
#define SLCD_CMCFG_NSEG_Msk (_U_(0x7) << SLCD_CMCFG_NSEG_Pos)
#define SLCD_CMCFG_NSEG(value) (SLCD_CMCFG_NSEG_Msk & ((value) << SLCD_CMCFG_NSEG_Pos))
#define SLCD_CMCFG_DEC_Pos 3 /**< \brief (SLCD_CMCFG) Decrement SEG Line Index */
#define SLCD_CMCFG_DEC (_U_(0x1) << SLCD_CMCFG_DEC_Pos)
#define SLCD_CMCFG_MASK _U_(0x0F) /**< \brief (SLCD_CMCFG) MASK Register */
/* -------- SLCD_ACMCFG : (SLCD Offset: 0x74) (R/W 32) Automated Character Mapping Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t NCOM:3; /*!< bit: 0.. 2 COM Lines per Row */
uint32_t :1; /*!< bit: 3 Reserved */
uint32_t NDIG:4; /*!< bit: 4.. 7 Number of Digit */
uint32_t STEPS:8; /*!< bit: 8..15 Scrolling Steps */
uint32_t NDROW:6; /*!< bit: 16..21 Number of Digit per Row */
uint32_t :1; /*!< bit: 22 Reserved */
uint32_t MODE:1; /*!< bit: 23 Mode */
uint32_t STSEG:6; /*!< bit: 24..29 Start SEG Line */
uint32_t FCS:2; /*!< bit: 30..31 Frame Counter Selection */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_ACMCFG_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_ACMCFG_OFFSET 0x74 /**< \brief (SLCD_ACMCFG offset) Automated Character Mapping Configuration */
#define SLCD_ACMCFG_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_ACMCFG reset_value) Automated Character Mapping Configuration */
#define SLCD_ACMCFG_NCOM_Pos 0 /**< \brief (SLCD_ACMCFG) COM Lines per Row */
#define SLCD_ACMCFG_NCOM_Msk (_U_(0x7) << SLCD_ACMCFG_NCOM_Pos)
#define SLCD_ACMCFG_NCOM(value) (SLCD_ACMCFG_NCOM_Msk & ((value) << SLCD_ACMCFG_NCOM_Pos))
#define SLCD_ACMCFG_NDIG_Pos 4 /**< \brief (SLCD_ACMCFG) Number of Digit */
#define SLCD_ACMCFG_NDIG_Msk (_U_(0xF) << SLCD_ACMCFG_NDIG_Pos)
#define SLCD_ACMCFG_NDIG(value) (SLCD_ACMCFG_NDIG_Msk & ((value) << SLCD_ACMCFG_NDIG_Pos))
#define SLCD_ACMCFG_STEPS_Pos 8 /**< \brief (SLCD_ACMCFG) Scrolling Steps */
#define SLCD_ACMCFG_STEPS_Msk (_U_(0xFF) << SLCD_ACMCFG_STEPS_Pos)
#define SLCD_ACMCFG_STEPS(value) (SLCD_ACMCFG_STEPS_Msk & ((value) << SLCD_ACMCFG_STEPS_Pos))
#define SLCD_ACMCFG_NDROW_Pos 16 /**< \brief (SLCD_ACMCFG) Number of Digit per Row */
#define SLCD_ACMCFG_NDROW_Msk (_U_(0x3F) << SLCD_ACMCFG_NDROW_Pos)
#define SLCD_ACMCFG_NDROW(value) (SLCD_ACMCFG_NDROW_Msk & ((value) << SLCD_ACMCFG_NDROW_Pos))
#define SLCD_ACMCFG_MODE_Pos 23 /**< \brief (SLCD_ACMCFG) Mode */
#define SLCD_ACMCFG_MODE (_U_(0x1) << SLCD_ACMCFG_MODE_Pos)
#define SLCD_ACMCFG_MODE_SEQ_Val _U_(0x0) /**< \brief (SLCD_ACMCFG) Sequential Display Mode */
#define SLCD_ACMCFG_MODE_SCROLL_Val _U_(0x1) /**< \brief (SLCD_ACMCFG) Scrolling Display Mode */
#define SLCD_ACMCFG_MODE_SEQ (SLCD_ACMCFG_MODE_SEQ_Val << SLCD_ACMCFG_MODE_Pos)
#define SLCD_ACMCFG_MODE_SCROLL (SLCD_ACMCFG_MODE_SCROLL_Val << SLCD_ACMCFG_MODE_Pos)
#define SLCD_ACMCFG_STSEG_Pos 24 /**< \brief (SLCD_ACMCFG) Start SEG Line */
#define SLCD_ACMCFG_STSEG_Msk (_U_(0x3F) << SLCD_ACMCFG_STSEG_Pos)
#define SLCD_ACMCFG_STSEG(value) (SLCD_ACMCFG_STSEG_Msk & ((value) << SLCD_ACMCFG_STSEG_Pos))
#define SLCD_ACMCFG_FCS_Pos 30 /**< \brief (SLCD_ACMCFG) Frame Counter Selection */
#define SLCD_ACMCFG_FCS_Msk (_U_(0x3) << SLCD_ACMCFG_FCS_Pos)
#define SLCD_ACMCFG_FCS(value) (SLCD_ACMCFG_FCS_Msk & ((value) << SLCD_ACMCFG_FCS_Pos))
#define SLCD_ACMCFG_FCS_FC0_Val _U_(0x0) /**< \brief (SLCD_ACMCFG) Frame Counter 0 */
#define SLCD_ACMCFG_FCS_FC1_Val _U_(0x1) /**< \brief (SLCD_ACMCFG) Frame Counter 1 */
#define SLCD_ACMCFG_FCS_FC2_Val _U_(0x2) /**< \brief (SLCD_ACMCFG) Frame Counter 2 */
#define SLCD_ACMCFG_FCS_FC0 (SLCD_ACMCFG_FCS_FC0_Val << SLCD_ACMCFG_FCS_Pos)
#define SLCD_ACMCFG_FCS_FC1 (SLCD_ACMCFG_FCS_FC1_Val << SLCD_ACMCFG_FCS_Pos)
#define SLCD_ACMCFG_FCS_FC2 (SLCD_ACMCFG_FCS_FC2_Val << SLCD_ACMCFG_FCS_Pos)
#define SLCD_ACMCFG_MASK _U_(0xFFBFFFF7) /**< \brief (SLCD_ACMCFG) MASK Register */
/* -------- SLCD_ABMCFG : (SLCD Offset: 0x78) (R/W 8) Automated Bit Mapping Configuration -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint8_t FCS:2; /*!< bit: 0.. 1 Frame Counter Selection */
uint8_t SIZE:6; /*!< bit: 2.. 7 Size */
} bit; /*!< Structure used for bit access */
uint8_t reg; /*!< Type used for register access */
} SLCD_ABMCFG_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_ABMCFG_OFFSET 0x78 /**< \brief (SLCD_ABMCFG offset) Automated Bit Mapping Configuration */
#define SLCD_ABMCFG_RESETVALUE _U_(0x00) /**< \brief (SLCD_ABMCFG reset_value) Automated Bit Mapping Configuration */
#define SLCD_ABMCFG_FCS_Pos 0 /**< \brief (SLCD_ABMCFG) Frame Counter Selection */
#define SLCD_ABMCFG_FCS_Msk (_U_(0x3) << SLCD_ABMCFG_FCS_Pos)
#define SLCD_ABMCFG_FCS(value) (SLCD_ABMCFG_FCS_Msk & ((value) << SLCD_ABMCFG_FCS_Pos))
#define SLCD_ABMCFG_FCS_FC0_Val _U_(0x0) /**< \brief (SLCD_ABMCFG) Frame Counter 0 */
#define SLCD_ABMCFG_FCS_FC1_Val _U_(0x1) /**< \brief (SLCD_ABMCFG) Frame Counter 1 */
#define SLCD_ABMCFG_FCS_FC2_Val _U_(0x2) /**< \brief (SLCD_ABMCFG) Frame Counter 2 */
#define SLCD_ABMCFG_FCS_FC0 (SLCD_ABMCFG_FCS_FC0_Val << SLCD_ABMCFG_FCS_Pos)
#define SLCD_ABMCFG_FCS_FC1 (SLCD_ABMCFG_FCS_FC1_Val << SLCD_ABMCFG_FCS_Pos)
#define SLCD_ABMCFG_FCS_FC2 (SLCD_ABMCFG_FCS_FC2_Val << SLCD_ABMCFG_FCS_Pos)
#define SLCD_ABMCFG_SIZE_Pos 2 /**< \brief (SLCD_ABMCFG) Size */
#define SLCD_ABMCFG_SIZE_Msk (_U_(0x3F) << SLCD_ABMCFG_SIZE_Pos)
#define SLCD_ABMCFG_SIZE(value) (SLCD_ABMCFG_SIZE_Msk & ((value) << SLCD_ABMCFG_SIZE_Pos))
#define SLCD_ABMCFG_MASK _U_(0xFF) /**< \brief (SLCD_ABMCFG) MASK Register */
/* -------- SLCD_CMDATA : (SLCD Offset: 0x7C) ( /W 32) Character Mapping Segments Data -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDATA:24; /*!< bit: 0..23 Segments Data */
uint32_t :8; /*!< bit: 24..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_CMDATA_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CMDATA_OFFSET 0x7C /**< \brief (SLCD_CMDATA offset) Character Mapping Segments Data */
#define SLCD_CMDATA_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_CMDATA reset_value) Character Mapping Segments Data */
#define SLCD_CMDATA_SDATA_Pos 0 /**< \brief (SLCD_CMDATA) Segments Data */
#define SLCD_CMDATA_SDATA_Msk (_U_(0xFFFFFF) << SLCD_CMDATA_SDATA_Pos)
#define SLCD_CMDATA_SDATA(value) (SLCD_CMDATA_SDATA_Msk & ((value) << SLCD_CMDATA_SDATA_Pos))
#define SLCD_CMDATA_MASK _U_(0x00FFFFFF) /**< \brief (SLCD_CMDATA) MASK Register */
/* -------- SLCD_CMDMASK : (SLCD Offset: 0x80) (R/W 32) Character Mapping Segments Data Mask -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint32_t SDMASK:24; /*!< bit: 0..23 Segments Data Mask */
uint32_t :8; /*!< bit: 24..31 Reserved */
} bit; /*!< Structure used for bit access */
uint32_t reg; /*!< Type used for register access */
} SLCD_CMDMASK_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CMDMASK_OFFSET 0x80 /**< \brief (SLCD_CMDMASK offset) Character Mapping Segments Data Mask */
#define SLCD_CMDMASK_RESETVALUE _U_(0x00000000) /**< \brief (SLCD_CMDMASK reset_value) Character Mapping Segments Data Mask */
#define SLCD_CMDMASK_SDMASK_Pos 0 /**< \brief (SLCD_CMDMASK) Segments Data Mask */
#define SLCD_CMDMASK_SDMASK_Msk (_U_(0xFFFFFF) << SLCD_CMDMASK_SDMASK_Pos)
#define SLCD_CMDMASK_SDMASK(value) (SLCD_CMDMASK_SDMASK_Msk & ((value) << SLCD_CMDMASK_SDMASK_Pos))
#define SLCD_CMDMASK_MASK _U_(0x00FFFFFF) /**< \brief (SLCD_CMDMASK) MASK Register */
/* -------- SLCD_CMINDEX : (SLCD Offset: 0x84) (R/W 16) Character Mapping SEG/COM Index -------- */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef union {
struct {
uint16_t SINDEX:6; /*!< bit: 0.. 5 SEG Line Index */
uint16_t :2; /*!< bit: 6.. 7 Reserved */
uint16_t CINDEX:3; /*!< bit: 8..10 COM Line Index */
uint16_t :5; /*!< bit: 11..15 Reserved */
} bit; /*!< Structure used for bit access */
uint16_t reg; /*!< Type used for register access */
} SLCD_CMINDEX_Type;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
#define SLCD_CMINDEX_OFFSET 0x84 /**< \brief (SLCD_CMINDEX offset) Character Mapping SEG/COM Index */
#define SLCD_CMINDEX_RESETVALUE _U_(0x0000) /**< \brief (SLCD_CMINDEX reset_value) Character Mapping SEG/COM Index */
#define SLCD_CMINDEX_SINDEX_Pos 0 /**< \brief (SLCD_CMINDEX) SEG Line Index */
#define SLCD_CMINDEX_SINDEX_Msk (_U_(0x3F) << SLCD_CMINDEX_SINDEX_Pos)
#define SLCD_CMINDEX_SINDEX(value) (SLCD_CMINDEX_SINDEX_Msk & ((value) << SLCD_CMINDEX_SINDEX_Pos))
#define SLCD_CMINDEX_CINDEX_Pos 8 /**< \brief (SLCD_CMINDEX) COM Line Index */
#define SLCD_CMINDEX_CINDEX_Msk (_U_(0x7) << SLCD_CMINDEX_CINDEX_Pos)
#define SLCD_CMINDEX_CINDEX(value) (SLCD_CMINDEX_CINDEX_Msk & ((value) << SLCD_CMINDEX_CINDEX_Pos))
#define SLCD_CMINDEX_MASK _U_(0x073F) /**< \brief (SLCD_CMINDEX) MASK Register */
/** \brief SLCD hardware registers */
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
typedef struct {
__IO SLCD_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 32) Control A */
__IO SLCD_CTRLB_Type CTRLB; /**< \brief Offset: 0x04 (R/W 16) Control B */
__IO SLCD_CTRLC_Type CTRLC; /**< \brief Offset: 0x06 (R/W 16) Control C */
__IO SLCD_CTRLD_Type CTRLD; /**< \brief Offset: 0x08 (R/W 8) Control D */
RoReg8 Reserved1[0x3];
__IO SLCD_EVCTRL_Type EVCTRL; /**< \brief Offset: 0x0C (R/W 8) Event Control */
__IO SLCD_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x0D (R/W 8) Interrupt Enable Clear */
__IO SLCD_INTENSET_Type INTENSET; /**< \brief Offset: 0x0E (R/W 8) Interrupt Enable Set */
__IO SLCD_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x0F (R/W 8) Interrupt Flag Status and Clear */
__I SLCD_STATUS_Type STATUS; /**< \brief Offset: 0x10 (R/ 8) Status */
RoReg8 Reserved2[0x3];
__I SLCD_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x14 (R/ 32) Synchronization Busy */
__IO SLCD_FC0_Type FC0; /**< \brief Offset: 0x18 (R/W 8) Frame Counter 0 Configuration */
__IO SLCD_FC1_Type FC1; /**< \brief Offset: 0x19 (R/W 8) Frame Counter 1 Configuration */
__IO SLCD_FC2_Type FC2; /**< \brief Offset: 0x1A (R/W 8) Frame Counter 2 Configuration */
RoReg8 Reserved3[0x1];
__IO SLCD_LPENL_Type LPENL; /**< \brief Offset: 0x1C (R/W 32) LCD Pin Enable Low */
__IO SLCD_LPENH_Type LPENH; /**< \brief Offset: 0x20 (R/W 32) LCD Pin Enable High */
__IO SLCD_SDATAL0_Type SDATAL0; /**< \brief Offset: 0x24 (R/W 32) Segments Data Low for COM0 Line */
__IO SLCD_SDATAH0_Type SDATAH0; /**< \brief Offset: 0x28 (R/W 32) Segments Data High for COM0 Line */
__IO SLCD_SDATAL1_Type SDATAL1; /**< \brief Offset: 0x2C (R/W 32) Segments Data Low for COM1 Line */
__IO SLCD_SDATAH1_Type SDATAH1; /**< \brief Offset: 0x30 (R/W 32) Segments Data High for COM1 Line */
__IO SLCD_SDATAL2_Type SDATAL2; /**< \brief Offset: 0x34 (R/W 32) Segments Data Low for COM2 Line */
__IO SLCD_SDATAH2_Type SDATAH2; /**< \brief Offset: 0x38 (R/W 32) Segments Data High for COM2 Line */
__IO SLCD_SDATAL3_Type SDATAL3; /**< \brief Offset: 0x3C (R/W 32) Segments Data Low for COM3 Line */
__IO SLCD_SDATAH3_Type SDATAH3; /**< \brief Offset: 0x40 (R/W 32) Segments Data High for COM3 Line */
__IO SLCD_SDATAL4_Type SDATAL4; /**< \brief Offset: 0x44 (R/W 32) Segments Data Low for COM4 Line */
__IO SLCD_SDATAH4_Type SDATAH4; /**< \brief Offset: 0x48 (R/W 32) Segments Data High for COM4 Line */
__IO SLCD_SDATAL5_Type SDATAL5; /**< \brief Offset: 0x4C (R/W 32) Segments Data Low for COM5 Line */
__IO SLCD_SDATAH5_Type SDATAH5; /**< \brief Offset: 0x50 (R/W 32) Segments Data High for COM5 Line */
__IO SLCD_SDATAL6_Type SDATAL6; /**< \brief Offset: 0x54 (R/W 32) Segments Data Low for COM6 Line */
__IO SLCD_SDATAH6_Type SDATAH6; /**< \brief Offset: 0x58 (R/W 32) Segments Data High for COM6 Line */
__IO SLCD_SDATAL7_Type SDATAL7; /**< \brief Offset: 0x5C (R/W 32) Segments Data Low for COM7 Line */
__IO SLCD_SDATAH7_Type SDATAH7; /**< \brief Offset: 0x60 (R/W 32) Segments Data High for COM7 Line */
__O SLCD_ISDATA_Type ISDATA; /**< \brief Offset: 0x64 ( /W 32) Indirect Segments Data Access */
__IO SLCD_BCFG_Type BCFG; /**< \brief Offset: 0x68 (R/W 32) Blink Configuration */
__IO SLCD_CSRCFG_Type CSRCFG; /**< \brief Offset: 0x6C (R/W 32) Circular Shift Register Configuration */
__IO SLCD_CMCFG_Type CMCFG; /**< \brief Offset: 0x70 (R/W 8) Character Mapping Configuration */
RoReg8 Reserved4[0x3];
__IO SLCD_ACMCFG_Type ACMCFG; /**< \brief Offset: 0x74 (R/W 32) Automated Character Mapping Configuration */
__IO SLCD_ABMCFG_Type ABMCFG; /**< \brief Offset: 0x78 (R/W 8) Automated Bit Mapping Configuration */
RoReg8 Reserved5[0x3];
__O SLCD_CMDATA_Type CMDATA; /**< \brief Offset: 0x7C ( /W 32) Character Mapping Segments Data */
__IO SLCD_CMDMASK_Type CMDMASK; /**< \brief Offset: 0x80 (R/W 32) Character Mapping Segments Data Mask */
__IO SLCD_CMINDEX_Type CMINDEX; /**< \brief Offset: 0x84 (R/W 16) Character Mapping SEG/COM Index */
} Slcd;
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
/*@}*/
#endif /* _SAML22_SLCD_COMPONENT_ */
|