diff options
Diffstat (limited to 'drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c')
-rw-r--r-- | drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c | 1385 |
1 files changed, 693 insertions, 692 deletions
diff --git a/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c b/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c index 7aedc88d6b..fc278ef57c 100644 --- a/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c +++ b/drivers/staging/renesas/rcar/ddr/ddr_a/ddr_init_e3.c @@ -11,7 +11,8 @@ #include <common/debug.h> #include "boot_init_dram.h" -#include "boot_init_dram_regdef.h" +#include "rcar_def.h" +#include "../ddr_regs.h" #include "../dram_sub_func.h" @@ -78,9 +79,9 @@ uint32_t init_ddr(void) mmio_write_32(DBSC_DBKIND, 0x00000007); #if RCAR_DRAM_DDR3L_MEMCONF == 0 - mmio_write_32(DBSC_DBMEMCONF00, 0x0f030a02); /* 1GB */ + mmio_write_32(DBSC_DBMEMCONF_0_0, 0x0f030a02); /* 1GB */ #else - mmio_write_32(DBSC_DBMEMCONF00, 0x10030a02); /* 2GB(default) */ + mmio_write_32(DBSC_DBMEMCONF_0_0, 0x10030a02); /* 2GB(default) */ #endif #if RCAR_DRAM_DDR3L_MEMDUAL == 1 @@ -157,7 +158,7 @@ uint32_t init_ddr(void) mmio_write_32(DBSC_DBODT0, 0x00000001); mmio_write_32(DBSC_DBADJ0, 0x00000001); mmio_write_32(DBSC_DBSYSCONF1, 0x00000002); - mmio_write_32(DBSC_DBDFICNT0, 0x00000010); + mmio_write_32(DBSC_DBDFICNT_0, 0x00000010); mmio_write_32(DBSC_DBBCAMDIS, 0x00000001); mmio_write_32(DBSC_DBSCHRW1, 0x00000046); @@ -173,231 +174,231 @@ uint32_t init_ddr(void) /* * Initial_Step0( INITBYP ) */ - mmio_write_32(DBSC_DBPDLK0, 0x0000A55A); + mmio_write_32(DBSC_DBPDLK_0, 0x0000A55A); mmio_write_32(DBSC_DBCMD, 0x01840001); mmio_write_32(DBSC_DBCMD, 0x08840000); NOTICE("BL2: [COLD_BOOT]\n"); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x80010000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x80010000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* * Initial_Step1( ZCAL,PLLINIT,DCAL,PHYRST training ) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000008); - mmio_write_32(DBSC_DBPDRGD0, 0x000B8000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGD_0, 0x000B8000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058904); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058904); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058A04); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058A04); - mmio_write_32(DBSC_DBPDRGA0, 0x00000091); - mmio_write_32(DBSC_DBPDRGD0, 0x0007BB6B); - mmio_write_32(DBSC_DBPDRGA0, 0x00000095); - mmio_write_32(DBSC_DBPDRGD0, 0x0007BBAD); - mmio_write_32(DBSC_DBPDRGA0, 0x00000099); - mmio_write_32(DBSC_DBPDRGD0, 0x0007BB6B); - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000091); + mmio_write_32(DBSC_DBPDRGD_0, 0x0007BB6B); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000095); + mmio_write_32(DBSC_DBPDRGD_0, 0x0007BBAD); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000099); + mmio_write_32(DBSC_DBPDRGD_0, 0x0007BB6B); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058A00); - - mmio_write_32(DBSC_DBPDRGA0, 0x00000021); - mmio_write_32(DBSC_DBPDRGD0, 0x0024641E); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010073); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGD_0, 0x04058A00); + + mmio_write_32(DBSC_DBPDRGA_0, 0x00000021); + mmio_write_32(DBSC_DBPDRGD_0, 0x0024641E); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010073); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* * Initial_Step2( DRAMRST/DRAMINT training ) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0C058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x0C058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0C058A00); + mmio_write_32(DBSC_DBPDRGD_0, 0x0C058A00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058A00); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058A00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000003); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000003); if (byp_ctl == 1) - mmio_write_32(DBSC_DBPDRGD0, 0x0780C720); + mmio_write_32(DBSC_DBPDRGD_0, 0x0780C720); else - mmio_write_32(DBSC_DBPDRGD0, 0x0780C700); + mmio_write_32(DBSC_DBPDRGD_0, 0x0780C700); - mmio_write_32(DBSC_DBPDRGA0, 0x00000007); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(30))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000007); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(30))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000004); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000004); /* Select setting value in bps */ if (ddr_md == 0) { /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, (REFRESH_RATE * 792 / 125) - + mmio_write_32(DBSC_DBPDRGD_0, (REFRESH_RATE * 792 / 125) - 400 + 0x08B00000); } else { /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, (REFRESH_RATE * 928 / 125) - + mmio_write_32(DBSC_DBPDRGD_0, (REFRESH_RATE * 928 / 125) - 400 + 0x0A300000); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000022); - mmio_write_32(DBSC_DBPDRGD0, 0x1000040B); - mmio_write_32(DBSC_DBPDRGA0, 0x00000023); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000022); + mmio_write_32(DBSC_DBPDRGD_0, 0x1000040B); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000023); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x2D9C0B66); + mmio_write_32(DBSC_DBPDRGD_0, 0x2D9C0B66); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x35A00D77); + mmio_write_32(DBSC_DBPDRGD_0, 0x35A00D77); - mmio_write_32(DBSC_DBPDRGA0, 0x00000024); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000024); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x2A88B400); + mmio_write_32(DBSC_DBPDRGD_0, 0x2A88B400); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x2A8A2C28); + mmio_write_32(DBSC_DBPDRGD_0, 0x2A8A2C28); - mmio_write_32(DBSC_DBPDRGA0, 0x00000025); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000025); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x30005200); + mmio_write_32(DBSC_DBPDRGD_0, 0x30005200); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x30005E00); + mmio_write_32(DBSC_DBPDRGD_0, 0x30005E00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000026); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000026); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0014A9C9); + mmio_write_32(DBSC_DBPDRGD_0, 0x0014A9C9); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0014CB49); + mmio_write_32(DBSC_DBPDRGD_0, 0x0014CB49); - mmio_write_32(DBSC_DBPDRGA0, 0x00000027); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000027); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x00000D70); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000D70); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x00000F14); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000F14); - mmio_write_32(DBSC_DBPDRGA0, 0x00000028); - mmio_write_32(DBSC_DBPDRGD0, 0x00000046); - mmio_write_32(DBSC_DBPDRGA0, 0x00000029); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000028); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000046); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000029); /* Select setting value in bps */ if (ddr_md == 0) { /* 1584Mbps */ if (REFRESH_RATE > 3900) /* [7]SRT=0 */ - mmio_write_32(DBSC_DBPDRGD0, 0x18); + mmio_write_32(DBSC_DBPDRGD_0, 0x18); else /* [7]SRT=1 */ - mmio_write_32(DBSC_DBPDRGD0, 0x98); + mmio_write_32(DBSC_DBPDRGD_0, 0x98); } else { /* 1856Mbps */ if (REFRESH_RATE > 3900) /* [7]SRT=0 */ - mmio_write_32(DBSC_DBPDRGD0, 0x20); + mmio_write_32(DBSC_DBPDRGD_0, 0x20); else /* [7]SRT=1 */ - mmio_write_32(DBSC_DBPDRGD0, 0xA0); + mmio_write_32(DBSC_DBPDRGD_0, 0xA0); } - mmio_write_32(DBSC_DBPDRGA0, 0x0000002C); - mmio_write_32(DBSC_DBPDRGD0, 0x81003047); - mmio_write_32(DBSC_DBPDRGA0, 0x00000020); - mmio_write_32(DBSC_DBPDRGD0, 0x00181884); - mmio_write_32(DBSC_DBPDRGA0, 0x0000001A); - mmio_write_32(DBSC_DBPDRGD0, 0x33C03C10); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x0000002C); + mmio_write_32(DBSC_DBPDRGD_0, 0x81003047); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000020); + mmio_write_32(DBSC_DBPDRGD_0, 0x00181884); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000001A); + mmio_write_32(DBSC_DBPDRGD_0, 0x33C03C10); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x000000A7); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000A8); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000A9); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C7); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C8); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C9); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E7); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E8); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E9); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x00000107); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x00000108); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x00000109); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010181); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A7); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A8); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A9); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C7); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C8); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C9); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E7); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E8); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E9); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000107); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000108); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000109); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010181); mmio_write_32(DBSC_DBCMD, 0x08840001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* * Initial_Step3( WL/QSG training ) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010601); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010601); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; for (i = 0; i < 4; i++) { - mmio_write_32(DBSC_DBPDRGA0, 0xB1 + i * 0x20); - r5 = (mmio_read_32(DBSC_DBPDRGD0) & 0xFF00) >> 0x8; - mmio_write_32(DBSC_DBPDRGA0, 0xB4 + i * 0x20); - r6 = mmio_read_32(DBSC_DBPDRGD0) & 0xFF; - mmio_write_32(DBSC_DBPDRGA0, 0xB3 + i * 0x20); - r7 = mmio_read_32(DBSC_DBPDRGD0) & 0x7; + mmio_write_32(DBSC_DBPDRGA_0, 0xB1 + i * 0x20); + r5 = (mmio_read_32(DBSC_DBPDRGD_0) & 0xFF00) >> 0x8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB4 + i * 0x20); + r6 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFF; + mmio_write_32(DBSC_DBPDRGA_0, 0xB3 + i * 0x20); + r7 = mmio_read_32(DBSC_DBPDRGD_0) & 0x7; if (r6 > 0) { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r7 + 0x1) & 0x7)); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | r6); + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r7 + 0x1) & 0x7)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | r6); } else { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | r7); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | r7); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r6 + ((r5) << 1)) & 0xFF)); } @@ -406,191 +407,191 @@ uint32_t init_ddr(void) /* * Initial_Step4( WLADJ training ) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000005); - mmio_write_32(DBSC_DBPDRGD0, 0xC1AA00C0); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000005); + mmio_write_32(DBSC_DBPDRGD_0, 0xC1AA00C0); if (pdqsr_ctl == 0) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR always off */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010801); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010801); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* * Initial_Step5(Read Data Bit Deskew) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000005); - mmio_write_32(DBSC_DBPDRGD0, 0xC1AA00D8); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000005); + mmio_write_32(DBSC_DBPDRGD_0, 0xC1AA00D8); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00011001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00011001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (pdqsr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR dynamic */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); } /* * Initial_Step6(Write Data Bit Deskew) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00012001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00012001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* * Initial_Step7(Read Data Eye Training) */ if (pdqsr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); } /* PDR always off */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00014001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00014001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (pdqsr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR dynamic */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); } /* * Initial_Step8(Write Data Eye Training) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00018001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00018001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* * Initial_Step3_2( DQS Gate Training ) */ - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x0000002C); - mmio_write_32(DBSC_DBPDRGD0, 0x81003087); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010401); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000002C); + mmio_write_32(DBSC_DBPDRGD_0, 0x81003087); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010401); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; for (i = 0; i < 4; i++) { - mmio_write_32(DBSC_DBPDRGA0, 0xB1 + i * 0x20); - r5 = ((mmio_read_32(DBSC_DBPDRGD0) & 0xFF00) >> 0x8); - mmio_write_32(DBSC_DBPDRGA0, 0xB4 + i * 0x20); - r6 = mmio_read_32(DBSC_DBPDRGD0) & 0xFF; - mmio_write_32(DBSC_DBPDRGA0, 0xB3 + i * 0x20); - r7 = mmio_read_32(DBSC_DBPDRGD0) & 0x7; + mmio_write_32(DBSC_DBPDRGA_0, 0xB1 + i * 0x20); + r5 = ((mmio_read_32(DBSC_DBPDRGD_0) & 0xFF00) >> 0x8); + mmio_write_32(DBSC_DBPDRGA_0, 0xB4 + i * 0x20); + r6 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFF; + mmio_write_32(DBSC_DBPDRGA_0, 0xB3 + i * 0x20); + r7 = mmio_read_32(DBSC_DBPDRGD_0) & 0x7; r12 = (r5 >> 0x2); if (r12 < r6) { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r7 + 0x1) & 0x7)); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r6 - r12) & 0xFF)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r7 + 0x1) & 0x7)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r6 - r12) & 0xFF)); } else { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | (r7 & 0x7)); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r6 + r5 + + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | (r7 & 0x7)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r6 + r5 + (r5 >> 1) + r12) & 0xFF)); } } @@ -599,40 +600,40 @@ uint32_t init_ddr(void) * Initial_Step5-2_7-2( Rd bit Rd eye ) */ if (pdqsr_ctl == 0) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR always off */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00015001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00015001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (lcdl_ctl == 1) { for (i = 0; i < 4; i++) { - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - dqsgd_0c = mmio_read_32(DBSC_DBPDRGD0) & 0xFF; - mmio_write_32(DBSC_DBPDRGA0, 0xB1 + i * 0x20); - bdlcount_0c = (mmio_read_32(DBSC_DBPDRGD0) & 0xFF00) >> + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + dqsgd_0c = mmio_read_32(DBSC_DBPDRGD_0) & 0xFF; + mmio_write_32(DBSC_DBPDRGA_0, 0xB1 + i * 0x20); + bdlcount_0c = (mmio_read_32(DBSC_DBPDRGD_0) & 0xFF00) >> 8; bdlcount_0c_div2 = bdlcount_0c >> 1; bdlcount_0c_div4 = bdlcount_0c >> 2; @@ -657,43 +658,43 @@ uint32_t init_ddr(void) continue; if (dqsgd_0c <= lcdl_judge2) { - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGD_0, (dqsgd_0c - bdlcount_0c_div8) | regval); } else { - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGD0, regval); - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - gatesl_0c = mmio_read_32(DBSC_DBPDRGD0) & 0x7; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGD_0, regval); + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + gatesl_0c = mmio_read_32(DBSC_DBPDRGD_0) & 0x7; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGD0, regval | + mmio_write_32(DBSC_DBPDRGD_0, regval | (gatesl_0c + 1)); - mmio_write_32(DBSC_DBPDRGA0, 0xAF + i * 0x20); - regval = (mmio_read_32(DBSC_DBPDRGD0)); + mmio_write_32(DBSC_DBPDRGA_0, 0xAF + i * 0x20); + regval = (mmio_read_32(DBSC_DBPDRGD_0)); rdqsd_0c = (regval & 0xFF00) >> 8; rdqsnd_0c = (regval & 0xFF0000) >> 16; - mmio_write_32(DBSC_DBPDRGA0, 0xAF + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGA_0, 0xAF + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, (regval & 0xFF0000FF) | ((rdqsd_0c + bdlcount_0c_div4) << 8) | ((rdqsnd_0c + bdlcount_0c_div4) << 16)); - mmio_write_32(DBSC_DBPDRGA0, 0xAA + i * 0x20); - regval = (mmio_read_32(DBSC_DBPDRGD0)); + mmio_write_32(DBSC_DBPDRGA_0, 0xAA + i * 0x20); + regval = (mmio_read_32(DBSC_DBPDRGD_0)); rbd_0c[0] = (regval) & 0x1f; rbd_0c[1] = (regval >> 8) & 0x1f; rbd_0c[2] = (regval >> 16) & 0x1f; rbd_0c[3] = (regval >> 24) & 0x1f; - mmio_write_32(DBSC_DBPDRGA0, 0xAA + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xAA + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xE0E0E0E0; for (j = 0; j < 4; j++) { rbd_0c[j] = rbd_0c[j] + @@ -702,15 +703,15 @@ uint32_t init_ddr(void) rbd_0c[j] = 0x1F; regval = regval | (rbd_0c[j] << 8 * j); } - mmio_write_32(DBSC_DBPDRGD0, regval); - mmio_write_32(DBSC_DBPDRGA0, 0xAB + i * 0x20); - regval = (mmio_read_32(DBSC_DBPDRGD0)); + mmio_write_32(DBSC_DBPDRGD_0, regval); + mmio_write_32(DBSC_DBPDRGA_0, 0xAB + i * 0x20); + regval = (mmio_read_32(DBSC_DBPDRGD_0)); rbd_0c[0] = (regval) & 0x1f; rbd_0c[1] = (regval >> 8) & 0x1f; rbd_0c[2] = (regval >> 16) & 0x1f; rbd_0c[3] = (regval >> 24) & 0x1f; - mmio_write_32(DBSC_DBPDRGA0, 0xAB + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xAB + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xE0E0E0E0; for (j = 0; j < 4; j++) { rbd_0c[j] = rbd_0c[j] + @@ -719,25 +720,25 @@ uint32_t init_ddr(void) rbd_0c[j] = 0x1F; regval = regval | (rbd_0c[j] << 8 * j); } - mmio_write_32(DBSC_DBPDRGD0, regval); + mmio_write_32(DBSC_DBPDRGD_0, regval); } } - mmio_write_32(DBSC_DBPDRGA0, 0x2); - mmio_write_32(DBSC_DBPDRGD0, 0x7D81E37); + mmio_write_32(DBSC_DBPDRGA_0, 0x2); + mmio_write_32(DBSC_DBPDRGD_0, 0x7D81E37); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000003); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000003); if (byp_ctl == 1) - mmio_write_32(DBSC_DBPDRGD0, 0x0380C720); + mmio_write_32(DBSC_DBPDRGD_0, 0x0380C720); else - mmio_write_32(DBSC_DBPDRGD0, 0x0380C700); + mmio_write_32(DBSC_DBPDRGD_0, 0x0380C700); - mmio_write_32(DBSC_DBPDRGA0, 0x00000007); - while (mmio_read_32(DBSC_DBPDRGD0) & BIT(30)) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000007); + while (mmio_read_32(DBSC_DBPDRGD_0) & BIT(30)) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000021); - mmio_write_32(DBSC_DBPDRGD0, 0x0024643E); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000021); + mmio_write_32(DBSC_DBPDRGD_0, 0x0024643E); mmio_write_32(DBSC_DBBUS0CNF1, 0x00000010); mmio_write_32(DBSC_DBCALCNF, (64000000 / REFRESH_RATE) + 0x01000000); @@ -758,34 +759,34 @@ uint32_t init_ddr(void) if (pdqsr_ctl == 1) { mmio_write_32(0xE67F0018, 0x00000001); regval = mmio_read_32(0x40000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000000); - mmio_write_32(DBSC_DBPDRGD0, regval); - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGD_0, regval); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR dynamic */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); } /* * Initial_Step9( Initial End ) */ - mmio_write_32(DBSC_DBPDLK0, 0x00000000); + mmio_write_32(DBSC_DBPDLK_0, 0x00000000); mmio_write_32(DBSC_DBSYSCNT0, 0x00000000); #ifdef ddr_qos_init_setting /* only for non qos_init */ @@ -881,9 +882,9 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) mmio_write_32(DBSC_DBKIND, 0x00000007); #if RCAR_DRAM_DDR3L_MEMCONF == 0 - mmio_write_32(DBSC_DBMEMCONF00, 0x0f030a02); + mmio_write_32(DBSC_DBMEMCONF_0_0, 0x0f030a02); #else - mmio_write_32(DBSC_DBMEMCONF00, 0x10030a02); + mmio_write_32(DBSC_DBMEMCONF_0_0, 0x10030a02); #endif #if RCAR_DRAM_DDR3L_MEMDUAL == 1 @@ -960,7 +961,7 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) mmio_write_32(DBSC_DBODT0, 0x00000001); mmio_write_32(DBSC_DBADJ0, 0x00000001); mmio_write_32(DBSC_DBSYSCONF1, 0x00000002); - mmio_write_32(DBSC_DBDFICNT0, 0x00000010); + mmio_write_32(DBSC_DBDFICNT_0, 0x00000010); mmio_write_32(DBSC_DBBCAMDIS, 0x00000001); mmio_write_32(DBSC_DBSCHRW1, 0x00000046); @@ -976,143 +977,143 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) /* * recovery_Step1(PHY setting 1) */ - mmio_write_32(DBSC_DBPDLK0, 0x0000A55A); + mmio_write_32(DBSC_DBPDLK_0, 0x0000A55A); mmio_write_32(DBSC_DBCMD, 0x01840001); mmio_write_32(DBSC_DBCMD, 0x0A840000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000008); /* DDR_PLLCR */ - mmio_write_32(DBSC_DBPDRGD0, 0x000B8000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000003); /* DDR_PGCR1 */ + mmio_write_32(DBSC_DBPDRGA_0, 0x00000008); /* DDR_PLLCR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x000B8000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000003); /* DDR_PGCR1 */ if (byp_ctl == 1) - mmio_write_32(DBSC_DBPDRGD0, 0x0780C720); + mmio_write_32(DBSC_DBPDRGD_0, 0x0780C720); else - mmio_write_32(DBSC_DBPDRGD0, 0x0780C700); - - mmio_write_32(DBSC_DBPDRGA0, 0x00000020); /* DDR_DXCCR */ - mmio_write_32(DBSC_DBPDRGD0, 0x00181884); - mmio_write_32(DBSC_DBPDRGA0, 0x0000001A); /* DDR_ACIOCR0 */ - mmio_write_32(DBSC_DBPDRGD0, 0x33C03C10); - mmio_write_32(DBSC_DBPDRGA0, 0x00000007); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(30))) + mmio_write_32(DBSC_DBPDRGD_0, 0x0780C700); + + mmio_write_32(DBSC_DBPDRGA_0, 0x00000020); /* DDR_DXCCR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x00181884); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000001A); /* DDR_ACIOCR0 */ + mmio_write_32(DBSC_DBPDRGD_0, 0x33C03C10); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000007); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(30))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000004); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000004); /* Select setting value in bps */ if (ddr_md == 0) { /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, (REFRESH_RATE * 792 / 125) - + mmio_write_32(DBSC_DBPDRGD_0, (REFRESH_RATE * 792 / 125) - 400 + 0x08B00000); } else { /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, (REFRESH_RATE * 928 / 125) - + mmio_write_32(DBSC_DBPDRGD_0, (REFRESH_RATE * 928 / 125) - 400 + 0x0A300000); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000022); - mmio_write_32(DBSC_DBPDRGD0, 0x1000040B); - mmio_write_32(DBSC_DBPDRGA0, 0x00000023); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000022); + mmio_write_32(DBSC_DBPDRGD_0, 0x1000040B); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000023); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x2D9C0B66); + mmio_write_32(DBSC_DBPDRGD_0, 0x2D9C0B66); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x35A00D77); + mmio_write_32(DBSC_DBPDRGD_0, 0x35A00D77); - mmio_write_32(DBSC_DBPDRGA0, 0x00000024); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000024); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x2A88B400); + mmio_write_32(DBSC_DBPDRGD_0, 0x2A88B400); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x2A8A2C28); + mmio_write_32(DBSC_DBPDRGD_0, 0x2A8A2C28); - mmio_write_32(DBSC_DBPDRGA0, 0x00000025); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000025); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x30005200); + mmio_write_32(DBSC_DBPDRGD_0, 0x30005200); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x30005E00); + mmio_write_32(DBSC_DBPDRGD_0, 0x30005E00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000026); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000026); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0014A9C9); + mmio_write_32(DBSC_DBPDRGD_0, 0x0014A9C9); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0014CB49); + mmio_write_32(DBSC_DBPDRGD_0, 0x0014CB49); - mmio_write_32(DBSC_DBPDRGA0, 0x00000027); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000027); /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x00000D70); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000D70); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x00000F14); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000F14); - mmio_write_32(DBSC_DBPDRGA0, 0x00000028); - mmio_write_32(DBSC_DBPDRGD0, 0x00000046); - mmio_write_32(DBSC_DBPDRGA0, 0x00000029); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000028); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000046); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000029); /* Select setting value in bps */ if (ddr_md == 0) { /* 1584Mbps */ if (REFRESH_RATE > 3900) - mmio_write_32(DBSC_DBPDRGD0, 0x18); /* [7]SRT=0 */ + mmio_write_32(DBSC_DBPDRGD_0, 0x18); /* [7]SRT=0 */ else - mmio_write_32(DBSC_DBPDRGD0, 0x98); /* [7]SRT=1 */ + mmio_write_32(DBSC_DBPDRGD_0, 0x98); /* [7]SRT=1 */ } else { /* 1856Mbps */ if (REFRESH_RATE > 3900) - mmio_write_32(DBSC_DBPDRGD0, 0x20); /* [7]SRT=0 */ + mmio_write_32(DBSC_DBPDRGD_0, 0x20); /* [7]SRT=0 */ else - mmio_write_32(DBSC_DBPDRGD0, 0xA0); /* [7]SRT=1 */ + mmio_write_32(DBSC_DBPDRGD_0, 0xA0); /* [7]SRT=1 */ } - mmio_write_32(DBSC_DBPDRGA0, 0x0000002C); - mmio_write_32(DBSC_DBPDRGD0, 0x81003047); - mmio_write_32(DBSC_DBPDRGA0, 0x00000091); - mmio_write_32(DBSC_DBPDRGD0, 0x0007BB6B); - mmio_write_32(DBSC_DBPDRGA0, 0x00000095); - mmio_write_32(DBSC_DBPDRGD0, 0x0007BBAD); - mmio_write_32(DBSC_DBPDRGA0, 0x00000099); - mmio_write_32(DBSC_DBPDRGD0, 0x0007BB6B); - mmio_write_32(DBSC_DBPDRGA0, 0x00000021); /* DDR_DSGCR */ - mmio_write_32(DBSC_DBPDRGD0, 0x0024641E); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x0000002C); + mmio_write_32(DBSC_DBPDRGD_0, 0x81003047); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000091); + mmio_write_32(DBSC_DBPDRGD_0, 0x0007BB6B); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000095); + mmio_write_32(DBSC_DBPDRGD_0, 0x0007BBAD); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000099); + mmio_write_32(DBSC_DBPDRGD_0, 0x0007BB6B); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000021); /* DDR_DSGCR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x0024641E); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x40010000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x40010000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000092); /* DDR_ZQ0DR */ - mmio_write_32(DBSC_DBPDRGD0, 0xC2C59AB5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000096); /* DDR_ZQ1DR */ - mmio_write_32(DBSC_DBPDRGD0, 0xC4285FBF); - mmio_write_32(DBSC_DBPDRGA0, 0x0000009A); /* DDR_ZQ2DR */ - mmio_write_32(DBSC_DBPDRGD0, 0xC2C59AB5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); /* DDR_ZQCR */ + mmio_write_32(DBSC_DBPDRGA_0, 0x00000092); /* DDR_ZQ0DR */ + mmio_write_32(DBSC_DBPDRGD_0, 0xC2C59AB5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000096); /* DDR_ZQ1DR */ + mmio_write_32(DBSC_DBPDRGD_0, 0xC4285FBF); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000009A); /* DDR_ZQ2DR */ + mmio_write_32(DBSC_DBPDRGD_0, 0xC2C59AB5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* DDR_ZQCR */ /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0C058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x0C058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0C058A00); + mmio_write_32(DBSC_DBPDRGD_0, 0x0C058A00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); /* DDR_ZQCR */ + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* DDR_ZQCR */ /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058A00); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058A00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x00050001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x00050001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; /* ddr backupmode end */ @@ -1127,87 +1128,87 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) return INITDRAM_ERR_I; } - mmio_write_32(DBSC_DBPDRGA0, 0x00000092); /* DDR_ZQ0DR */ - mmio_write_32(DBSC_DBPDRGD0, 0x02C59AB5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000096); /* DDR_ZQ1DR */ - mmio_write_32(DBSC_DBPDRGD0, 0x04285FBF); - mmio_write_32(DBSC_DBPDRGA0, 0x0000009A); /* DDR_ZQ2DR */ - mmio_write_32(DBSC_DBPDRGD0, 0x02C59AB5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000092); /* DDR_ZQ0DR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x02C59AB5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000096); /* DDR_ZQ1DR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x04285FBF); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000009A); /* DDR_ZQ2DR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x02C59AB5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x08000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x08000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x00000003); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x00000003); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x80010000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x80010000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x00010073); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x00010073); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); /* DDR_ZQCR */ + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* DDR_ZQCR */ /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0C058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x0C058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x0C058A00); + mmio_write_32(DBSC_DBPDRGD_0, 0x0C058A00); - mmio_write_32(DBSC_DBPDRGA0, 0x00000090); /* DDR_ZQCR */ + mmio_write_32(DBSC_DBPDRGA_0, 0x00000090); /* DDR_ZQCR */ /* Select setting value in bps */ if (ddr_md == 0) /* 1584Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058900); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058900); else /* 1856Mbps */ - mmio_write_32(DBSC_DBPDRGD0, 0x04058A00); + mmio_write_32(DBSC_DBPDRGD_0, 0x04058A00); - mmio_write_32(DBSC_DBPDRGA0, 0x0000000C); - mmio_write_32(DBSC_DBPDRGD0, 0x18000040); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000000C); + mmio_write_32(DBSC_DBPDRGD_0, 0x18000040); /* * recovery_Step2(PHY setting 2) */ - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x000000A7); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000A8); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000A9); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C7); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C8); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C9); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E7); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E8); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E9); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x00000107); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x00000108); - mmio_write_32(DBSC_DBPDRGD0, 0x0D0D0D0D); - mmio_write_32(DBSC_DBPDRGA0, 0x00000109); - mmio_write_32(DBSC_DBPDRGD0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A7); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A8); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A9); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C7); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C8); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C9); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E7); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E8); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E9); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000107); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000108); + mmio_write_32(DBSC_DBPDRGD_0, 0x0D0D0D0D); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000109); + mmio_write_32(DBSC_DBPDRGD_0, 0x000D0D0D); mmio_write_32(DBSC_DBCALCNF, (64000000 / REFRESH_RATE) + 0x01000000); mmio_write_32(DBSC_DBBUS0CNF1, 0x00000010); @@ -1233,258 +1234,258 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) while (mmio_read_32(DBSC_DBWAIT) & BIT(0)) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); /* DDR_PIR */ - mmio_write_32(DBSC_DBPDRGD0, 0x00010701); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); /* DDR_PIR */ + mmio_write_32(DBSC_DBPDRGD_0, 0x00010701); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); /* DDR_PGSR0 */ - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); /* DDR_PGSR0 */ + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; for (i = 0; i < 4; i++) { - mmio_write_32(DBSC_DBPDRGA0, 0xB1 + i * 0x20); - r5 = (mmio_read_32(DBSC_DBPDRGD0) & 0xFF00) >> 0x8; - mmio_write_32(DBSC_DBPDRGA0, 0xB4 + i * 0x20); - r6 = mmio_read_32(DBSC_DBPDRGD0) & 0xFF; - mmio_write_32(DBSC_DBPDRGA0, 0xB3 + i * 0x20); - r7 = mmio_read_32(DBSC_DBPDRGD0) & 0x7; + mmio_write_32(DBSC_DBPDRGA_0, 0xB1 + i * 0x20); + r5 = (mmio_read_32(DBSC_DBPDRGD_0) & 0xFF00) >> 0x8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB4 + i * 0x20); + r6 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFF; + mmio_write_32(DBSC_DBPDRGA_0, 0xB3 + i * 0x20); + r7 = mmio_read_32(DBSC_DBPDRGD_0) & 0x7; if (r6 > 0) { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r7 + 0x1) & 0x7)); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | r6); + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r7 + 0x1) & 0x7)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | r6); } else { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | r7); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | r7); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r6 + (r5 << 1)) & 0xFF)); } } - mmio_write_32(DBSC_DBPDRGA0, 0x00000005); - mmio_write_32(DBSC_DBPDRGD0, 0xC1AA00C0); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000005); + mmio_write_32(DBSC_DBPDRGD_0, 0xC1AA00C0); if (pdqsr_ctl == 0) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR always off */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010801); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010801); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000005); - mmio_write_32(DBSC_DBPDRGD0, 0xC1AA00D8); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000005); + mmio_write_32(DBSC_DBPDRGD_0, 0xC1AA00D8); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00011001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00011001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (pdqsr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR dynamic */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00012001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00012001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (pdqsr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); } /* PDR always off */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00014001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00014001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (pdqsr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR dynamic */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00018001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00018001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C000285); - mmio_write_32(DBSC_DBPDRGA0, 0x0000002C); - mmio_write_32(DBSC_DBPDRGD0, 0x81003087); - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00010401); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C000285); + mmio_write_32(DBSC_DBPDRGA_0, 0x0000002C); + mmio_write_32(DBSC_DBPDRGD_0, 0x81003087); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00010401); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; for (i = 0; i < 4; i++) { - mmio_write_32(DBSC_DBPDRGA0, 0xB1 + i * 0x20); - r5 = ((mmio_read_32(DBSC_DBPDRGD0) & 0xFF00) >> 0x8); - mmio_write_32(DBSC_DBPDRGA0, 0xB4 + i * 0x20); - r6 = mmio_read_32(DBSC_DBPDRGD0) & 0xFF; - mmio_write_32(DBSC_DBPDRGA0, 0xB3 + i * 0x20); - r7 = mmio_read_32(DBSC_DBPDRGD0) & 0x7; + mmio_write_32(DBSC_DBPDRGA_0, 0xB1 + i * 0x20); + r5 = ((mmio_read_32(DBSC_DBPDRGD_0) & 0xFF00) >> 0x8); + mmio_write_32(DBSC_DBPDRGA_0, 0xB4 + i * 0x20); + r6 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFF; + mmio_write_32(DBSC_DBPDRGA_0, 0xB3 + i * 0x20); + r7 = mmio_read_32(DBSC_DBPDRGD_0) & 0x7; r12 = r5 >> 0x2; if (r12 < r6) { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r7 + 0x1) & 0x7)); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | ((r6 - r12) & 0xFF)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r7 + 0x1) & 0x7)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r6 - r12) & 0xFF)); } else { - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, r2 | (r7 & 0x7)); - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - r2 = mmio_read_32(DBSC_DBPDRGD0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | (r7 & 0x7)); + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + r2 = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, r2 | ((r6 + r5 + (r5 >> 1) + r12) & 0xFF)); } } if (pdqsr_ctl == 0) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR always off */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000008); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000001); - mmio_write_32(DBSC_DBPDRGD0, 0x00015001); - mmio_write_32(DBSC_DBPDRGA0, 0x00000006); - while (!(mmio_read_32(DBSC_DBPDRGD0) & BIT(0))) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000001); + mmio_write_32(DBSC_DBPDRGD_0, 0x00015001); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000006); + while (!(mmio_read_32(DBSC_DBPDRGD_0) & BIT(0))) ; if (lcdl_ctl == 1) { for (i = 0; i < 4; i++) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000B0 + i * 0x20); - dqsgd_0c = mmio_read_32(DBSC_DBPDRGD0) & 0x000000FF; - mmio_write_32(DBSC_DBPDRGA0, 0x000000B1 + i * 0x20); - bdlcount_0c = (mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0x000000B0 + i * 0x20); + dqsgd_0c = mmio_read_32(DBSC_DBPDRGD_0) & 0x000000FF; + mmio_write_32(DBSC_DBPDRGA_0, 0x000000B1 + i * 0x20); + bdlcount_0c = (mmio_read_32(DBSC_DBPDRGD_0) & 0x0000FF00) >> 8; bdlcount_0c_div2 = (bdlcount_0c >> 1); bdlcount_0c_div4 = (bdlcount_0c >> 2); @@ -1509,43 +1510,43 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) continue; if (dqsgd_0c <= lcdl_judge2) { - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGD_0, (dqsgd_0c - bdlcount_0c_div8) | regval); } else { - mmio_write_32(DBSC_DBPDRGA0, 0xB0 + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xB0 + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFF00; - mmio_write_32(DBSC_DBPDRGD0, regval); - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - gatesl_0c = mmio_read_32(DBSC_DBPDRGD0) & 0x7; - mmio_write_32(DBSC_DBPDRGA0, 0xB2 + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGD_0, regval); + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + gatesl_0c = mmio_read_32(DBSC_DBPDRGD_0) & 0x7; + mmio_write_32(DBSC_DBPDRGA_0, 0xB2 + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xFFFFFFF8; - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGD_0, regval | (gatesl_0c + 1)); - mmio_write_32(DBSC_DBPDRGA0, 0xAF + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0); + mmio_write_32(DBSC_DBPDRGA_0, 0xAF + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0); rdqsd_0c = (regval & 0xFF00) >> 8; rdqsnd_0c = (regval & 0xFF0000) >> 16; - mmio_write_32(DBSC_DBPDRGA0, 0xAF + i * 0x20); - mmio_write_32(DBSC_DBPDRGD0, + mmio_write_32(DBSC_DBPDRGA_0, 0xAF + i * 0x20); + mmio_write_32(DBSC_DBPDRGD_0, (regval & 0xFF0000FF) | ((rdqsd_0c + bdlcount_0c_div4) << 8) | ((rdqsnd_0c + bdlcount_0c_div4) << 16)); - mmio_write_32(DBSC_DBPDRGA0, 0xAA + i * 0x20); - regval = (mmio_read_32(DBSC_DBPDRGD0)); + mmio_write_32(DBSC_DBPDRGA_0, 0xAA + i * 0x20); + regval = (mmio_read_32(DBSC_DBPDRGD_0)); rbd_0c[0] = (regval) & 0x1f; rbd_0c[1] = (regval >> 8) & 0x1f; rbd_0c[2] = (regval >> 16) & 0x1f; rbd_0c[3] = (regval >> 24) & 0x1f; - mmio_write_32(DBSC_DBPDRGA0, 0xAA + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xAA + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xE0E0E0E0; for (j = 0; j < 4; j++) { rbd_0c[j] = rbd_0c[j] + @@ -1554,15 +1555,15 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) rbd_0c[j] = 0x1F; regval = regval | (rbd_0c[j] << 8 * j); } - mmio_write_32(DBSC_DBPDRGD0, regval); - mmio_write_32(DBSC_DBPDRGA0, 0xAB + i * 0x20); - regval = (mmio_read_32(DBSC_DBPDRGD0)); + mmio_write_32(DBSC_DBPDRGD_0, regval); + mmio_write_32(DBSC_DBPDRGA_0, 0xAB + i * 0x20); + regval = (mmio_read_32(DBSC_DBPDRGD_0)); rbd_0c[0] = regval & 0x1f; rbd_0c[1] = (regval >> 8) & 0x1f; rbd_0c[2] = (regval >> 16) & 0x1f; rbd_0c[3] = (regval >> 24) & 0x1f; - mmio_write_32(DBSC_DBPDRGA0, 0xAB + i * 0x20); - regval = mmio_read_32(DBSC_DBPDRGD0) & + mmio_write_32(DBSC_DBPDRGA_0, 0xAB + i * 0x20); + regval = mmio_read_32(DBSC_DBPDRGD_0) & 0xE0E0E0E0; for (j = 0; j < 4; j++) { rbd_0c[j] = rbd_0c[j] + @@ -1571,24 +1572,24 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) rbd_0c[j] = 0x1F; regval = regval | (rbd_0c[j] << 8 * j); } - mmio_write_32(DBSC_DBPDRGD0, regval); + mmio_write_32(DBSC_DBPDRGD_0, regval); } } - mmio_write_32(DBSC_DBPDRGA0, 0x00000002); - mmio_write_32(DBSC_DBPDRGD0, 0x07D81E37); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000002); + mmio_write_32(DBSC_DBPDRGD_0, 0x07D81E37); } - mmio_write_32(DBSC_DBPDRGA0, 0x00000003); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000003); if (byp_ctl == 1) - mmio_write_32(DBSC_DBPDRGD0, 0x0380C720); + mmio_write_32(DBSC_DBPDRGD_0, 0x0380C720); else - mmio_write_32(DBSC_DBPDRGD0, 0x0380C700); + mmio_write_32(DBSC_DBPDRGD_0, 0x0380C700); - mmio_write_32(DBSC_DBPDRGA0, 0x00000007); - while (mmio_read_32(DBSC_DBPDRGD0) & BIT(30)) + mmio_write_32(DBSC_DBPDRGA_0, 0x00000007); + while (mmio_read_32(DBSC_DBPDRGD_0) & BIT(30)) ; - mmio_write_32(DBSC_DBPDRGA0, 0x00000021); - mmio_write_32(DBSC_DBPDRGD0, 0x0024643E); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000021); + mmio_write_32(DBSC_DBPDRGD_0, 0x0024643E); /* * recovery_Step3(DBSC Setting 2) @@ -1599,31 +1600,31 @@ static uint32_t recovery_from_backup_mode(uint32_t ddr_backup) if (pdqsr_ctl == 1) { mmio_write_32(0xE67F0018, 0x00000001); regval = mmio_read_32(0x40000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000000); - mmio_write_32(DBSC_DBPDRGD0, regval); - mmio_write_32(DBSC_DBPDRGA0, 0x000000A0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E0); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); - mmio_write_32(DBSC_DBPDRGA0, 0x00000100); - mmio_write_32(DBSC_DBPDRGD0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGD_0, regval); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E0); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000100); + mmio_write_32(DBSC_DBPDRGD_0, 0x7C0002C5); } /* PDR dynamic */ if (pdr_ctl == 1) { - mmio_write_32(DBSC_DBPDRGA0, 0x000000A3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000C3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x000000E3); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); - mmio_write_32(DBSC_DBPDRGA0, 0x00000103); - mmio_write_32(DBSC_DBPDRGD0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000A3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000C3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x000000E3); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); + mmio_write_32(DBSC_DBPDRGA_0, 0x00000103); + mmio_write_32(DBSC_DBPDRGD_0, 0x00000000); } - mmio_write_32(DBSC_DBPDLK0, 0x00000000); + mmio_write_32(DBSC_DBPDLK_0, 0x00000000); mmio_write_32(DBSC_DBSYSCNT0, 0x00000000); #ifdef ddr_qos_init_setting /* only for non qos_init */ |