| /* |
| * Copyright (C) 2018 Synaptics Incorporated. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| * |
| * INFORMATION CONTAINED IN THIS DOCUMENT IS PROVIDED "AS-IS," AND |
| * SYNAPTICS EXPRESSLY DISCLAIMS ALL EXPRESS AND IMPLIED WARRANTIES, |
| * INCLUDING ANY IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR |
| * A PARTICULAR PURPOSE, AND ANY WARRANTIES OF NON-INFRINGEMENT OF ANY |
| * INTELLECTUAL PROPERTY RIGHTS. IN NO EVENT SHALL SYNAPTICS BE LIABLE |
| * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, PUNITIVE, OR |
| * CONSEQUENTIAL DAMAGES ARISING OUT OF OR IN CONNECTION WITH THE USE |
| * OF THE INFORMATION CONTAINED IN THIS DOCUMENT, HOWEVER CAUSED AND |
| * BASED ON ANY THEORY OF LIABILITY, WHETHER IN AN ACTION OF CONTRACT, |
| * NEGLIGENCE OR OTHER TORTIOUS ACTION, AND EVEN IF SYNAPTICS WAS |
| * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. IF A TRIBUNAL OF |
| * COMPETENT JURISDICTION DOES NOT PERMIT THE DISCLAIMER OF DIRECT |
| * DAMAGES OR ANY OTHER DAMAGES, SYNAPTICS' TOTAL CUMULATIVE LIABILITY |
| * TO ANY PARTY SHALL NOT EXCEED ONE HUNDRED U.S. DOLLARS. |
| */ |
| |
| /* |
| * bootloader memory layout: |
| * 0x00100000 - 0x0017C000 496kB vt, drm_img, custkey, bootloader preloaded buffer |
| * 0x0017C000 - 0x00180000 16kB 16kB for level 1 translation table base |
| * 0x00180000 - 0x004C0000 3328kB code, rodata, data, bss, heap |
| * 0x004C0000 - 0x00500000 256kB stack |
| * |
| *******************************************************************************/ |
| |
| OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") |
| OUTPUT_ARCH(arm) |
| ENTRY(BootLoaderEntry) |
| SECTIONS |
| { |
| . = 0x1100000 - 0x10000; |
| __usb_console_buf_start = .; |
| |
| . = 0x1100000; |
| __usb_console_buf_end = .; |
| |
| . = 0x01600000; |
| __preload_buf_start = .; |
| |
| . = 0x01680000 - 0x4000; |
| . = ALIGN(0x4000); |
| __ttb_base_start = .; |
| |
| . = 0x01680000; |
| . = ALIGN(4); |
| .text : |
| { |
| *(.text) |
| } |
| |
| .rodata : |
| { |
| *(.rodata) |
| } |
| |
| . = ALIGN(4); |
| .data : |
| { |
| *(.data) |
| } |
| __exidx_start = .; |
| .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) } |
| __exidx_end = .; |
| |
| . = ALIGN(4); |
| .bss : |
| { |
| *(.bss) |
| } |
| |
| . = ALIGN(8); |
| __heap_start = .; |
| |
| . = 0x01A00000 - 0x00040000; |
| __heap_end = .; |
| |
| . = 0x01A00000; |
| . = ALIGN(8); |
| __stack_start = .; |
| |
| } |