/* * Copyright (C) 2012-2015 Freescale Semiconductor, Inc. * * SPDX-License-Identifier: GPL-2.0+ */ #include /* DDR script */ .macro imx6dqpsabreauto_ddr_setting ldr r0, =IOMUXC_BASE_ADDR ldr r1, =0x000c0000 str r1, [r0, #0x798] ldr r1, =0x00000000 str r1, [r0, #0x758] ldr r1, =0x00000030 str r1, [r0, #0x588] str r1, [r0, #0x594] str r1, [r0, #0x56c] str r1, [r0, #0x578] str r1, [r0, #0x74c] str r1, [r0, #0x57c] ldr r1, =0x00000000 str r1, [r0, #0x58c] ldr r1, =0x00000030 str r1, [r0, #0x59c] str r1, [r0, #0x5a0] str r1, [r0, #0x78c] ldr r1, =0x00020000 str r1, [r0, #0x750] ldr r1, =0x00000030 str r1, [r0, #0x5a8] str r1, [r0, #0x5b0] str r1, [r0, #0x524] str r1, [r0, #0x51c] str r1, [r0, #0x518] str r1, [r0, #0x50c] str r1, [r0, #0x5b8] str r1, [r0, #0x5c0] ldr r1, =0x00020000 str r1, [r0, #0x774] ldr r1, =0x00000030 str r1, [r0, #0x784] str r1, [r0, #0x788] str r1, [r0, #0x794] str r1, [r0, #0x79c] str r1, [r0, #0x7a0] str r1, [r0, #0x7a4] str r1, [r0, #0x7a8] str r1, [r0, #0x748] str r1, [r0, #0x5ac] str r1, [r0, #0x5b4] str r1, [r0, #0x528] str r1, [r0, #0x520] str r1, [r0, #0x514] str r1, [r0, #0x510] str r1, [r0, #0x5bc] str r1, [r0, #0x5c4] ldr r0, =MMDC_P0_BASE_ADDR ldr r2, =0xa1390003 str r2, [r0, #0x800] ldr r2, =0x001b001e str r2, [r0, #0x80c] ldr r2, =0x002e0029 str r2, [r0, #0x810] ldr r1, =MMDC_P1_BASE_ADDR ldr r2, =0x001b002a str r2, [r1, #0x80c] ldr r2, =0x0019002c str r2, [r1, #0x810] ldr r2, =0x43240334 str r2, [r0, #0x83c] ldr r2, =0x0324031a str r2, [r0, #0x840] ldr r2, =0x43340344 str r2, [r1, #0x83c] ldr r2, =0x03280276 str r2, [r1, #0x840] ldr r2, =0x44383A3E str r2, [r0, #0x848] ldr r2, =0x3C3C3846 str r2, [r1, #0x848] ldr r2, =0x2e303230 str r2, [r0, #0x850] ldr r2, =0x38283E34 str r2, [r1, #0x850] ldr r2, =0x33333333 str r2, [r0, #0x81c] str r2, [r0, #0x820] str r2, [r0, #0x824] str r2, [r0, #0x828] str r2, [r1, #0x81c] str r2, [r1, #0x820] str r2, [r1, #0x824] str r2, [r1, #0x828] ldr r2, =0x24912249 str r2, [r0, #0x8c0] ldr r2, =0x24914289 str r2, [r1, #0x8c0] ldr r2, =0x00000800 str r2, [r0, #0x8b8] str r2, [r1, #0x8b8] ldr r2, =0x00020036 str r2, [r0, #0x004] ldr r2, =0x24444040 str r2, [r0, #0x008] ldr r2, =0x898E7955 str r2, [r0, #0x00c] ldr r2, =0xFF320F64 str r2, [r0, #0x010] ldr r2, =0x01FF00DB str r2, [r0, #0x014] ldr r2, =0x00001740 str r2, [r0, #0x018] ldr r2, =0x00008000 str r2, [r0, #0x01c] ldr r2, =0x000026d2 str r2, [r0, #0x02c] ldr r2, =0x008E1023 str r2, [r0, #0x030] ldr r2, =0x00000047 str r2, [r0, #0x040] ldr r2, =0x14420000 str r2, [r0, #0x400] ldr r2, =0x841A0000 str r2, [r0, #0x000] ldr r2, =0x00400C58 str r2, [r0, #0x890] ldr r3, =0x00bb0000 ldr r2, =0x00000000 str r2, [r3, #0x008] ldr r2, =0x2891E41A str r2, [r3, #0x00c] ldr r2, =0x00000564 str r2, [r3, #0x038] ldr r2, =0x00000040 str r2, [r3, #0x014] ldr r2, =0x00000020 str r2, [r3, #0x028] str r2, [r3, #0x02c] ldr r2, =0x04088032 str r2, [r0, #0x01c] ldr r2, =0x00008033 str r2, [r0, #0x01c] ldr r2, =0x00048031 str r2, [r0, #0x01c] ldr r2, =0x09408030 str r2, [r0, #0x01c] ldr r2, =0x04008040 str r2, [r0, #0x01c] ldr r2, =0x00005800 str r2, [r0, #0x020] ldr r2, =0x00011117 str r2, [r0, #0x818] str r2, [r1, #0x818] ldr r2, =0x00025576 str r2, [r0, #0x004] ldr r2, =0x00011006 str r2, [r0, #0x404] ldr r2, =0x00000000 str r2, [r0, #0x01c] .endm .macro imx6dqsabreauto_ddr_setting ldr r0, =IOMUXC_BASE_ADDR ldr r1, =0x000c0000 str r1, [r0, #0x798] ldr r1, =0x00000000 str r1, [r0, #0x758] ldr r1, =0x00000030 str r1, [r0, #0x588] str r1, [r0, #0x594] str r1, [r0, #0x56c] str r1, [r0, #0x578] str r1, [r0, #0x74c] str r1, [r0, #0x57c] ldr r1, =0x00000000 str r1, [r0, #0x58c] ldr r1, =0x00000030 str r1, [r0, #0x59c] str r1, [r0, #0x5a0] str r1, [r0, #0x78c] ldr r1, =0x00020000 str r1, [r0, #0x750] ldr r1, =0x00000028 str r1, [r0, #0x5a8] str r1, [r0, #0x5b0] str r1, [r0, #0x524] str r1, [r0, #0x51c] str r1, [r0, #0x518] str r1, [r0, #0x50c] str r1, [r0, #0x5b8] str r1, [r0, #0x5c0] ldr r1, =0x00020000 str r1, [r0, #0x774] ldr r1, =0x00000028 str r1, [r0, #0x784] str r1, [r0, #0x788] str r1, [r0, #0x794] str r1, [r0, #0x79c] str r1, [r0, #0x7a0] str r1, [r0, #0x7a4] str r1, [r0, #0x7a8] str r1, [r0, #0x748] str r1, [r0, #0x5ac] str r1, [r0, #0x5b4] str r1, [r0, #0x528] str r1, [r0, #0x520] str r1, [r0, #0x514] str r1, [r0, #0x510] str r1, [r0, #0x5bc] str r1, [r0, #0x5c4] ldr r0, =MMDC_P0_BASE_ADDR ldr r2, =0xa1390003 str r2, [r0, #0x800] ldr r2, =0x001F001F str r2, [r0, #0x80c] str r2, [r0, #0x810] ldr r1, =MMDC_P1_BASE_ADDR str r2, [r1, #0x80c] str r2, [r1, #0x810] ldr r2, =0x43260335 str r2, [r0, #0x83c] ldr r2, =0x031A030B str r2, [r0, #0x840] ldr r2, =0x4323033B str r2, [r1, #0x83c] ldr r2, =0x0323026F str r2, [r1, #0x840] ldr r2, =0x483D4545 str r2, [r0, #0x848] ldr r2, =0x44433E48 str r2, [r1, #0x848] ldr r2, =0x41444840 str r2, [r0, #0x850] ldr r2, =0x4835483E str r2, [r1, #0x850] ldr r2, =0x33333333 str r2, [r0, #0x81c] str r2, [r0, #0x820] str r2, [r0, #0x824] str r2, [r0, #0x828] str r2, [r1, #0x81c] str r2, [r1, #0x820] str r2, [r1, #0x824] str r2, [r1, #0x828] ldr r2, =0x00000800 str r2, [r0, #0x8b8] str r2, [r1, #0x8b8] ldr r2, =0x00020036 str r2, [r0, #0x004] ldr r2, =0x09444040 str r2, [r0, #0x008] ldr r2, =0x8A8F7955 str r2, [r0, #0x00c] ldr r2, =0xFF328F64 str r2, [r0, #0x010] ldr r2, =0x01FF00DB str r2, [r0, #0x014] ldr r2, =0x00001740 str r2, [r0, #0x018] ldr r2, =0x00008000 str r2, [r0, #0x01c] ldr r2, =0x000026d2 str r2, [r0, #0x02c] ldr r2, =0x008F1023 str r2, [r0, #0x030] ldr r2, =0x00000047 str r2, [r0, #0x040] ldr r2, =0x841A0000 str r2, [r0, #0x000] ldr r2, =0x04088032 str r2, [r0, #0x01c] ldr r2, =0x00008033 str r2, [r0, #0x01c] ldr r2, =0x00048031 str r2, [r0, #0x01c] ldr r2, =0x09408030 str r2, [r0, #0x01c] ldr r2, =0x04008040 str r2, [r0, #0x01c] ldr r2, =0x00005800 str r2, [r0, #0x020] ldr r2, =0x00011117 str r2, [r0, #0x818] str r2, [r1, #0x818] ldr r2, =0x00025576 str r2, [r0, #0x004] ldr r2, =0x00011006 str r2, [r0, #0x404] ldr r2, =0x00000000 str r2, [r0, #0x01c] .endm .macro imx6dlsabreauto_ddr_setting ldr r0, =IOMUXC_BASE_ADDR ldr r1, =0x000c0000 str r1, [r0, #0x774] ldr r1, =0x00000000 str r1, [r0, #0x754] ldr r1, =0x00000030 str r1, [r0, #0x4ac] str r1, [r0, #0x4b0] str r1, [r0, #0x464] str r1, [r0, #0x490] str r1, [r0, #0x74c] str r1, [r0, #0x494] ldr r1, =0x00000000 str r1, [r0, #0x4a0] ldr r1, =0x00000030 str r1, [r0, #0x4b4] str r1, [r0, #0x4b8] str r1, [r0, #0x76c] ldr r1, =0x00020000 str r1, [r0, #0x750] ldr r1, =0x00000028 str r1, [r0, #0x4bc] str r1, [r0, #0x4c0] str r1, [r0, #0x4c4] str r1, [r0, #0x4c8] str r1, [r0, #0x4cc] str r1, [r0, #0x4d0] str r1, [r0, #0x4d4] str r1, [r0, #0x4d8] ldr r1, =0x00020000 str r1, [r0, #0x760] ldr r1, =0x00000028 str r1, [r0, #0x764] str r1, [r0, #0x770] str r1, [r0, #0x778] str r1, [r0, #0x77c] str r1, [r0, #0x780] str r1, [r0, #0x784] str r1, [r0, #0x78c] str r1, [r0, #0x748] str r1, [r0, #0x470] str r1, [r0, #0x474] str r1, [r0, #0x478] str r1, [r0, #0x47c] str r1, [r0, #0x480] str r1, [r0, #0x484] str r1, [r0, #0x488] str r1, [r0, #0x48c] ldr r0, =MMDC_P0_BASE_ADDR ldr r2, =0xa1390003 str r2, [r0, #0x800] ldr r2, =0x001f001f str r2, [r0, #0x80c] str r2, [r0, #0x810] ldr r1, =MMDC_P1_BASE_ADDR str r2, [r1, #0x80c] str r2, [r1, #0x810] ldr r2, =0x42190217 str r2, [r0, #0x83c] ldr r2, =0x017b017b str r2, [r0, #0x840] ldr r2, =0x4176017b str r2, [r1, #0x83c] ldr r2, =0x015f016c str r2, [r1, #0x840] ldr r2, =0x4c4c4d4c str r2, [r0, #0x848] ldr r2, =0x4a4d4c48 str r2, [r1, #0x848] ldr r2, =0x3f3f3f40 str r2, [r0, #0x850] ldr r2, =0x3538382e str r2, [r1, #0x850] ldr r2, =0x33333333 str r2, [r0, #0x81c] str r2, [r0, #0x820] str r2, [r0, #0x824] str r2, [r0, #0x828] str r2, [r1, #0x81c] str r2, [r1, #0x820] str r2, [r1, #0x824] str r2, [r1, #0x828] ldr r2, =0x00000800 str r2, [r0, #0x8b8] str r2, [r1, #0x8b8] ldr r2, =0x00020025 str r2, [r0, #0x004] ldr r2, =0x00333030 str r2, [r0, #0x008] ldr r2, =0x676b5313 str r2, [r0, #0x00c] ldr r2, =0xb66e8b63 str r2, [r0, #0x010] ldr r2, =0x01ff00db str r2, [r0, #0x014] ldr r2, =0x00001740 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, =0x00000047 str r2, [r0, #0x040] ldr r2, =0x841a0000 str r2, [r0, #0x000] ldr r2, =0x04008032 str r2, [r0, #0x01c] ldr r2, =0x00008033 str r2, [r0, #0x01c] ldr r2, =0x00048031 str r2, [r0, #0x01c] ldr r2, =0x05208030 str r2, [r0, #0x01c] ldr r2, =0x04008040 str r2, [r0, #0x01c] ldr r2, =0x00005800 str r2, [r0, #0x020] ldr r2, =0x00011117 str r2, [r0, #0x818] str r2, [r1, #0x818] ldr r2, =0x00025565 str r2, [r0, #0x004] ldr r2, =0x00011006 str r2, [r0, #0x404] ldr r2, =0x00000000 str r2, [r0, #0x01c] .endm .macro imx6solosabreauto_ddr_setting ldr r0, =IOMUXC_BASE_ADDR ldr r1, =0x000c0000 str r1, [r0, #0x774] ldr r1, =0x00000000 str r1, [r0, #0x754] ldr r1, =0x00000030 str r1, [r0, #0x4ac] str r1, [r0, #0x4b0] str r1, [r0, #0x464] str r1, [r0, #0x490] str r1, [r0, #0x74c] str r1, [r0, #0x494] ldr r1, =0x00000000 str r1, [r0, #0x4a0] ldr r1, =0x00000030 str r1, [r0, #0x4b4] str r1, [r0, #0x4b8] str r1, [r0, #0x76c] ldr r1, =0x00020000 str r1, [r0, #0x750] ldr r1, =0x00000028 str r1, [r0, #0x4bc] str r1, [r0, #0x4c0] str r1, [r0, #0x4c4] str r1, [r0, #0x4c8] ldr r1, =0x00020000 str r1, [r0, #0x760] ldr r1, =0x00000028 str r1, [r0, #0x764] str r1, [r0, #0x770] str r1, [r0, #0x778] str r1, [r0, #0x77c] str r1, [r0, #0x470] str r1, [r0, #0x474] str r1, [r0, #0x478] str r1, [r0, #0x47c] ldr r0, =MMDC_P0_BASE_ADDR ldr r2, =0xa1390003 str r2, [r0, #0x800] ldr r2, =0x001F001F str r2, [r0, #0x80c] str r2, [r0, #0x810] ldr r2, =0x421C0216 str r2, [r0, #0x83c] ldr r2, =0x017B017A str r2, [r0, #0x840] ldr r2, =0x4B4A4E4C str r2, [r0, #0x848] ldr r2, =0x3F3F3334 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, =0x00020025 str r2, [r0, #0x004] ldr r2, =0x00333030 str r2, [r0, #0x008] ldr r2, =0x676B5313 str r2, [r0, #0x00c] ldr r2, =0xB66E8B63 str r2, [r0, #0x010] ldr r2, =0x01FF00DB str r2, [r0, #0x014] ldr r2, =0x00001740 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, =0x00000027 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, =0x00048031 str r2, [r0, #0x01c] ldr r2, =0x05208030 str r2, [r0, #0x01c] ldr r2, =0x04008040 str r2, [r0, #0x01c] ldr r2, =0x00005800 str r2, [r0, #0x020] ldr r2, =0x00011117 str r2, [r0, #0x818] ldr r2, =0x00025565 str r2, [r0, #0x004] ldr r2, =0x00011006 str r2, [r0, #0x404] ldr r2, =0x00000000 str r2, [r0, #0x01c] .endm .macro imx6_clock_gating ldr r0, =CCM_BASE_ADDR ldr r1, =0x00C03F3F str r1, [r0, #0x068] ldr r1, =0x0030FC03 str r1, [r0, #0x06c] ldr r1, =0x0FFFC000 str r1, [r0, #0x070] ldr r1, =0x3FF00000 str r1, [r0, #0x074] ldr r1, =0xFFFFF300 str r1, [r0, #0x078] ldr r1, =0x0F0000C3 str r1, [r0, #0x07c] ldr r1, =0x00000FFF str r1, [r0, #0x080] .endm .macro imx6_qos_setting ldr r0, =IOMUXC_BASE_ADDR ldr r1, =0xF00000CF str r1, [r0, #0x10] ldr r1, =0x007F007F str r1, [r0, #0x18] str r1, [r0, #0x1c] .endm .macro imx6_ddr_setting #if defined (CONFIG_MX6SOLO) imx6solosabreauto_ddr_setting #elif defined (CONFIG_MX6DL) imx6dlsabreauto_ddr_setting #elif defined (CONFIG_MX6QP) imx6dqpsabreauto_ddr_setting #elif defined (CONFIG_MX6Q) imx6dqsabreauto_ddr_setting #else #error "SOC not configured" #endif .endm /* include the common plugin code here */ #include