blob: 5c443ae61e520290adbf5c5f1edc36240da5317b [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2005
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35
36/*****************************************************************************
37 *
38 * Filename:
39 * ---------
40 * init.h
41 *
42 * Project:
43 * --------
44 * Maui_Software
45 *
46 * Description:
47 * ------------
48 *
49 *
50 * Author:
51 * -------
52 * -------
53 *
54 *============================================================================
55 * HISTORY
56 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
57 *------------------------------------------------------------------------------
58 * removed!
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 * removed!
65 * removed!
66 *
67 * removed!
68 * removed!
69 * removed!
70 *
71 * removed!
72 * removed!
73 * removed!
74 *
75 * removed!
76 * removed!
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 *
88 * removed!
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 *
97 * removed!
98 * removed!
99 * removed!
100 *
101 * removed!
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 * removed!
108 *
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 *
129 * removed!
130 * removed!
131 * removed!
132 *
133 * removed!
134 * removed!
135 * removed!
136 *
137 * removed!
138 * removed!
139 * removed!
140 *
141 * removed!
142 * removed!
143 * removed!
144 *
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 * removed!
152 *
153 * removed!
154 * removed!
155 * removed!
156 *
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 *
165 * removed!
166 * removed!
167 * removed!
168 *
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 *
181 * removed!
182 * removed!
183 * removed!
184 *
185 * removed!
186 * removed!
187 * removed!
188 *
189 * removed!
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 * removed!
197 * removed!
198 *
199 * removed!
200 * removed!
201 * removed!
202 * removed!
203 * removed!
204 * removed!
205 * removed!
206 *
207 * removed!
208 * removed!
209 * removed!
210 *
211 * removed!
212 * removed!
213 * removed!
214 *
215 * removed!
216 * removed!
217 * removed!
218 *
219 * removed!
220 * removed!
221 * removed!
222 *
223 * removed!
224 * removed!
225 * removed!
226 *
227 * removed!
228 * removed!
229 * removed!
230 *
231 * removed!
232 * removed!
233 * removed!
234 *
235 * removed!
236 * removed!
237 * removed!
238 *
239 * removed!
240 * removed!
241 * removed!
242 *
243 * removed!
244 * removed!
245 * removed!
246 *
247 * removed!
248 * removed!
249 * removed!
250 *
251 * removed!
252 * removed!
253 * removed!
254 *
255 * removed!
256 * removed!
257 * removed!
258 *
259 * removed!
260 * removed!
261 *
262 * removed!
263 * removed!
264 * removed!
265 *
266 * removed!
267 * removed!
268 * removed!
269 *
270 * removed!
271 * removed!
272 *
273 * removed!
274 * removed!
275 * removed!
276 *
277 * removed!
278 * removed!
279 * removed!
280 *
281 * removed!
282 * removed!
283 * removed!
284 *
285 * removed!
286 * removed!
287 * removed!
288 *
289 * removed!
290 * removed!
291 * removed!
292 *
293 * removed!
294 * removed!
295 * removed!
296 *
297 * removed!
298 * removed!
299 * removed!
300 *
301 * removed!
302 * removed!
303 *
304 * removed!
305 * removed!
306 * removed!
307 *
308 * removed!
309 * removed!
310 *
311 * removed!
312 * removed!
313 *
314 * removed!
315 * removed!
316 *
317 * removed!
318 * removed!
319 * removed!
320 * removed!
321 * removed!
322 * removed!
323 * removed!
324 *
325 * removed!
326 * removed!
327 *
328 * removed!
329 * removed!
330 * removed!
331 *
332 * removed!
333 * removed!
334 * removed!
335 *
336 * removed!
337 * removed!
338 * removed!
339 *
340 * removed!
341 * removed!
342 * removed!
343 *
344 * removed!
345 * removed!
346 * removed!
347 *
348 * removed!
349 * removed!
350 * removed!
351 *
352 * removed!
353 * removed!
354 * removed!
355 *
356 * removed!
357 * removed!
358 * removed!
359 *
360 * removed!
361 * removed!
362 * removed!
363 *
364 * removed!
365 * removed!
366[MAUI_03149504] ([MAUI_03180970]) all time memory dump
367[MAUI_03121063] remove PDN registers
368[MAUI_03147344] Dummy read for early response HW
369[MAUI_03161918] remove custom_setAdvEMI from bootarm.S
370[MAUI_03157059] security use meta to write
371
372 * removed!
373 *
374 * removed!
375 * removed!
376 * removed!
377 *
378 * removed!
379 * removed!
380 * removed!
381 *
382 * removed!
383 * removed!
384 * removed!
385 *
386 * removed!
387 * removed!
388 * removed!
389 *
390 * removed!
391 * removed!
392 * removed!
393 *
394 * removed!
395 * removed!
396 * removed!
397 *
398 * removed!
399 * removed!
400 * removed!
401 *
402 * removed!
403 * removed!
404 * removed!
405 *
406 * removed!
407 * removed!
408 * removed!
409 *
410 * removed!
411 * removed!
412 * removed!
413 *
414 * removed!
415 * removed!
416 * removed!
417 *
418 * removed!
419 * removed!
420 * removed!
421 *
422 * removed!
423 * removed!
424 * removed!
425 *
426 * removed!
427 * removed!
428 * removed!
429 *
430 * removed!
431 * removed!
432 * removed!
433 *
434 * removed!
435 * removed!
436 * removed!
437 *
438 * removed!
439 * removed!
440 * removed!
441 *
442 * removed!
443 * removed!
444 * removed!
445 *
446 * removed!
447 * removed!
448 * removed!
449 *
450 * removed!
451 * removed!
452 * removed!
453 *
454 * removed!
455 * removed!
456 * removed!
457 *
458 * removed!
459 * removed!
460 * removed!
461 *
462 * removed!
463 * removed!
464 * removed!
465 *
466 * removed!
467 * removed!
468 * removed!
469 *
470 * removed!
471 * removed!
472 * removed!
473 *
474 * removed!
475 * removed!
476 * removed!
477 *
478 * removed!
479 * removed!
480 * removed!
481 *
482 * removed!
483 * removed!
484 * removed!
485 *
486 * removed!
487 * removed!
488 * removed!
489 *
490 * removed!
491 * removed!
492 * removed!
493 *
494 * removed!
495 * removed!
496 * removed!
497 *
498 * removed!
499 * removed!
500 * removed!
501 *
502 * removed!
503 * removed!
504 * removed!
505 *
506 * removed!
507 * removed!
508 * removed!
509 *
510 * removed!
511 * removed!
512 * removed!
513 *
514 * removed!
515 * removed!
516 * removed!
517 *
518 * removed!
519 * removed!
520 * removed!
521 *
522 * removed!
523 * removed!
524 * removed!
525 *
526 * removed!
527 * removed!
528 * removed!
529 *
530 * removed!
531 * removed!
532 * removed!
533 *
534 * removed!
535 * removed!
536 * removed!
537 *
538 * removed!
539 * removed!
540 * removed!
541 *
542 * removed!
543 * removed!
544 * removed!
545 *
546 * removed!
547 * removed!
548 * removed!
549 *
550 * removed!
551 * removed!
552 * removed!
553 *
554 * removed!
555 * removed!
556 * removed!
557 *
558 * removed!
559 * removed!
560 * removed!
561 *
562 * removed!
563 * removed!
564 * removed!
565 *
566 * removed!
567 * removed!
568 * removed!
569 *
570 * removed!
571 * removed!
572 * removed!
573 *
574 * removed!
575 * removed!
576 * removed!
577 *
578 * removed!
579 * removed!
580 * removed!
581 *
582 * removed!
583 * removed!
584 * removed!
585 *
586 * removed!
587 * removed!
588 * removed!
589 *
590 * removed!
591 * removed!
592 * removed!
593 *
594 * removed!
595 * removed!
596 * removed!
597 *
598 * removed!
599 * removed!
600 * removed!
601 *
602 * removed!
603 * removed!
604 * removed!
605 *
606 * removed!
607 * removed!
608 * removed!
609 *
610 * removed!
611 * removed!
612 * removed!
613 *
614 * removed!
615 * removed!
616 * removed!
617 *
618 * removed!
619 * removed!
620 * removed!
621 *
622 * removed!
623 * removed!
624 * removed!
625 * removed!
626 *
627 * removed!
628 * removed!
629 * removed!
630 *
631 * removed!
632 * removed!
633 * removed!
634 *
635 * removed!
636 * removed!
637 * removed!
638 *
639 * removed!
640 * removed!
641 * removed!
642 *
643 * removed!
644 * removed!
645 * removed!
646 *
647 * removed!
648 * removed!
649 * removed!
650 *
651 * removed!
652 * removed!
653 * removed!
654 *
655 * removed!
656 * removed!
657 * removed!
658 *
659 * removed!
660 * removed!
661 * removed!
662 *
663 * removed!
664 * removed!
665 * removed!
666 *
667 * removed!
668 * removed!
669 * removed!
670 *
671 * removed!
672 * removed!
673 * removed!
674 *
675 * removed!
676 * removed!
677 * removed!
678 *
679 * removed!
680 * removed!
681 * removed!
682 *
683 * removed!
684 * removed!
685 * removed!
686 *
687 * removed!
688 * removed!
689 * removed!
690 *
691 * removed!
692 * removed!
693 * removed!
694 *
695 * removed!
696 * removed!
697 * removed!
698 *
699 * removed!
700 * removed!
701 * removed!
702 *
703 * removed!
704 * removed!
705 * removed!
706 *
707 * removed!
708 * removed!
709 * removed!
710 *
711 * removed!
712 * removed!
713 * removed!
714 *
715 * removed!
716 * removed!
717 * removed!
718 *
719 * removed!
720 * removed!
721 * removed!
722 *
723 * removed!
724 * removed!
725 * removed!
726 *
727 * removed!
728 * removed!
729 * removed!
730 *
731 * removed!
732 * removed!
733 * removed!
734 *
735 * removed!
736 * removed!
737 * removed!
738 *
739 * removed!
740 * removed!
741 * removed!
742 *
743 * removed!
744 * removed!
745 * removed!
746 *
747 * removed!
748 * removed!
749 * removed!
750 *
751 * removed!
752 * removed!
753 * removed!
754 *
755 * removed!
756 * removed!
757 *
758 *
759 * removed!
760 * removed!
761 * removed!
762 *
763 * removed!
764 * removed!
765 * removed!
766 *
767 * removed!
768 * removed!
769 * removed!
770 *
771 * removed!
772 * removed!
773 * removed!
774 *
775 * removed!
776 * removed!
777 *
778 *
779 * removed!
780 * removed!
781 *
782 *
783 * removed!
784 * removed!
785 *
786 *
787 * removed!
788 * removed!
789 * removed!
790 *
791 * removed!
792 * removed!
793 * removed!
794 *
795 * removed!
796 * removed!
797 *
798 *
799 * removed!
800 * removed!
801 *
802 *
803 * removed!
804 * removed!
805 *
806 *
807 * removed!
808 * removed!
809 *
810 *
811 * removed!
812 * removed!
813 *
814 *
815 * removed!
816 * removed!
817 * removed!
818 *
819 * removed!
820 * removed!
821 *
822 *
823 * removed!
824 * removed!
825 *
826 *
827 * removed!
828 * removed!
829 *
830 *
831 * removed!
832 * removed!
833 *
834 *
835 * removed!
836 * removed!
837 *
838 *
839 * removed!
840 * removed!
841 *
842 *
843 * removed!
844 * removed!
845 * removed!
846 *
847 * removed!
848 * removed!
849 * removed!
850 *
851 * removed!
852 * removed!
853 * removed!
854 *
855 * removed!
856 * removed!
857 * removed!
858 *
859 * removed!
860 * removed!
861 * removed!
862 *
863 * removed!
864 * removed!
865 * removed!
866 *
867 * removed!
868 * removed!
869 * removed!
870 *
871 * removed!
872 * removed!
873 * removed!
874 *
875 * removed!
876 * removed!
877 * removed!
878 *
879 * removed!
880 * removed!
881 * removed!
882 *
883 * removed!
884 * removed!
885 * removed!
886 *
887 * removed!
888 * removed!
889 * removed!
890 *
891 * removed!
892 * removed!
893 * removed!
894 *
895 * removed!
896 * removed!
897 * removed!
898 *
899 * removed!
900 * removed!
901 * removed!
902 *
903 * removed!
904 * removed!
905 * removed!
906 *
907 * removed!
908 * removed!
909 * removed!
910 *
911 * removed!
912 * removed!
913 * removed!
914 *
915 * removed!
916 * removed!
917 *
918 *
919 * removed!
920 * removed!
921 * removed!
922 *
923 * removed!
924 * removed!
925 *
926 *
927 * removed!
928 * removed!
929 * removed!
930 *
931 * removed!
932 * removed!
933 * removed!
934 *
935 * removed!
936 * removed!
937 * removed!
938 *
939 * removed!
940 * removed!
941 *
942 *
943 * removed!
944 * removed!
945 * removed!
946 *
947 * removed!
948 * removed!
949 *
950 * removed!
951 * removed!
952 * removed!
953 *
954 * removed!
955 * removed!
956 * removed!
957 *
958 * removed!
959 * removed!
960 * removed!
961 *
962 * removed!
963 * removed!
964 * removed!
965 *
966 * removed!
967 * removed!
968 * removed!
969 *
970 * removed!
971 * removed!
972 *
973 * removed!
974 * removed!
975 * removed!
976 *
977 * removed!
978 * removed!
979 * removed!
980 *
981 * removed!
982 * removed!
983 * removed!
984 * removed!
985 *
986 * removed!
987 * removed!
988 * removed!
989 *
990 * removed!
991 * removed!
992 * removed!
993 *
994 * removed!
995 * removed!
996 * removed!
997 *
998 * removed!
999 * removed!
1000 * removed!
1001 *
1002 * removed!
1003 * removed!
1004 * removed!
1005 *
1006 * removed!
1007 * removed!
1008 *
1009 * removed!
1010 * removed!
1011 * removed!
1012 *
1013 * removed!
1014 * removed!
1015 * removed!
1016 *
1017 * removed!
1018 * removed!
1019 *
1020 * removed!
1021 * removed!
1022 * removed!
1023 *
1024 * removed!
1025 * removed!
1026 * removed!
1027 *
1028 * removed!
1029 * removed!
1030 *
1031 * removed!
1032 * removed!
1033 * removed!
1034 *
1035 * removed!
1036 * removed!
1037 * removed!
1038 *
1039 * removed!
1040 * removed!
1041 *
1042 * removed!
1043 * removed!
1044 *
1045 * removed!
1046 * removed!
1047 * removed!
1048 *
1049 * removed!
1050 * removed!
1051 * removed!
1052 *
1053 * removed!
1054 * removed!
1055 * removed!
1056 *
1057 * removed!
1058 * removed!
1059 * removed!
1060 *
1061 * removed!
1062 * removed!
1063 *
1064 * removed!
1065 * removed!
1066 *------------------------------------------------------------------------------
1067 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
1068 *============================================================================
1069 ****************************************************************************/
1070
1071#ifndef _INIT_COMM_H
1072#define _INIT_COMM_H
1073
1074/*******************************************************************************
1075 * Include header files
1076 *******************************************************************************/
1077//MSBB remove #include "kal_non_specific_general_types.h"
1078#include "kal_trace.h"
1079#include "init_public.h"
1080#include "drv_comm.h"
1081#include "reg_base.h"
1082
1083/*******************************************************************************
1084 * Boot slave register base
1085 *******************************************************************************/
1086
1087#if defined(__MD97__)||defined(__MD97P__)
1088 #if defined(MT6297_IA)
1089 #define MCU_BOOTSLV_CTRL_BASE (BASE_MADDR_MDPERIMISC + 0x1204)
1090 #else
1091 #define MCU_BOOTSLV_CTRL_BASE (BASE_MADDR_MDPERIMISC + 0x1104)
1092 #endif
1093#else
1094#define MCU_BOOTSLV_CTRL_BASE (BASE_MADDR_MDPERIMISC + 0x104)
1095#endif
1096
1097#define MCU_BOOTSLV_CTRL_CORE(index) (MCU_BOOTSLV_CTRL_BASE + (index) * 0xC)
1098#define MCU_BOOTSLV_JUMP_ADDR(index) (MCU_BOOTSLV_CTRL_CORE(index) + 0x0)
1099#define MCU_BOOTSLV_JUMP_ADDR_UPDATE(index) (MCU_BOOTSLV_CTRL_CORE(index) + 0x4)
1100#define MCU_BOOTSLV_JUMP_ADDR_UNLOCK(index) (MCU_BOOTSLV_CTRL_CORE(index) + 0x8)
1101#define MCU_BOOTSLV_AP_TRIG (BASE_MADDR_MDCFGCTL + 0x24)
1102#define MCU_BOOTSLV_JUMP_KEY_VALUE (0x5500)
1103
1104/*************************************************************************
1105 * Define data structure
1106 *************************************************************************/
1107
1108typedef struct
1109{
1110 kal_uint16 pdn_con0;
1111 kal_uint16 pdn_con1;
1112 kal_uint16 pdn_con2;
1113 kal_uint16 pdn_con3;
1114} CONFIG_PDN_TYPE;
1115
1116
1117typedef enum
1118{
1119
1120 UNKNOWN,
1121
1122 ECO_END = 0x7FFFFFFF
1123} ECO_VERSION;
1124
1125
1126typedef enum
1127{
1128 CHIP_UNKNOWN
1129} CHIP_NAME;
1130
1131
1132typedef enum
1133{
1134 GP_UNKNOWN
1135} CHIP_GROUP;
1136
1137typedef enum
1138{
1139 B63216A,
1140 C63216A,
1141 C63216B,
1142 UNKNOWN_ANALOG_DIE
1143} analog_die_id; /* analog die identification */
1144
1145typedef enum
1146{
1147 SYS_CMD_NONE,
1148 SYS_CMD_SET_BL_DL,
1149 SYS_CMD_SET_BROM_DL,
1150 SYS_CMD_CLR_DL_FLAG,
1151 CHK_USB_META_WO_BAT,
1152 CHK_FAST_META,
1153 SYS_CMD_BL_LOGO_DISPLAYED,
1154 SYS_CMD_GET_PWN_STA,
1155 SYS_CMD_GET_EMI_PARAM,
1156 SYS_CMD_BL_BROM_CMD_MODE_DISABLED
1157} INIT_SYSCMD_CODE;
1158
1159
1160typedef enum mem_dev_enum_t
1161{
1162 DRAM = 0xA0,
1163 NOR_ASYNC = 0xB0,
1164 NOR_ASYNC_PAGE = 0xB1,
1165 NOR_SYNC_READ_ASYNC_WRITE = 0xB2,
1166 NOR_SYNC_READ_SYNC_WRITE = 0xB3,
1167 RAM_ASYNC = 0xC0,
1168 RAM_ASYNC_PAGE = 0xC1,
1169 RAM_SYNC_READ_ASYNC_WRITE = 0xC2,
1170 RAM_SYNC_READ_SYNC_WRITE = 0xC3
1171} MEM_DEV_TYPE;
1172
1173typedef enum
1174{
1175 BL_INFO_FROM_RTC
1176} BL_FIRST_PWON_INFO_SRC;
1177
1178typedef struct EMI_CS_STRUCT
1179{
1180 kal_uint8 CS0;
1181 kal_uint8 CS1;
1182 kal_uint8 CS2;
1183 kal_uint8 CS3;
1184} EMI_CS;
1185
1186typedef struct EXTSRAM_REGION_INFO_STRCUT
1187{
1188 kal_uint32 addr;
1189 kal_uint32 len;
1190} EXTSRAM_REGION_INFO_T;
1191
1192typedef enum
1193{
1194 E_BROM,
1195 E_BLNUSB,
1196 E_BLSUSB,
1197 E_ERROR_MODE
1198} MODE_ENTRY_SRC;
1199
1200#if defined(MT6763) || defined(MT6739) || defined(MT6771) || defined(MT6765) || defined(MT6295M) || defined(MT3967) || defined(MT6779) || defined(MT6785)|| defined(MT6297) || defined(MT6885)|| defined(MERCURY) || defined(MT6873) || defined(MT6853) || defined(CHIP10992) || defined(MT6833) || defined(MT6877)
1201// Check these macro define is the same as MT6763 FPGA?
1202#define DATE_CODE_BASE 0xA0000018
1203#if defined(__MD97__)||defined(__MD97P__)
1204 #define PURPOSE_CODE_BASE 0xA0000018
1205#else
1206 #define PURPOSE_CODE_BASE 0xA000001C
1207#endif
1208#define PURPOSE_CODE_BIT (24)
1209#define PURPOSE_CODE_MASK 0x0F000000
1210#define CORENUM_BIT (16)
1211#define CORENUM_MASK 0x000F0000
1212#endif
1213#if defined(__MD97__)||defined(__MD97P__)
1214typedef enum
1215{
1216 PURPOSE_NotSupport,
1217 FPGA_H1,
1218 FPGA_H2,
1219 FPGA_H3,
1220 FPGA_H4,
1221 FPGA_H5,
1222 FPGA_H6,
1223 FPGA_Platform = 0xFF,
1224 FPGA_LTEL2= 0xFF,
1225 FPGA_SIB= 0xFF,
1226 FPGA_U4G= 0xFF,
1227 FPGA_U4G_LTEL2= 0xFF,
1228 FPGA_BIT_PURPOSE_END = 0xFFFFFFFF
1229} HW_PURPOSE;
1230#else
1231typedef enum
1232{
1233 PURPOSE_NotSupport,
1234 FPGA_Platform,
1235 FPGA_LTEL2,
1236 FPGA_SIB,
1237 FPGA_U4G,
1238 FPGA_U4G_LTEL2,
1239 FPGA_BIT_PURPOSE_END = 0xFFFFFFFF
1240} HW_PURPOSE;
1241#endif
1242typedef enum
1243{
1244 CORENUM_NotSupport,
1245 CORENUM_1,
1246 CORENUM_2,
1247 CORENUM_3,
1248 CORENUM_4,
1249 FPGA_BIT_CORENUM_END = 0xFFFFFFFF
1250} HW_CORENUM;
1251
1252extern kal_uint32 INT_FPGA_DATECODE(void);
1253/*Only FPGA Support this function*/
1254#if defined (__FPGA__)
1255extern HW_PURPOSE INT_FPGA_PURPOSE(void);
1256#endif
1257extern HW_CORENUM INT_FPGA_CORENUM(void);
1258extern kal_bool INT_FPGA_IS_ASIC(void);
1259
1260typedef enum
1261{
1262 E_Before_20140801,
1263 E_20140801,
1264 E_20140802,
1265 E_20140808,
1266 E_20140819,
1267 E_20140822,
1268 E_20140824,
1269 E_20140825,
1270 E_20140826,
1271 E_20140827,
1272 E_20140828,
1273 E_20140830,
1274 E_20140901,
1275 E_20140902,
1276 E_20140903,
1277 E_20140904,
1278 E_20140905,
1279 E_20140908,
1280 E_FPGA_BIT_DATE_END = 0xFFFFFFFF
1281} FPGA_BIT_DATE;
1282typedef enum
1283{
1284 E_Platform,
1285 E_3G,
1286 E_4G,
1287 E_FPGA_BIT_PURPOSE_END = 0xFFFFFFFF
1288} FPGA_BIT_PURPOSE;
1289typedef struct
1290{
1291 FPGA_BIT_DATE date;
1292 FPGA_BIT_PURPOSE purpose;
1293} FPGA_VERSION;
1294extern FPGA_VERSION INT_FPGA_Version(void);
1295
1296#if 0
1297/* under construction !*/
1298/* under construction !*/
1299/* under construction !*/
1300/* under construction !*/
1301/* under construction !*/
1302/* under construction !*/
1303/* under construction !*/
1304/* under construction !*/
1305/* under construction !*/
1306#endif
1307
1308/*************************************************************************
1309 * Define system internal RAM pool size
1310 *************************************************************************/
1311
1312#ifdef __SYS_INTERN_RAM__
1313
1314#define KAL_TIMER_STACK_SIZE 512
1315
1316#if defined(IC_BURNIN_TEST)
1317#define GLOBAL_INT_SRAM_STACK_MEM_SIZE (2048)
1318#endif
1319
1320#endif /* __SYS_INTERN_RAM__ */
1321
1322
1323/*************************************************************************
1324 * Define import function prototype
1325 *************************************************************************/
1326/* Category 0: Initialize related */
1327extern void Initialize(void);
1328/* Category 1: chip information */
1329extern ECO_VERSION INT_ecoVersion(void);
1330extern CHIP_GROUP INT_ChipGroup(void);
1331extern analog_die_id AnalogDieID(void);
1332extern CHIP_NAME INT_ChipName(void);
1333void INT_Init_Misc(void);
1334
1335/* Category 2: Query or Set system information */
1336extern kal_bool INT_IsBootForUSBAT(void);
1337extern void INT_SetCmdToSys(INIT_SYSCMD_CODE cmd_val);
1338extern kal_uint32 INT_GetSysStaByCmd(INIT_SYSCMD_CODE cmd_val, void *data_p);
1339extern void INT_Set_BootSlave(kal_uint32 core_index, kal_uint32 jmp_addr);
1340
1341
1342#ifdef __MTK_TARGET__
1343extern kal_bool INT_GetAvailableMemory_Ptr(kal_uint32 **, kal_uint32 *);
1344extern kal_bool INT_QueryBiggestPool(kal_uint32 *, void **);
1345#endif
1346
1347extern kal_uint32 INT_RetrieveFlashBaseAddr(void);
1348extern kal_bool INT_CheckSystemDriveOnNAND(void);
1349extern void init_32khz_output(kal_uint16 gpio_pin, kal_uint16 gpio_data);
1350extern kal_int32 enable_32khz_output(void);
1351extern kal_int32 disable_32khz_output(void);
1352extern kal_bool INT_RetrieveDSPTXRXBaseAddr(kal_uint32 *TX_Base, kal_uint32 *RX_Base, kal_uint32 *CS, kal_uint32 *TX_Size, kal_uint32 *RX_Size);
1353extern kal_int32 INT_QuerySystemRAMInfo(kal_uint32 *addr, kal_uint32 *len);
1354extern void wait_32k_start(void);
1355
1356#if defined(__MTK_TARGET__)
1357extern kal_int32 show_sysinit_msg(void);
1358#else /* __MTK_TARGET__ */
1359#define show_sysinit_msg()
1360#endif /* __MTK_TARGET__ */
1361
1362#if defined(__RTL_SIMULATION_FOR_60QBIT__)
1363extern kal_int32 profile_INT_SwitchStackToRun_before(void);
1364extern kal_int32 profile_INT_SwitchStackToRun_after(void);
1365#endif /* __RTL_SIMULATION_FOR_60QBIT__ */
1366
1367
1368/*************************************************************************
1369 * Define customized function prototype
1370 *************************************************************************/
1371
1372extern kal_int8 custom_setEMI(void);
1373extern EMI_CS * custom_getCS(void);
1374extern void custom_get_EXTSRAM_size(kal_uint32 *);
1375extern kal_uint32 custom_get_demp_image_table(void);
1376extern kal_int32 custom_config_demp_page(kal_uint32 **list, kal_uint32 **pool, kal_uint32 *pool_size);
1377extern MODE_ENTRY_SRC INT_GetMetaModeSrc(void);
1378
1379
1380/*************************************************************************
1381 * Define region attribute
1382 *************************************************************************/
1383#if defined(__MTK_TARGET__)
1384#include "sys/cdefs.h"
1385#undef __section
1386#define __section(S) __attribute__ ((section(#S)))
1387
1388#define __attr_cached_ext_zi __section(CACHED_EXTSRAM_PREINIT_ZI)
1389#define __attr_emiinit_zi __section(EMIINITZI)
1390#define __attr_emiinit_code __section(EMIINITCODE)
1391#define __attr_lead_part __section(INTSRAM_RODATA)
1392
1393#else
1394
1395#define __attr_cached_ext_zi
1396#define __attr_emiinit_zi
1397#define __attr_emiinit_code
1398#define __attr_lead_part
1399
1400#endif /* __MTK_TARGET__ */
1401
1402#endif /* !_INIT_H */
1403