Bdinit PM sample
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
void bdinit1() { *(volatile unsigned int *)(0xffe00004) = 0x00bda0c8; //Initialize DDR PHY. If not done and program is accessing address from 0x60000000, the board will be locked *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000C000; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000C100; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000C200; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000C400; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000C500; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000C600; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000C800; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000C900; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000CA00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000CC00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000CD00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000CE00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000D000; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000D100; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000D200; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000D400; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000D500; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000D600; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000D800; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000D900; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000DA00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000DC00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000DD00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000DE00; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x08020802; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x08040804; *(volatile unsigned int *)(0xffe0001C) = 0x4000E000; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x61610060; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00120024; *(volatile unsigned int *)(0xffe0001C) = 0x4000E100; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x40404040; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000E200; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x00004005; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000E400; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0xfffbfffb; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0xfffbfffb; *(volatile unsigned int *)(0xffe0001C) = 0x4000E500; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0xfffbfffb; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000E600; *(volatile unsigned int *)(0xffe0001C) = 0x04000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x00000000; *(volatile unsigned int *)(0xffe00018) = 0x00000000; *(volatile unsigned int *)(0xffe0001C) = 0x4000E700; *(volatile unsigned int *)(0xffe0001C) = 0x80200000; *(volatile unsigned int *)(0xffe0001C) = 0xc0206300; *(volatile unsigned int *)(0xffe0001C) = 0x8c206300; *(volatile unsigned int *)(0xffe0001C) = 0x88216300; //IS46DR16640C -25D DDR2-800D // Trtp=7.5ns Twr=15ns CL=5ns Trcd=12.5ns Trc=55ns Trp=12.5 Trfc=105 Tras=40ns tREFI=7.8us *(volatile unsigned int *)(0xffe00004) = 0x00bda0c8; *(volatile unsigned int *)(0xffe00008) = 0x141d0000; *(volatile unsigned int *)(0xffe0000c) = 0x2700; *(volatile unsigned int *)(0xffe00010) = 0x309f0309; *(volatile unsigned int *)(0xffe00000) = 0x96a18c30; } void bdinit2 () { // Enable UART. After reset to run the program with print statement, UART terminal must be connected or program will stack till output is done //*(volatile unsigned int *)(0x80000108) = 0x80000843; //Enable L2Cache *(volatile unsigned int *)(0xf0000008) |= 0x7; //Invalidate all Lines *(volatile unsigned int *)(0xf0000000) = 0xC0040000; //Enable L2Cache }