1 .cpu arm7tdmi 2 .arch armv4t 3 .fpu softvfp 4 .eabi_attribute 20, 1 5 .eabi_attribute 21, 1 6 .eabi_attribute 23, 3 7 .eabi_attribute 24, 1 8 .eabi_attribute 25, 1 9 .eabi_attribute 26, 1 10 .eabi_attribute 30, 4 11 .eabi_attribute 34, 0 12 .eabi_attribute 18, 4 13 .file "readcal_common.c" 14 .text 15 .Ltext0: 16 .cfi_sections .debug_frame 17 .file 1 "board/compal/readcal_common.c" 18 .section .text.apply_levels,"ax",%progbits 19 .align 2 20 .syntax unified 21 .arm 23 apply_levels: 24 .LVL0: 25 .LFB0: 1:board/compal/readcal_common.c **** /* 2:board/compal/readcal_common.c **** * This code was written by Mychaela Falconia 3:board/compal/readcal_common.c **** * who refuses to claim copyright on it and has released it as public domain 4:board/compal/readcal_common.c **** * instead. NO rights reserved, all rights relinquished. 5:board/compal/readcal_common.c **** * 6:board/compal/readcal_common.c **** * Tweaked (coding style changes) by Vadim Yanitskiy 7:board/compal/readcal_common.c **** * 8:board/compal/readcal_common.c **** * This program is free software; you can redistribute it and/or modify 9:board/compal/readcal_common.c **** * it under the terms of the GNU General Public License as published by 10:board/compal/readcal_common.c **** * the Free Software Foundation; either version 2 of the License, or 11:board/compal/readcal_common.c **** * (at your option) any later version. 12:board/compal/readcal_common.c **** * 13:board/compal/readcal_common.c **** * This program is distributed in the hope that it will be useful, 14:board/compal/readcal_common.c **** * but WITHOUT ANY WARRANTY; without even the implied warranty of 15:board/compal/readcal_common.c **** * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16:board/compal/readcal_common.c **** * GNU General Public License for more details. 17:board/compal/readcal_common.c **** * 18:board/compal/readcal_common.c **** */ 19:board/compal/readcal_common.c **** 20:board/compal/readcal_common.c **** #include 21:board/compal/readcal_common.c **** #include 22:board/compal/readcal_common.c **** #include 23:board/compal/readcal_common.c **** #include 24:board/compal/readcal_common.c **** 25:board/compal/readcal_common.c **** #include 26:board/compal/readcal_common.c **** 27:board/compal/readcal_common.c **** struct record_hdr { 28:board/compal/readcal_common.c **** uint16_t valid_flag; 29:board/compal/readcal_common.c **** uint16_t type; 30:board/compal/readcal_common.c **** uint16_t native_len; 31:board/compal/readcal_common.c **** uint16_t rounded_len; 32:board/compal/readcal_common.c **** }; 33:board/compal/readcal_common.c **** 34:board/compal/readcal_common.c **** static void apply_levels(struct txcal_tx_level *levels_table, 35:board/compal/readcal_common.c **** uint16_t *compal_data, unsigned start_level, 36:board/compal/readcal_common.c **** unsigned num_levels) 37:board/compal/readcal_common.c **** { 26 .loc 1 37 1 view -0 27 .cfi_startproc 28 @ Function supports interworking. 29 @ args = 0, pretend = 0, frame = 0 30 @ frame_needed = 0, uses_anonymous_args = 0 31 @ link register save eliminated. 38:board/compal/readcal_common.c **** unsigned n; 32 .loc 1 38 2 view .LVU1 39:board/compal/readcal_common.c **** 40:board/compal/readcal_common.c **** for (n = 0; n < num_levels; n++) 33 .loc 1 40 2 view .LVU2 34 .loc 1 40 2 is_stmt 0 view .LVU3 35 0000 020180E0 add r0, r0, r2, lsl #2 36 .LVL1: 37 .loc 1 40 2 view .LVU4 38 0004 833081E0 add r3, r1, r3, lsl #1 39 .LVL2: 40 .L2: 41 .loc 1 40 16 is_stmt 1 discriminator 1 view .LVU5 42 0008 030051E1 cmp r1, r3 43 000c 040080E2 add r0, r0, #4 44 0010 1EFF2F01 bxeq lr 41:board/compal/readcal_common.c **** levels_table[start_level + n].apc = *compal_data++; 45 .loc 1 41 3 discriminator 3 view .LVU6 46 .LVL3: 47 .loc 1 41 39 is_stmt 0 discriminator 3 view .LVU7 48 0014 B220D1E0 ldrh r2, [r1], #2 49 .LVL4: 50 .loc 1 41 37 discriminator 3 view .LVU8 51 0018 B42040E1 strh r2, [r0, #-4] @ movhi 40:board/compal/readcal_common.c **** levels_table[start_level + n].apc = *compal_data++; 52 .loc 1 40 31 is_stmt 1 discriminator 3 view .LVU9 53 001c F9FFFFEA b .L2 54 .cfi_endproc 55 .LFE0: 57 .section .rodata.str1.1,"aMS",%progbits,1 58 .LC0: 59 0000 416E616C .ascii "Analyzing factory records sector at 0x%lx\012\000" 59 797A696E 59 67206661 59 63746F72 59 79207265 60 .LC1: 61 002b 42616420 .ascii "Bad record at 0x%lx: native length > rounded length" 61 7265636F 61 72642061 61 74203078 61 256C783A 62 005e 0A00 .ascii "\012\000" 63 .LC2: 64 0060 42616420 .ascii "Bad record at 0x%lx: rounded length is not aligned " 64 7265636F 64 72642061 64 74203078 64 256C783A 65 0093 746F2034 .ascii "to 4\012\000" 65 0A00 66 .LC3: 67 0099 42616420 .ascii "Bad record at 0x%lx: rounded length spills past the" 67 7265636F 67 72642061 67 74203078 67 256C783A 68 00cc 20656E64 .ascii " end of the sector\012\000" 68 206F6620 68 74686520 68 73656374 68 6F720A00 69 .LC4: 70 00e0 466F756E .ascii "Found 900 MHz band calibration record at 0x%lx, app" 70 64203930 70 30204D48 70 7A206261 70 6E642063 71 0113 6C79696E .ascii "lying\012\000" 71 670A00 72 .LC5: 73 011a 466F756E .ascii "Found 1800 MHz band calibration record at 0x%lx, ap" 73 64203138 73 3030204D 73 487A2062 73 616E6420 74 014d 706C7969 .ascii "plying\012\000" 74 6E670A00 75 .LC6: 76 0155 466F756E .ascii "Found 1900 MHz band calibration record at 0x%lx, ap" 76 64203139 76 3030204D 76 487A2062 76 616E6420 77 0188 706C7969 .ascii "plying\012\000" 77 6E670A00 78 .LC7: 79 0190 466F756E .ascii "Found 850 MHz band calibration record at 0x%lx, app" 79 64203835 79 30204D48 79 7A206261 79 6E642063 80 01c3 6C79696E .ascii "lying\012\000" 80 670A00 81 .section .text.read_compal_factory_records,"ax",%progbits 82 .align 2 83 .global read_compal_factory_records 84 .syntax unified 85 .arm 87 read_compal_factory_records: 88 .LVL5: 89 .LFB1: 42:board/compal/readcal_common.c **** } 43:board/compal/readcal_common.c **** 44:board/compal/readcal_common.c **** void read_compal_factory_records(uint32_t flash_addr) 45:board/compal/readcal_common.c **** { 90 .loc 1 45 1 view -0 91 .cfi_startproc 92 @ Function supports interworking. 93 @ args = 0, pretend = 0, frame = 0 94 @ frame_needed = 0, uses_anonymous_args = 0 46:board/compal/readcal_common.c **** struct record_hdr *hdr; 95 .loc 1 46 2 view .LVU11 47:board/compal/readcal_common.c **** void *p, *sector_end; 96 .loc 1 47 2 view .LVU12 48:board/compal/readcal_common.c **** unsigned p_incr; 97 .loc 1 48 2 view .LVU13 49:board/compal/readcal_common.c **** void *payload; 98 .loc 1 49 2 view .LVU14 50:board/compal/readcal_common.c **** 51:board/compal/readcal_common.c **** printf("Analyzing factory records sector " 99 .loc 1 51 2 view .LVU15 45:board/compal/readcal_common.c **** struct record_hdr *hdr; 100 .loc 1 45 1 is_stmt 0 view .LVU16 101 0000 F0412DE9 push {r4, r5, r6, r7, r8, lr} 102 .LCFI0: 103 .cfi_def_cfa_offset 24 104 .cfi_offset 4, -24 105 .cfi_offset 5, -20 106 .cfi_offset 6, -16 107 .cfi_offset 7, -12 108 .cfi_offset 8, -8 109 .cfi_offset 14, -4 110 .loc 1 51 2 view .LVU17 111 0004 0010A0E1 mov r1, r0 45:board/compal/readcal_common.c **** struct record_hdr *hdr; 112 .loc 1 45 1 view .LVU18 113 0008 0040A0E1 mov r4, r0 114 .loc 1 51 2 view .LVU19 115 000c 74019FE5 ldr r0, .L22 116 .LVL6: 117 .loc 1 51 2 view .LVU20 118 0010 FEFFFFEB bl printf 119 .LVL7: 52:board/compal/readcal_common.c **** "at 0x%" PRIx32 "\n", flash_addr); 53:board/compal/readcal_common.c **** 54:board/compal/readcal_common.c **** p = (void *) flash_addr; 120 .loc 1 54 2 is_stmt 1 view .LVU21 55:board/compal/readcal_common.c **** sector_end = p + 0x2000; 121 .loc 1 55 2 view .LVU22 56:board/compal/readcal_common.c **** for (; p < sector_end; p += p_incr) { 57:board/compal/readcal_common.c **** if ((sector_end - p) < 12) 58:board/compal/readcal_common.c **** break; 59:board/compal/readcal_common.c **** hdr = (struct record_hdr *)p; 60:board/compal/readcal_common.c **** if (hdr->valid_flag == 0xFFFF) /* blank flash */ 122 .loc 1 60 6 is_stmt 0 view .LVU23 123 0014 70719FE5 ldr r7, .L22+4 55:board/compal/readcal_common.c **** sector_end = p + 0x2000; 124 .loc 1 55 13 view .LVU24 125 0018 026A84E2 add r6, r4, #8192 126 .LVL8: 56:board/compal/readcal_common.c **** for (; p < sector_end; p += p_incr) { 127 .loc 1 56 2 is_stmt 1 view .LVU25 128 .L6: 56:board/compal/readcal_common.c **** for (; p < sector_end; p += p_incr) { 129 .loc 1 56 11 discriminator 1 view .LVU26 130 001c 060054E1 cmp r4, r6 131 0020 0C00002A bcs .L5 57:board/compal/readcal_common.c **** break; 132 .loc 1 57 3 view .LVU27 57:board/compal/readcal_common.c **** break; 133 .loc 1 57 19 is_stmt 0 view .LVU28 134 0024 040046E0 sub r0, r6, r4 57:board/compal/readcal_common.c **** break; 135 .loc 1 57 6 view .LVU29 136 0028 0B0050E3 cmp r0, #11 137 002c 090000DA ble .L5 59:board/compal/readcal_common.c **** if (hdr->valid_flag == 0xFFFF) /* blank flash */ 138 .loc 1 59 3 is_stmt 1 view .LVU30 139 .LVL9: 140 .loc 1 60 3 view .LVU31 141 .loc 1 60 10 is_stmt 0 view .LVU32 142 0030 B010D4E1 ldrh r1, [r4] 143 .loc 1 60 6 view .LVU33 144 0034 070051E1 cmp r1, r7 145 0038 0600000A beq .L5 61:board/compal/readcal_common.c **** break; 62:board/compal/readcal_common.c **** if (hdr->native_len > hdr->rounded_len) { 146 .loc 1 62 3 is_stmt 1 view .LVU34 147 .loc 1 62 10 is_stmt 0 view .LVU35 148 003c B430D4E1 ldrh r3, [r4, #4] 149 .loc 1 62 28 view .LVU36 150 0040 B620D4E1 ldrh r2, [r4, #6] 151 .loc 1 62 6 view .LVU37 152 0044 020053E1 cmp r3, r2 153 0048 0400009A bls .L8 63:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": native length " 154 .loc 1 63 4 is_stmt 1 view .LVU38 155 004c 0410A0E1 mov r1, r4 156 0050 38019FE5 ldr r0, .L22+8 157 .L21: 64:board/compal/readcal_common.c **** "> rounded length\n", (uint32_t) p); 65:board/compal/readcal_common.c **** return; 66:board/compal/readcal_common.c **** } 67:board/compal/readcal_common.c **** if (hdr->rounded_len & 3) { 68:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": rounded length " 69:board/compal/readcal_common.c **** "is not aligned to 4\n", (uint32_t) p); 70:board/compal/readcal_common.c **** return; 71:board/compal/readcal_common.c **** } 72:board/compal/readcal_common.c **** p_incr = hdr->rounded_len + 8; 73:board/compal/readcal_common.c **** if (p_incr > (sector_end - p)) { 74:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": rounded length " 158 .loc 1 74 4 is_stmt 0 view .LVU39 159 0054 FEFFFFEB bl printf 160 .LVL10: 75:board/compal/readcal_common.c **** "spills past the end of the sector\n", (uint32_t) p); 76:board/compal/readcal_common.c **** return; 161 .loc 1 76 4 is_stmt 1 view .LVU40 162 .L5: 77:board/compal/readcal_common.c **** } 78:board/compal/readcal_common.c **** if (hdr->valid_flag != 0x000C) 79:board/compal/readcal_common.c **** continue; 80:board/compal/readcal_common.c **** payload = (void *)(hdr + 1); 81:board/compal/readcal_common.c **** switch (hdr->type) { 82:board/compal/readcal_common.c **** case 0x0000: 83:board/compal/readcal_common.c **** if (hdr->native_len != 0x94) 84:board/compal/readcal_common.c **** break; 85:board/compal/readcal_common.c **** if (*(uint32_t *)(payload + 0x5C) != 0xAA) 86:board/compal/readcal_common.c **** break; 87:board/compal/readcal_common.c **** printf("Found 900 MHz band calibration record at " 88:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 89:board/compal/readcal_common.c **** apply_levels(rf_tx_levels_900, payload + 0x60, 5, 15); 90:board/compal/readcal_common.c **** break; 91:board/compal/readcal_common.c **** case 0x0001: 92:board/compal/readcal_common.c **** if (hdr->native_len != 0xC8) 93:board/compal/readcal_common.c **** break; 94:board/compal/readcal_common.c **** if (*(uint32_t *)(payload + 0x7C) != 0xAA) 95:board/compal/readcal_common.c **** break; 96:board/compal/readcal_common.c **** printf("Found 1800 MHz band calibration record at " 97:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 98:board/compal/readcal_common.c **** apply_levels(rf_tx_levels_1800, payload + 0x80, 0, 16); 99:board/compal/readcal_common.c **** break; 100:board/compal/readcal_common.c **** case 0x0002: 101:board/compal/readcal_common.c **** if (hdr->native_len != 0xB4) 102:board/compal/readcal_common.c **** break; 103:board/compal/readcal_common.c **** if (*(uint32_t *)(payload + 0x70) != 0xAA) 104:board/compal/readcal_common.c **** break; 105:board/compal/readcal_common.c **** printf("Found 1900 MHz band calibration record at " 106:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 107:board/compal/readcal_common.c **** apply_levels(rf_tx_levels_1900, payload + 0x74, 0, 16); 108:board/compal/readcal_common.c **** break; 109:board/compal/readcal_common.c **** case 0x0018: 110:board/compal/readcal_common.c **** if (hdr->native_len != 0x88) 111:board/compal/readcal_common.c **** break; 112:board/compal/readcal_common.c **** if (*(uint32_t *)(payload + 0x54) != 0xAA) 113:board/compal/readcal_common.c **** break; 114:board/compal/readcal_common.c **** printf("Found 850 MHz band calibration record at " 115:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 116:board/compal/readcal_common.c **** apply_levels(rf_tx_levels_850, payload + 0x58, 5, 15); 117:board/compal/readcal_common.c **** break; 118:board/compal/readcal_common.c **** } 119:board/compal/readcal_common.c **** } 120:board/compal/readcal_common.c **** } 163 .loc 1 120 1 is_stmt 0 view .LVU41 164 0058 F041BDE8 pop {r4, r5, r6, r7, r8, lr} 165 .LCFI1: 166 .cfi_remember_state 167 .cfi_restore 14 168 .cfi_restore 8 169 .cfi_restore 7 170 .cfi_restore 6 171 .cfi_restore 5 172 .cfi_restore 4 173 .cfi_def_cfa_offset 0 174 .LVL11: 175 .loc 1 120 1 view .LVU42 176 005c 1EFF2FE1 bx lr 177 .LVL12: 178 .L8: 179 .LCFI2: 180 .cfi_restore_state 67:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": rounded length " 181 .loc 1 67 3 is_stmt 1 view .LVU43 67:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": rounded length " 182 .loc 1 67 6 is_stmt 0 view .LVU44 183 0060 030012E3 tst r2, #3 68:board/compal/readcal_common.c **** "is not aligned to 4\n", (uint32_t) p); 184 .loc 1 68 4 is_stmt 1 view .LVU45 185 0064 0410A011 movne r1, r4 186 0068 24019F15 ldrne r0, .L22+12 187 006c F8FFFF1A bne .L21 188 .L9: 72:board/compal/readcal_common.c **** if (p_incr > (sector_end - p)) { 189 .loc 1 72 3 view .LVU46 72:board/compal/readcal_common.c **** if (p_incr > (sector_end - p)) { 190 .loc 1 72 29 is_stmt 0 view .LVU47 191 0070 085082E2 add r5, r2, #8 192 .LVL13: 73:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": rounded length " 193 .loc 1 73 3 is_stmt 1 view .LVU48 73:board/compal/readcal_common.c **** printf("Bad record at 0x%" PRIx32 ": rounded length " 194 .loc 1 73 6 is_stmt 0 view .LVU49 195 0074 050050E1 cmp r0, r5 74:board/compal/readcal_common.c **** "spills past the end of the sector\n", (uint32_t) p); 196 .loc 1 74 4 is_stmt 1 view .LVU50 197 0078 0410A031 movcc r1, r4 198 007c 14019F35 ldrcc r0, .L22+16 199 0080 F3FFFF3A bcc .L21 200 .L10: 78:board/compal/readcal_common.c **** continue; 201 .loc 1 78 3 view .LVU51 78:board/compal/readcal_common.c **** continue; 202 .loc 1 78 6 is_stmt 0 view .LVU52 203 0084 0C0051E3 cmp r1, #12 204 0088 1500001A bne .L11 80:board/compal/readcal_common.c **** switch (hdr->type) { 205 .loc 1 80 3 is_stmt 1 view .LVU53 206 .LVL14: 81:board/compal/readcal_common.c **** case 0x0000: 207 .loc 1 81 3 view .LVU54 81:board/compal/readcal_common.c **** case 0x0000: 208 .loc 1 81 14 is_stmt 0 view .LVU55 209 008c B220D4E1 ldrh r2, [r4, #2] 81:board/compal/readcal_common.c **** case 0x0000: 210 .loc 1 81 3 view .LVU56 211 0090 020052E3 cmp r2, #2 212 0094 2100000A beq .L12 213 0098 0F00008A bhi .L13 214 009c 000052E3 cmp r2, #0 215 00a0 1100001A bne .L18 83:board/compal/readcal_common.c **** break; 216 .loc 1 83 4 is_stmt 1 view .LVU57 83:board/compal/readcal_common.c **** break; 217 .loc 1 83 7 is_stmt 0 view .LVU58 218 00a4 940053E3 cmp r3, #148 219 00a8 0D00001A bne .L11 85:board/compal/readcal_common.c **** break; 220 .loc 1 85 4 is_stmt 1 view .LVU59 85:board/compal/readcal_common.c **** break; 221 .loc 1 85 7 is_stmt 0 view .LVU60 222 00ac 643094E5 ldr r3, [r4, #100] 223 00b0 AA0053E3 cmp r3, #170 224 00b4 0A00001A bne .L11 87:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 225 .loc 1 87 4 is_stmt 1 view .LVU61 226 00b8 0410A0E1 mov r1, r4 227 00bc D8009FE5 ldr r0, .L22+20 228 00c0 FEFFFFEB bl printf 229 .LVL15: 89:board/compal/readcal_common.c **** break; 230 .loc 1 89 4 view .LVU62 231 00c4 0F30A0E3 mov r3, #15 232 00c8 0520A0E3 mov r2, #5 233 00cc CC009FE5 ldr r0, .L22+24 234 00d0 681084E2 add r1, r4, #104 235 .L20: 116:board/compal/readcal_common.c **** break; 236 .loc 1 116 4 is_stmt 0 view .LVU63 237 00d4 FEFFFFEB bl apply_levels 238 .LVL16: 117:board/compal/readcal_common.c **** } 239 .loc 1 117 4 is_stmt 1 view .LVU64 240 00d8 010000EA b .L11 241 .L13: 81:board/compal/readcal_common.c **** case 0x0000: 242 .loc 1 81 3 is_stmt 0 view .LVU65 243 00dc 180052E3 cmp r2, #24 244 00e0 1B00000A beq .L16 245 .LVL17: 246 .L11: 56:board/compal/readcal_common.c **** if ((sector_end - p) < 12) 247 .loc 1 56 27 is_stmt 1 view .LVU66 248 00e4 054084E0 add r4, r4, r5 249 .LVL18: 56:board/compal/readcal_common.c **** if ((sector_end - p) < 12) 250 .loc 1 56 27 is_stmt 0 view .LVU67 251 00e8 CBFFFFEA b .L6 252 .LVL19: 253 .L18: 92:board/compal/readcal_common.c **** break; 254 .loc 1 92 4 is_stmt 1 view .LVU68 92:board/compal/readcal_common.c **** break; 255 .loc 1 92 7 is_stmt 0 view .LVU69 256 00ec C80053E3 cmp r3, #200 257 00f0 FBFFFF1A bne .L11 94:board/compal/readcal_common.c **** break; 258 .loc 1 94 4 is_stmt 1 view .LVU70 94:board/compal/readcal_common.c **** break; 259 .loc 1 94 7 is_stmt 0 view .LVU71 260 00f4 843094E5 ldr r3, [r4, #132] 261 00f8 AA0053E3 cmp r3, #170 262 00fc F8FFFF1A bne .L11 96:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 263 .loc 1 96 4 is_stmt 1 view .LVU72 264 0100 0410A0E1 mov r1, r4 265 0104 98009FE5 ldr r0, .L22+28 266 0108 FEFFFFEB bl printf 267 .LVL20: 98:board/compal/readcal_common.c **** break; 268 .loc 1 98 4 view .LVU73 269 010c 1030A0E3 mov r3, #16 270 0110 0020A0E3 mov r2, #0 271 0114 8C009FE5 ldr r0, .L22+32 272 0118 881084E2 add r1, r4, #136 273 011c ECFFFFEA b .L20 274 .L12: 101:board/compal/readcal_common.c **** break; 275 .loc 1 101 4 view .LVU74 101:board/compal/readcal_common.c **** break; 276 .loc 1 101 7 is_stmt 0 view .LVU75 277 0120 B40053E3 cmp r3, #180 278 0124 EEFFFF1A bne .L11 103:board/compal/readcal_common.c **** break; 279 .loc 1 103 4 is_stmt 1 view .LVU76 103:board/compal/readcal_common.c **** break; 280 .loc 1 103 7 is_stmt 0 view .LVU77 281 0128 783094E5 ldr r3, [r4, #120] 282 012c AA0053E3 cmp r3, #170 283 0130 EBFFFF1A bne .L11 105:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 284 .loc 1 105 4 is_stmt 1 view .LVU78 285 0134 0410A0E1 mov r1, r4 286 0138 6C009FE5 ldr r0, .L22+36 287 013c FEFFFFEB bl printf 288 .LVL21: 107:board/compal/readcal_common.c **** break; 289 .loc 1 107 4 view .LVU79 290 0140 1030A0E3 mov r3, #16 291 0144 0020A0E3 mov r2, #0 292 0148 60009FE5 ldr r0, .L22+40 293 014c 7C1084E2 add r1, r4, #124 294 0150 DFFFFFEA b .L20 295 .L16: 110:board/compal/readcal_common.c **** break; 296 .loc 1 110 4 view .LVU80 110:board/compal/readcal_common.c **** break; 297 .loc 1 110 7 is_stmt 0 view .LVU81 298 0154 880053E3 cmp r3, #136 299 0158 E1FFFF1A bne .L11 112:board/compal/readcal_common.c **** break; 300 .loc 1 112 4 is_stmt 1 view .LVU82 112:board/compal/readcal_common.c **** break; 301 .loc 1 112 7 is_stmt 0 view .LVU83 302 015c 5C3094E5 ldr r3, [r4, #92] 303 0160 AA0053E3 cmp r3, #170 304 0164 DEFFFF1A bne .L11 114:board/compal/readcal_common.c **** "0x%" PRIx32 ", applying\n", (uint32_t) p); 305 .loc 1 114 4 is_stmt 1 view .LVU84 306 0168 0410A0E1 mov r1, r4 307 016c 40009FE5 ldr r0, .L22+44 308 0170 FEFFFFEB bl printf 309 .LVL22: 116:board/compal/readcal_common.c **** break; 310 .loc 1 116 4 view .LVU85 311 0174 0F30A0E3 mov r3, #15 312 0178 0520A0E3 mov r2, #5 313 017c 34009FE5 ldr r0, .L22+48 314 0180 601084E2 add r1, r4, #96 315 0184 D2FFFFEA b .L20 316 .L23: 317 .align 2 318 .L22: 319 0188 00000000 .word .LC0 320 018c FFFF0000 .word 65535 321 0190 2B000000 .word .LC1 322 0194 60000000 .word .LC2 323 0198 99000000 .word .LC3 324 019c E0000000 .word .LC4 325 01a0 00000000 .word rf_tx_levels_900 326 01a4 1A010000 .word .LC5 327 01a8 00000000 .word rf_tx_levels_1800 328 01ac 55010000 .word .LC6 329 01b0 00000000 .word rf_tx_levels_1900 330 01b4 90010000 .word .LC7 331 01b8 00000000 .word rf_tx_levels_850 332 .cfi_endproc 333 .LFE1: 335 .text 336 .Letext0: 337 .file 2 "/usr/include/newlib/machine/_default_types.h" 338 .file 3 "/usr/include/newlib/sys/_stdint.h" 339 .file 4 "include/rf/txcal.h" 340 .file 5 "include/stdio.h" DEFINED SYMBOLS *ABS*:00000000 readcal_common.c /tmp/ccFUGmLr.s:19 .text.apply_levels:00000000 $a /tmp/ccFUGmLr.s:23 .text.apply_levels:00000000 apply_levels /tmp/ccFUGmLr.s:82 .text.read_compal_factory_records:00000000 $a /tmp/ccFUGmLr.s:87 .text.read_compal_factory_records:00000000 read_compal_factory_records /tmp/ccFUGmLr.s:319 .text.read_compal_factory_records:00000188 $d UNDEFINED SYMBOLS printf rf_tx_levels_900 rf_tx_levels_1800 rf_tx_levels_1900 rf_tx_levels_850