| /* |
| * Copyright (C) 2014 Nest labs, Inc. |
| * |
| * See file CREDITS for list of people who contributed to this |
| * project. |
| * |
| * This program is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU General Public License as |
| * published by the Free Software Foundation; either version 2 of |
| * the License, or (at your option) any later version. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| */ |
| |
| #include <config.h> |
| |
| #define ROM_API_TABLE_BASE_ADDR 0x180 |
| #define ROM_API_HWCNFG_SETUP_OFFSET 0x08 |
| |
| /* DDR script */ |
| .macro imx6sx_sabresd_ddr_setting |
| ldr r0, =IOMUXC_BASE_ADDR |
| ldr r1, =0x000c0000 |
| str r1, [r0, #0x618] |
| ldr r1, =0x00000000 |
| str r1, [r0, #0x5fc] |
| ldr r1, =0x00000030 |
| str r1, [r0, #0x32c] |
| |
| ldr r1, =0x00000030 |
| str r1, [r0, #0x300] |
| str r1, [r0, #0x2fc] |
| str r1, [r0, #0x5f4] |
| str r1, [r0, #0x340] |
| |
| ldr r1, =0x00000000 |
| str r1, [r0, #0x320] |
| ldr r1, =0x00000030 |
| str r1, [r0, #0x310] |
| str r1, [r0, #0x314] |
| str r1, [r0, #0x614] |
| |
| ldr r1, =0x00020000 |
| str r1, [r0, #0x5f8] |
| ldr r1, =0x00000030 |
| str r1, [r0, #0x330] |
| str r1, [r0, #0x334] |
| str r1, [r0, #0x338] |
| str r1, [r0, #0x33c] |
| ldr r1, =0x00020000 |
| str r1, [r0, #0x608] |
| ldr r1, =0x00000030 |
| str r1, [r0, #0x60c] |
| str r1, [r0, #0x610] |
| str r1, [r0, #0x61c] |
| str r1, [r0, #0x620] |
| str r1, [r0, #0x2ec] |
| str r1, [r0, #0x2f0] |
| str r1, [r0, #0x2f4] |
| str r1, [r0, #0x2f8] |
| |
| ldr r0, =MMDC_P0_BASE_ADDR |
| ldr r2, =0xa1390003 |
| str r2, [r0, #0x800] |
| ldr r2, =0x00270025 |
| str r2, [r0, #0x80c] |
| ldr r2, =0x001B001E |
| str r2, [r0, #0x810] |
| ldr r2, =0x4144013C |
| str r2, [r0, #0x83c] |
| ldr r2, =0x01300128 |
| str r2, [r0, #0x840] |
| ldr r2, =0x4044464A |
| str r2, [r0, #0x848] |
| ldr r2, =0x3A383C34 |
| str r2, [r0, #0x850] |
| |
| ldr r2, =0x33333333 |
| str r2, [r0, #0x81c] |
| str r2, [r0, #0x820] |
| str r2, [r0, #0x824] |
| str r2, [r0, #0x828] |
| |
| ldr r2, =0x00000800 |
| str r2, [r0, #0x8b8] |
| ldr r2, =0x0002002d |
| str r2, [r0, #0x004] |
| ldr r2, =0x00333030 |
| str r2, [r0, #0x008] |
| ldr r2, =0x676b52f3 |
| str r2, [r0, #0x00c] |
| ldr r2, =0xb66d8b63 |
| str r2, [r0, #0x010] |
| ldr r2, =0x01ff00db |
| str r2, [r0, #0x014] |
| ldr r2, =0x00011740 |
| str r2, [r0, #0x018] |
| ldr r2, =0x00008000 |
| str r2, [r0, #0x01c] |
| ldr r2, =0x000026d2 |
| str r2, [r0, #0x02c] |
| ldr r2, =0x006b1023 |
| str r2, [r0, #0x030] |
| ldr r2, =0x0000005f |
| str r2, [r0, #0x040] |
| ldr r2, =0x84190000 |
| str r2, [r0, #0x000] |
| ldr r2, =0x04008032 |
| str r2, [r0, #0x01c] |
| ldr r2, =0x00008033 |
| str r2, [r0, #0x01c] |
| ldr r2, =0x00068031 |
| str r2, [r0, #0x01c] |
| ldr r2, =0x05208030 |
| str r2, [r0, #0x01c] |
| ldr r2, =0x04008040 |
| str r2, [r0, #0x01c] |
| ldr r2, =0x00000800 |
| str r2, [r0, #0x020] |
| ldr r2, =0x00011117 |
| str r2, [r0, #0x818] |
| ldr r2, =0x00000000 |
| str r2, [r0, #0x01c] |
| |
| ldr r2, =0x41400138 |
| str r2, [r0, #0x83c] |
| ldr r2, =0x012C011C |
| str r2, [r0, #0x840] |
| ldr r2, =0x3C3C4044 |
| str r2, [r0, #0x848] |
| ldr r2, =0x34343638 |
| str r2, [r0, #0x850] |
| .endm |
| .macro imx6_clock_gating |
| ldr r0, =CCM_BASE_ADDR |
| ldr r1, =0xffffffff |
| str r1, [r0, #0x068] |
| str r1, [r0, #0x06c] |
| str r1, [r0, #0x070] |
| str r1, [r0, #0x074] |
| str r1, [r0, #0x078] |
| str r1, [r0, #0x07c] |
| str r1, [r0, #0x080] |
| str r1, [r0, #0x084] |
| .endm |
| |
| .macro imx6_qos_setting |
| .endm |
| |
| .macro imx6_ddr_setting |
| imx6sx_sabresd_ddr_setting |
| .endm |
| |
| /* include the common plugin code here */ |
| #include <asm/arch/mx6_plugin.S> |