blob: 854eeddfbe4e243f0fd45813ba3c12dc5ed100a9 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001#!/usr/bin/perl
2#
3# Copyright Statement:
4# --------------------
5# This software is protected by Copyright and the information contained
6# herein is confidential. The software may not be copied and the information
7# contained herein may not be used or disclosed except with the written
8# permission of MediaTek Inc. (C) 2005
9#
10# BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
11# THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
12# RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
13# AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
14# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
15# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
16# NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
17# SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
18# SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
19# THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
20# NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
21# SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
22#
23# BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
24# LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
25# AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
26# OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
27# MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
28#
29# THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
30# WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
31# LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
32# RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
33# THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
34#
35#
36
37my $lisfile="make\\bootloader\\bootloader.lis";
38my $pthfile="make\\bootloader\\bootloader.pth";
39my $incfile="make\\bootloader\\bootloader.inc";
40
41while ($#ARGV != -1) {
42 if ($ARGV[0] =~ /^board_ver=(\w+)/i) {
43 $board_ver = $1;
44 } elsif ($ARGV[0] =~ /^themf=([\w|\\||\/|\.]+)/i) {
45 $themf = $1;
46 } else {
47 &Usage;
48 }
49 shift(@ARGV);
50}
51
52(!defined($board_ver) || ($board_ver eq "") || (!-d ".\\custom\\system\\${board_ver}")) && &Usage;
53
54die "$themf does NOT exist\n" if (!-e $themf);
55open (FILE_HANDLE, "<$themf") or die "Cannot open $themf\n";
56while (<FILE_HANDLE>) {
57 if (/^(\S+)\s*=\s*(\S+)/) {
58 $keyname = lc($1);
59 defined($${keyname}) && warn "$1 redefined in $themf!\n";
60 $${keyname} = uc($2);
61 }
62}
63close FILE_HANDLE;
64
65open (file,"+<$lisfile") || die "cannot open $lisfile\n";
66truncate file, 0;
67
68my $reading = "";
69
70# Bootloader System
71my $thatdir = "bootloader\\src";
72opendir THATDIR, $thatdir;
73@allfiles1 = grep -T, map "$thatdir/$_", readdir THATDIR;
74closedir THATDIR;
75
76foreach $elem (@allfiles1) {
77 $elem =~ s/\//\\/g;
78 if ($elem =~ m/[a-zA-Z0-9_\.\\\/]*\.[csCS]$/) {
79 $reading .= "$elem\n";
80 }
81}
82
83$reading .= "custom\\system\\${board_ver}\\custom_emi.c\n";
84$reading .= "sss\\interface\\src\\SSS_interface.c\n";
85$reading .= "custom\\system\\${board_ver}\\custom_blconfig.c\n";
86$reading .= "custom\\drv\\misc_drv\\${board_ver}\\gpio_drv.c\n";
87$reading .= "custom\\drv\\misc_drv\\${board_ver}\\keypad_def.c\n";
88$reading .= "custom\\drv\\misc_drv\\${board_ver}\\usb_custom.c\n";
89$reading .= "custom\\system\\${board_ver}\\custom_flash.c\n";
90$reading .= "custom\\drv\\misc_drv\\${board_ver}\\codegen\\gpio_var.c\n" if (-e "custom\\drv\\misc_drv\\${board_ver}\\codegen\\gpio_var.c");
91$reading .= "custom\\drv\\common_drv\\gpio_setting.c\n";
92$reading .= "drv\\src\\gpio.c\n";
93$reading .= "custom\\drv\\common_drv\\pwic_cust.c\n";
94$reading .= "init\\src\\cp15.s\n";
95$reading .= "init\\src\\cache.c\n";
96$reading .= "drv\\src\\nand_mtd_fdm50.c\n";
97$reading .= "drv\\src\\nand_dal.c\n";
98$reading .= "drv\\src\\NAND_DevConfig.c\n";
99$reading .= "interface\\l1interface\\l1_interface.c\n";
100$reading .= "init\\GFH\\public\\br_GFH_parser.c\n";
101$reading .= "init\\GFH\\public\\br_GFH_file_info.c\n";
102$reading .= "sss\\interface\\crypto\\export\\public\\br_crypto_platform.c\n";
103$reading .= "drv\\src\\flash_mtd_sf_common.c\n";
104$reading .= "init\\src\\dmdsp_init.c\n";
105
106# CARD Download
107if ($card_download eq "TRUE") {
108 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\msdc_custom.c\n" if (-e "custom\\drv\\misc_drv\\${board_ver}\\msdc_custom.c");
109 $reading .= "drv\\src\\msdc.c\n";
110 $reading .= "drv\\src\\sd.c\n";
111 $reading .= "drv\\src\\sd_drv.c\n";
112 $reading .= "drv\\src\\msdc_fake_kal.c\n";
113 #$reading .= "drv\\display\\src\\mt6236lcd\\lcd_if_6236.c\n";
114 $reading .= "drv\\display\\src\\lcd_if.c\n";
115 $reading .= "lqt\\src\\lcd_lqt.c\n";
116 $reading .= "lcd.c\n";
117
118 # For Backlight
119 $reading .= "drv\\src\\pwic.c\n";
120 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\alerterdrv.c\n";
121 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\pwmdrv.c\n";
122 $reading .= "drv\\src\\rtc.c\n";
123 $reading .= "drv\\src\\rwg.c\n";
124 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\uem_gpio.c\n";
125 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\custom_equipment.c\n";
126 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\custom_hw_default.c\n";
127 $reading .= "custom\\drv\\misc_drv\\${board_ver}\\codegen\\uem_drv.c\n";
128
129 #$reading .= "drv\\src\\pwm.c\n";
130
131 $reading .= "plutommi\\Framework\\GDI\\GDISrc\\gdi_image_alpha_bmp_v2_internal.c\n";
132 $reading .= "plutommi\\Framework\\GDI\\GDISrc\\gdi_image_alpha_bmp_v2_core.c\n";
133}
134
135
136$reading .= "drv\\src\\keypad_bl.c\n";
137$reading .= "drv\\src\\pmu_bl.c\n";
138$reading .= "drv\\src\\pmu6236_bl.c\n";
139$reading .= "drv\\src\\pmu6253_bl.c\n";
140$reading .= "drv\\src\\pmu6253el_bl.c\n";
141$reading .= "drv\\src\\pmu6255_bl.c\n";
142$reading .= "drv\\src\\pmu6276_bl.c\n";
143$reading .= "drv\\src\\pmu6251_bl.c\n";
144$reading .= "drv\\src\\upmu_common_bl.c\n";
145$reading .= "drv\\src\\pwm_bl.c\n";
146
147$reading .= "custom\\drv\\misc_drv\\${board_ver}\\pmu_custom.c\n" if (-e "custom\\drv\\misc_drv\\${board_ver}\\pmu_custom.c");;
148$reading .= "custom\\drv\\misc_drv\\${board_ver}\\codegen\\pmic_drv.c\n" if (-e "custom\\drv\\misc_drv\\${board_ver}\\codegen\\pmic_drv.c");
149$reading .= "drv\\src\\pmic_MT6255PMU_drv.c\n";
150$reading .= "drv\\src\\pmic_MT6276PMU_drv.c\n";
151$reading .= "drv\\src\\pmic_MT6251PMU_drv.c\n";
152
153$reading .= "init\\CBR\\CBR.c\n";
154
155seek(file, 0, 0);
156print file $reading;
157close file;
158
159open (file,"+<$pthfile") || die "cannot open $pthfile\n";
160truncate file, 0;
161$reading = "custom\\system\\${board_ver}\n";
162$reading .= "custom\\drv\\misc_drv\\${board_ver}\n";
163$reading .= "custom\\drv\\misc_drv\\${board_ver}\\codegen\n";
164$reading .= "custom\\drv\\common_drv\n";
165$reading .= "bootloader\\src\n";
166$reading .= "drv\\src\n";
167$reading .= "sss\\interface\\src\n";
168$reading .= "init\\src\n";
169$reading .= "init\\CBR\n";
170$reading .= "interface\\l1interface\n";
171$reading .= "init\\GFH\\public\n";
172$reading .= "drv\\display\\src\\mt6236lcd\n";
173$reading .= "drv\\display\\src\n";
174$reading .= "plutommi\\Framework\\GDI\\GDISrc\n";
175$reading .= "lqt\\src\n";
176$reading .= "sss\\interface\\crypto\\export\\public\n";
177
178seek(file, 0, 0);
179print file $reading;
180close file;
181
182open (file,"+<$incfile") || die "cannot open $incfile\n";
183truncate file, 0;
184$reading = "bootloader\\inc\n";
185$reading .= "inc\n";
186$reading .= "init\\include\n";
187$reading .= "init\\CBR\n";
188$reading .= "drv\\include\n";
189$reading .= "dp_engine\\che\\include\n";
190$reading .= "applib\\misc\\include\n";
191$reading .= "custom\\drv\\misc_drv\\${board_ver}\\codegen\n";
192$reading .= "custom\\system\\${board_ver}\n";
193$reading .= "fota\\inc\n";
194$reading .= "ssf\\inc\n";
195$reading .= "custom\\common\n";
196$reading .= "kal\\Efs\\include\n";
197$reading .= "interface\\l1interface\n";
198$reading .= "interface\\hwdrv\n";
199$reading .= "dsp_ram\n";
200$reading .= "drv\\display\\include\\mt6236lcd\n";
201$reading .= "drv\\display\\include\n";
202$reading .= "plutommi\\Framework\\GDI\\GDIInc\n";
203$reading .= "sss\\interface\\inc\n";
204$reading .= "init\\GFH\\public\n";
205$reading .= "init\\ftl\n";
206$reading .= "sss\\interface\\crypto\\export\\public\n";
207seek(file, 0, 0);
208print file $reading;
209close file;
210
211exit 0;
212
213sub Usage {
214 warn " Usage:\n";
215 warn " $0 board_ver=MT6226_EVB\n";
216 exit 1;
217}