Bdinit PM sample
Revision as of 01:02, 22 December 2020 by imported>Bkavanagh
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 }