proc psu_pll_init_data {} { | |
mask_write 0XFF5E0030 0x00017F00 0x00013000 | |
mask_write 0XFF5E0030 0x00000008 0x00000008 | |
mask_write 0XFF5E0030 0x00000001 0x00000001 | |
mask_write 0XFF5E0030 0x00000001 0x00000000 | |
mask_poll 0XFF5E0040 0x00000002 | |
mask_write 0XFF5E0030 0x00000008 0x00000000 | |
mask_write 0XFF5E0048 0x00003F00 0x00000300 | |
mask_write 0XFF5E0020 0x00017F00 0x00013C00 | |
mask_write 0XFF5E0020 0x00000008 0x00000008 | |
mask_write 0XFF5E0020 0x00000001 0x00000001 | |
mask_write 0XFF5E0020 0x00000001 0x00000000 | |
mask_poll 0XFF5E0040 0x00000001 | |
mask_write 0XFF5E0020 0x00000008 0x00000000 | |
mask_write 0XFF5E0044 0x00003F00 0x00000400 | |
mask_write 0XFD1A0020 0x00017F00 0x00013C00 | |
mask_write 0XFD1A0020 0x00000008 0x00000008 | |
mask_write 0XFD1A0020 0x00000001 0x00000001 | |
mask_write 0XFD1A0020 0x00000001 0x00000000 | |
mask_poll 0XFD1A0044 0x00000001 | |
mask_write 0XFD1A0020 0x00000008 0x00000000 | |
mask_write 0XFD1A0048 0x00003F00 0x00000400 | |
mask_write 0XFD1A002C 0x00017F00 0x00013C00 | |
mask_write 0XFD1A002C 0x00000008 0x00000008 | |
mask_write 0XFD1A002C 0x00000001 0x00000001 | |
mask_write 0XFD1A002C 0x00000001 0x00000000 | |
mask_poll 0XFD1A0044 0x00000002 | |
mask_write 0XFD1A002C 0x00000008 0x00000000 | |
mask_write 0XFD1A004C 0x00003F00 0x00000400 | |
mask_write 0XFD1A0038 0x00017F00 0x00013F00 | |
mask_write 0XFD1A0038 0x00000008 0x00000008 | |
mask_write 0XFD1A0038 0x00000001 0x00000001 | |
mask_write 0XFD1A0038 0x00000001 0x00000000 | |
mask_poll 0XFD1A0044 0x00000004 | |
mask_write 0XFD1A0038 0x00000008 0x00000000 | |
mask_write 0XFD1A0050 0x00003F00 0x00000400 | |
} | |
proc psu_clock_init_data {} { | |
mask_write 0XFF5E0050 0x063F3F07 0x06022800 | |
mask_write 0XFF5E0054 0x063F3F07 0x06022800 | |
mask_write 0XFF5E0058 0x063F3F07 0x06022800 | |
mask_write 0XFF5E005C 0x063F3F07 0x06022800 | |
mask_write 0XFF5E0060 0x023F3F07 0x02013200 | |
mask_write 0XFF5E004C 0x023F3F07 0x02010800 | |
mask_write 0XFF5E0068 0x013F3F07 0x01023200 | |
mask_write 0XFF5E006C 0x013F3F07 0x01023200 | |
mask_write 0XFF5E0070 0x013F3F07 0x01023200 | |
mask_write 0XFF5E0074 0x013F3F07 0x01022800 | |
mask_write 0XFF5E0078 0x013F3F07 0x01022800 | |
mask_write 0XFF5E0120 0x013F3F07 0x01022800 | |
mask_write 0XFF5E0124 0x013F3F07 0x010A3200 | |
mask_write 0XFF5E007C 0x013F3F07 0x01022800 | |
mask_write 0XFF5E0080 0x013F3F07 0x010A3200 | |
mask_write 0XFF5E0084 0x013F3F07 0x01022800 | |
mask_write 0XFF5E0088 0x013F3F07 0x01022800 | |
mask_write 0XFF5E0090 0x01003F07 0x01003F02 | |
mask_write 0XFF5E009C 0x01003F07 0x01000600 | |
mask_write 0XFF5E00A4 0x01003F07 0x01000800 | |
mask_write 0XFF5E00A8 0x01003F07 0x01000402 | |
mask_write 0XFF5E00AC 0x01003F07 0x01001402 | |
mask_write 0XFF5E00B0 0x01003F07 0x01003F00 | |
mask_write 0XFF5E00B4 0x013F3F07 0x01023200 | |
mask_write 0XFF5E00B8 0x01003F07 0x01000402 | |
mask_write 0XFF5E0108 0x013F3F07 0x01012800 | |
mask_write 0XFF5E0104 0x00000007 0x00000000 | |
mask_write 0XFF5E0128 0x01003F07 0x01001402 | |
mask_write 0XFD1A00B4 0x01003F07 0x01003F00 | |
mask_write 0XFD1A0070 0x013F3F07 0x01153200 | |
mask_write 0XFD1A0074 0x013F3F07 0x01022A00 | |
mask_write 0XFD1A007C 0x013F3F07 0x01022A00 | |
mask_write 0XFD1A0060 0x03003F07 0x03003F00 | |
mask_write 0XFD1A0064 0x01003F07 0x01003F02 | |
mask_write 0XFD1A0068 0x01003F07 0x01003F02 | |
mask_write 0XFD1A0080 0x00003F07 0x00000A00 | |
mask_write 0XFD1A0084 0x07003F07 0x07003F02 | |
mask_write 0XFD1A00B8 0x01003F07 0x01000303 | |
mask_write 0XFD1A00BC 0x01003F07 0x01000303 | |
mask_write 0XFD1A00C0 0x01003F07 0x01000303 | |
mask_write 0XFD1A00C4 0x01003F07 0x01001400 | |
mask_write 0XFD1A00C8 0x01003F07 0x01001102 | |
mask_write 0XFD1A00F8 0x00003F07 0x00000802 | |
} | |
proc psu_ddr_init_data_3_0 {} { | |
} | |
proc psu_mio_init_data {} { | |
# mask_write 0XFF180000 0x000000FE 0x00000002 | |
# mask_write 0XFF180004 0x000000FE 0x00000002 | |
# mask_write 0XFF180008 0x000000FE 0x00000002 | |
# mask_write 0XFF18000C 0x000000FE 0x00000002 | |
# mask_write 0XFF180010 0x000000FE 0x00000002 | |
# mask_write 0XFF180014 0x000000FE 0x00000002 | |
# mask_write 0XFF180018 0x000000FE 0x00000000 | |
# mask_write 0XFF18001C 0x000000FE 0x00000000 | |
# mask_write 0XFF180020 0x000000FE 0x00000000 | |
# mask_write 0XFF180024 0x000000FE 0x00000000 | |
# mask_write 0XFF180028 0x000000FE 0x00000004 | |
# mask_write 0XFF18002C 0x000000FE 0x00000004 | |
# mask_write 0XFF180030 0x000000FE 0x00000000 | |
# mask_write 0XFF180034 0x000000FE 0x00000004 | |
# mask_write 0XFF180038 0x000000FE 0x00000004 | |
# mask_write 0XFF18003C 0x000000FE 0x00000004 | |
# mask_write 0XFF180040 0x000000FE 0x00000004 | |
# mask_write 0XFF180044 0x000000FE 0x00000004 | |
# mask_write 0XFF180048 0x000000FE 0x00000004 | |
# mask_write 0XFF18004C 0x000000FE 0x00000004 | |
# mask_write 0XFF180050 0x000000FE 0x00000004 | |
# mask_write 0XFF180054 0x000000FE 0x00000004 | |
# mask_write 0XFF180058 0x000000FE 0x00000004 | |
# mask_write 0XFF18005C 0x000000FE 0x00000004 | |
# mask_write 0XFF180060 0x000000FE 0x00000004 | |
# mask_write 0XFF180064 0x000000FE 0x00000004 | |
# mask_write 0XFF180068 0x000000FE 0x00000004 | |
# mask_write 0XFF18006C 0x000000FE 0x00000000 | |
# mask_write 0XFF180070 0x000000FE 0x00000000 | |
# mask_write 0XFF180074 0x000000FE 0x00000080 | |
# mask_write 0XFF180078 0x000000FE 0x00000000 | |
# mask_write 0XFF18007C 0x000000FE 0x00000000 | |
# mask_write 0XFF180080 0x000000FE 0x00000004 | |
# mask_write 0XFF180084 0x000000FE 0x00000000 | |
# mask_write 0XFF180088 0x000000FE 0x00000000 | |
# mask_write 0XFF18008C 0x000000FE 0x00000080 | |
# mask_write 0XFF180090 0x000000FE 0x00000000 | |
# mask_write 0XFF180094 0x000000FE 0x00000000 | |
# mask_write 0XFF180098 0x000000FE 0x00000000 | |
# mask_write 0XFF18009C 0x000000FE 0x00000010 | |
# mask_write 0XFF1800A0 0x000000FE 0x00000010 | |
# mask_write 0XFF1800A4 0x000000FE 0x00000010 | |
# mask_write 0XFF1800A8 0x000000FE 0x00000010 | |
# mask_write 0XFF1800AC 0x000000FE 0x00000010 | |
# mask_write 0XFF1800B0 0x000000FE 0x00000000 | |
# mask_write 0XFF1800B4 0x000000FE 0x00000000 | |
# mask_write 0XFF1800B8 0x000000FE 0x00000010 | |
# mask_write 0XFF1800BC 0x000000FE 0x00000010 | |
# mask_write 0XFF1800C0 0x000000FE 0x00000010 | |
# mask_write 0XFF1800C4 0x000000FE 0x00000010 | |
# mask_write 0XFF1800C8 0x000000FE 0x00000010 | |
# mask_write 0XFF1800CC 0x000000FE 0x00000010 | |
# mask_write 0XFF1800D0 0x000000FE 0x00000004 | |
# mask_write 0XFF1800D4 0x000000FE 0x00000004 | |
# mask_write 0XFF1800D8 0x000000FE 0x00000004 | |
# mask_write 0XFF1800DC 0x000000FE 0x00000004 | |
# mask_write 0XFF1800E0 0x000000FE 0x00000004 | |
# mask_write 0XFF1800E4 0x000000FE 0x00000004 | |
# mask_write 0XFF1800E8 0x000000FE 0x00000004 | |
# mask_write 0XFF1800EC 0x000000FE 0x00000004 | |
# mask_write 0XFF1800F0 0x000000FE 0x00000004 | |
# mask_write 0XFF1800F4 0x000000FE 0x00000004 | |
# mask_write 0XFF1800F8 0x000000FE 0x00000004 | |
# mask_write 0XFF1800FC 0x000000FE 0x00000004 | |
# mask_write 0XFF180100 0x000000FE 0x00000008 | |
# mask_write 0XFF180104 0x000000FE 0x00000008 | |
# mask_write 0XFF180108 0x000000FE 0x00000008 | |
# mask_write 0XFF18010C 0x000000FE 0x00000008 | |
# mask_write 0XFF180110 0x000000FE 0x00000008 | |
# mask_write 0XFF180114 0x000000FE 0x00000008 | |
# mask_write 0XFF180118 0x000000FE 0x00000008 | |
# mask_write 0XFF18011C 0x000000FE 0x00000008 | |
# mask_write 0XFF180120 0x000000FE 0x00000008 | |
# mask_write 0XFF180124 0x000000FE 0x00000008 | |
# mask_write 0XFF180128 0x000000FE 0x00000008 | |
# mask_write 0XFF18012C 0x000000FE 0x00000008 | |
# mask_write 0XFF180130 0x000000FE 0x00000008 | |
# mask_write 0XFF180134 0x000000FE 0x00000000 | |
# mask_write 0XFF180204 0xFFFFFFFF 0x00000C00 | |
# mask_write 0XFF180208 0xFFFFFFFF 0x00B00000 | |
# mask_write 0XFF18020C 0x00003FFF 0x00001002 | |
# mask_write 0XFF180200 0x0000000F 0x00000000 | |
} | |
proc psu_peripherals_init_data_3_0 {} { | |
mask_write 0XFF5E0230 0x0000000F 0x00000000 | |
mask_write 0XFF5E0238 0x00000001 0x00000000 | |
mask_write 0XFF5E0238 0x00010000 0x00000000 | |
mask_write 0XFF5E023C 0x00000540 0x00000000 | |
mask_write 0XFF5E0238 0x00000060 0x00000000 | |
mask_write 0XFF180310 0x00008001 0x00000000 | |
mask_write 0XFF180320 0x33803380 0x02800280 | |
mask_write 0XFF5E0238 0x00000180 0x00000000 | |
mask_write 0XFF5E0238 0x00000600 0x00000000 | |
mask_write 0XFF5E0238 0x00000018 0x00000000 | |
mask_write 0XFF5E0238 0x00007800 0x00000000 | |
mask_write 0XFF5E0238 0x00000006 0x00000000 | |
mask_write 0XFF000034 0x000000FF 0x00000000 | |
mask_write 0XFF000018 0x0000FFFF 0x00000000 | |
mask_write 0XFF000000 0x000001FF 0x00000017 | |
mask_write 0XFF000004 0x000003FF 0x00000020 | |
mask_write 0XFF010034 0x000000FF 0x00000000 | |
mask_write 0XFF010018 0x0000FFFF 0x00000000 | |
mask_write 0XFF010000 0x000001FF 0x00000017 | |
mask_write 0XFF010004 0x000003FF 0x00000020 | |
mask_write 0XFF4B0024 0x000000FF 0x000000FF | |
mask_write 0XFFCA5000 0x00001FFF 0x00000000 | |
} | |
proc psu_post_config {} { | |
} | |
proc psu_peripherals_powerdwn_data_3_0 {} { | |
} | |
proc psu_security_data_3_0 {} { | |
mask_write 0XFF980100 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980104 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980108 0xC3FF03FF 0x00000000 | |
mask_write 0XFF98010C 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980110 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980114 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980118 0xC3FF03FF 0x00000000 | |
mask_write 0XFF98011C 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980120 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980124 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980128 0xC3FF03FF 0x00000000 | |
mask_write 0XFF98012C 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980130 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980134 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980138 0xC3FF03FF 0x00000000 | |
mask_write 0XFF98013C 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980140 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980144 0xC3FF03FF 0x00000000 | |
mask_write 0XFF980148 0xC3FF03FF 0x00000000 | |
mask_write 0XFF98014C 0xC3FF03FF 0x00000000 | |
} | |
proc init_ddrc {} { | |
mask_write 0XFD1A0108 0xFFFFFFFF 0x0000000F | |
mask_write 0xFD070000 0xFFFFFFFF 0x41040001 | |
mask_write 0xFD070034 0xFFFFFFFF 0x00404310 | |
mask_write 0xFD070064 0xFFFFFFFF 0x0040001E | |
mask_write 0xFD070070 0xFFFFFFFF 0x00000010 | |
mask_write 0xFD070074 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD0700C4 0xFFFFFFFF 0x10000200 | |
mask_write 0xFD0700C8 0xFFFFFFFF 0x0030051F | |
mask_write 0xFD0700D0 0xFFFFFFFF 0x40020004 | |
mask_write 0xFD0700D4 0xFFFFFFFF 0x00010000 | |
mask_write 0xFD0700D8 0xFFFFFFFF 0x00001205 | |
mask_write 0xFD0700DC 0xFFFFFFFF 0x09300000 | |
mask_write 0xFD0700E0 0xFFFFFFFF 0x02080000 | |
mask_write 0xFD0700E4 0xFFFFFFFF 0x00110004 | |
mask_write 0xFD070100 0xFFFFFFFF 0x090E110A | |
mask_write 0xFD070104 0xFFFFFFFF 0x0007020E | |
mask_write 0xFD070108 0xFFFFFFFF 0x03040407 | |
mask_write 0xFD07010C 0xFFFFFFFF 0x00502006 | |
mask_write 0xFD070110 0xFFFFFFFF 0x04020205 | |
mask_write 0xFD070114 0xFFFFFFFF 0x03030202 | |
mask_write 0xFD070118 0xFFFFFFFF 0x01010003 | |
mask_write 0xFD07011C 0xFFFFFFFF 0x00000101 | |
mask_write 0xFD070120 0xFFFFFFFF 0x03030903 | |
mask_write 0xFD070130 0xFFFFFFFF 0x00020608 | |
mask_write 0xFD070180 0xFFFFFFFF 0x00800020 | |
mask_write 0xFD070184 0xFFFFFFFF 0x0200CB52 | |
mask_write 0xFD070190 0xFFFFFFFF 0x02838204 | |
mask_write 0xFD070194 0xFFFFFFFF 0x00020404 | |
mask_write 0xFD0701A4 0xFFFFFFFF 0x00010087 | |
mask_write 0xFD0701B0 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD0701B4 0xFFFFFFFF 0x00000202 | |
mask_write 0xFD0701C0 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070200 0xFFFFFFFF 0x0000001F | |
mask_write 0xFD070204 0xFFFFFFFF 0x00080808 | |
mask_write 0xFD070208 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD07020C 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070210 0xFFFFFFFF 0x00000F0F | |
mask_write 0xFD070214 0xFFFFFFFF 0x07070707 | |
mask_write 0xFD070218 0xFFFFFFFF 0x07070707 | |
mask_write 0xFD07021C 0xFFFFFFFF 0x00000F0F | |
mask_write 0xFD070220 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070240 0xFFFFFFFF 0x06000604 | |
mask_write 0xFD070244 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD070250 0xFFFFFFFF 0x01002001 | |
mask_write 0xFD070264 0xFFFFFFFF 0x08000040 | |
mask_write 0xFD07026C 0xFFFFFFFF 0x08000040 | |
mask_write 0xFD070294 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD07030C 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070320 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070400 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD070404 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070408 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070490 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD070494 0xFFFFFFFF 0x0021000B | |
mask_write 0xFD070498 0xFFFFFFFF 0x004F004F | |
mask_write 0xFD0704B4 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD0704B8 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070540 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD070544 0xFFFFFFFF 0x02000B03 | |
mask_write 0xFD070548 0xFFFFFFFF 0x00010040 | |
mask_write 0xFD070564 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070568 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD0705F0 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD0705F4 0xFFFFFFFF 0x02000B03 | |
mask_write 0xFD0705F8 0xFFFFFFFF 0x00010040 | |
mask_write 0xFD070614 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070618 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD0706A0 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD0706A4 0xFFFFFFFF 0x00100003 | |
mask_write 0xFD0706A8 0xFFFFFFFF 0x002F004F | |
mask_write 0xFD0706AC 0xFFFFFFFF 0x00100007 | |
mask_write 0xFD0706B0 0xFFFFFFFF 0x0000004F | |
mask_write 0xFD0706C4 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD0706C8 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070750 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD070754 0xFFFFFFFF 0x00100003 | |
mask_write 0xFD070758 0xFFFFFFFF 0x002F004F | |
mask_write 0xFD07075C 0xFFFFFFFF 0x00100007 | |
mask_write 0xFD070760 0xFFFFFFFF 0x0000004F | |
mask_write 0xFD070774 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070778 0xFFFFFFFF 0x0000600F | |
mask_write 0xFD070800 0xFFFFFFFF 0x00000001 | |
mask_write 0xFD070804 0xFFFFFFFF 0x00100003 | |
mask_write 0xFD070808 0xFFFFFFFF 0x002F004F | |
mask_write 0xFD07080C 0xFFFFFFFF 0x00100007 | |
mask_write 0xFD070810 0xFFFFFFFF 0x0000004F | |
mask_write 0xFD070F04 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070F08 0xFFFFFFFF 0x00000000 | |
mask_write 0xFD070F0C 0xFFFFFFFF 0x00000010 | |
mask_write 0xFD070F10 0xFFFFFFFF 0x0000000F | |
set RegValue [mrd -force -value 0XFD1A0108] | |
mask_write 0XFD1A0108 0xFFFFFFFF 0x00000000 | |
set RegValue [mrd -force -value 0XFD1A0108] | |
} | |
proc init_peripheral {} { | |
# Turn on IOU Clock | |
mask_write 0xFF5E009C 0xFFFFFFFF 0x01001500 | |
# Release all resets in the IOU | |
mask_write 0xFF5E0230 0xFFFFFFFF 0x00000000 | |
mask_write 0xFF5E0234 0xFFFFFFFF 0x00000000 | |
mask_write 0xFF5E0238 0xFFFFFFFF 0x00000000 | |
# Activate GPU clocks | |
mask_write 0xFD1A0084 0xFFFFFFFF 0x07001500 | |
# Take LPD out of reset except R5 | |
set RegValue [mrd -force -value 0xFF5E023C] | |
set RegValue [expr $RegValue & 0x3] | |
mask_write 0xFF5E023C 0xFFFFFFFF $RegValue | |
# Take most of FPD out of reset | |
mask_write 0XFD1A0100 0xFFFFFFFF 0x00000000 | |
} | |
proc psu_init {} { | |
psu_mio_init_data | |
psu_pll_init_data | |
psu_clock_init_data | |
psu_ddr_init_data_3_0 | |
init_ddrc | |
init_peripheral | |
psu_peripherals_init_data_3_0 | |
psu_peripherals_powerdwn_data_3_0 | |
psu_security_data_3_0 | |
} |