| /* |
| * Copyright (C) 2014-2016 Freescale Semiconductor, Inc. |
| * Jason Liu <r64343@freescale.com> |
| * |
| * SPDX-License-Identifier: GPL-2.0+ |
| * |
| * Refer docs/README.imxmage for more details about how-to configure |
| * and create imximage boot image |
| * |
| * The syntax is taken as close as possible with the kwbimage |
| */ |
| |
| #define __ASSEMBLY__ |
| #include <config.h> |
| |
| /* image version */ |
| |
| IMAGE_VERSION 2 |
| |
| /* |
| * Boot Device : one of spi, sd, eimnor, nand, sata: |
| * spinor: flash_offset: 0x0400 |
| * nand: flash_offset: 0x0400 |
| * sata: flash_offset: 0x0400 |
| * sd/mmc: flash_offset: 0x0400 |
| * eimnor: flash_offset: 0x1000 |
| */ |
| |
| #if defined(CONFIG_NOR_BOOT) |
| BOOT_FROM nor |
| #else /* others has the same flash_offset as sd */ |
| BOOT_FROM sd |
| #endif |
| |
| #ifdef CONFIG_USE_IMXIMG_PLUGIN |
| /*PLUGIN plugin-binary-file IRAM_FREE_START_ADDR*/ |
| PLUGIN board/freescale/mx6sabreauto/plugin.bin 0x00907000 |
| #else |
| |
| #ifdef CONFIG_SECURE_BOOT |
| CSF CONFIG_CSF_SIZE |
| #endif |
| |
| /* |
| * Device Configuration Data (DCD) |
| * |
| * Each entry must have the format: |
| * Addr-type Address Value |
| * |
| * where: |
| * Addr-type register length (1,2 or 4 bytes) |
| * Address absolute address of the register |
| * value value to be stored in the register |
| */ |
| #ifdef CONFIG_IMX_OPTEE |
| SET_BIT 4 0x20c4070 0x3c00000 |
| DATA 4 0x20e0024 0x00000003 |
| CHECK_BITS_SET 4 0x20e0024 0x3 |
| #endif |
| DATA 4, 0x020e0774, 0x000C0000 |
| DATA 4, 0x020e0754, 0x00000000 |
| DATA 4, 0x020e04ac, 0x00000030 |
| DATA 4, 0x020e04b0, 0x00000030 |
| DATA 4, 0x020e0464, 0x00000030 |
| DATA 4, 0x020e0490, 0x00000030 |
| DATA 4, 0x020e074c, 0x00000030 |
| DATA 4, 0x020e0494, 0x00000030 |
| DATA 4, 0x020e04a0, 0x00000000 |
| DATA 4, 0x020e04b4, 0x00000030 |
| DATA 4, 0x020e04b8, 0x00000030 |
| DATA 4, 0x020e076c, 0x00000030 |
| DATA 4, 0x020e0750, 0x00020000 |
| DATA 4, 0x020e04bc, 0x00000028 |
| DATA 4, 0x020e04c0, 0x00000028 |
| DATA 4, 0x020e04c4, 0x00000028 |
| DATA 4, 0x020e04c8, 0x00000028 |
| DATA 4, 0x020e0760, 0x00020000 |
| DATA 4, 0x020e0764, 0x00000028 |
| DATA 4, 0x020e0770, 0x00000028 |
| DATA 4, 0x020e0778, 0x00000028 |
| DATA 4, 0x020e077c, 0x00000028 |
| DATA 4, 0x020e0470, 0x00000028 |
| DATA 4, 0x020e0474, 0x00000028 |
| DATA 4, 0x020e0478, 0x00000028 |
| DATA 4, 0x020e047c, 0x00000028 |
| DATA 4, 0x021b0800, 0xa1390003 |
| DATA 4, 0x021b080c, 0x001F001F |
| DATA 4, 0x021b0810, 0x001F001F |
| DATA 4, 0x021b083c, 0x421C0216 |
| DATA 4, 0x021b0840, 0x017B017A |
| DATA 4, 0x021b0848, 0x4B4A4E4C |
| DATA 4, 0x021b0850, 0x3F3F3334 |
| DATA 4, 0x021b081c, 0x33333333 |
| DATA 4, 0x021b0820, 0x33333333 |
| DATA 4, 0x021b0824, 0x33333333 |
| DATA 4, 0x021b0828, 0x33333333 |
| DATA 4, 0x021b08b8, 0x00000800 |
| DATA 4, 0x021b0004, 0x00020025 |
| DATA 4, 0x021b0008, 0x00333030 |
| DATA 4, 0x021b000c, 0x676B5313 |
| DATA 4, 0x021b0010, 0xB66E8B63 |
| DATA 4, 0x021b0014, 0x01FF00DB |
| DATA 4, 0x021b0018, 0x00001740 |
| DATA 4, 0x021b001c, 0x00008000 |
| DATA 4, 0x021b002c, 0x000026d2 |
| DATA 4, 0x021b0030, 0x006B1023 |
| DATA 4, 0x021b0040, 0x00000027 |
| DATA 4, 0x021b0000, 0x84190000 |
| DATA 4, 0x021b001c, 0x04008032 |
| DATA 4, 0x021b001c, 0x00008033 |
| DATA 4, 0x021b001c, 0x00048031 |
| DATA 4, 0x021b001c, 0x05208030 |
| DATA 4, 0x021b001c, 0x04008040 |
| DATA 4, 0x021b0020, 0x00005800 |
| DATA 4, 0x021b0818, 0x00011117 |
| DATA 4, 0x021b0004, 0x00025565 |
| DATA 4, 0x021b0404, 0x00011006 |
| DATA 4, 0x021b001c, 0x00000000 |
| |
| /* set the default clock gate to save power */ |
| DATA 4, 0x020c4068, 0x00C03F3F |
| DATA 4, 0x020c406c, 0x0030FC03 |
| DATA 4, 0x020c4070, 0x0FFFF000 |
| DATA 4, 0x020c4074, 0x3FF00000 |
| DATA 4, 0x020c4078, 0xFFFFF300 |
| DATA 4, 0x020c407c, 0x0F0000C3 |
| DATA 4, 0x020c4080, 0x00000FFF |
| |
| /* enable AXI cache for VDOA/VPU/IPU */ |
| DATA 4, 0x020e0010, 0xF00000CF |
| /* set IPU AXI-id0 Qos=0xf(bypass) AXI-id1 Qos=0x7 */ |
| DATA 4, 0x020e0018, 0x007F007F |
| DATA 4, 0x020e001c, 0x007F007F |
| #endif |