Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uint DRAMC_get_dram_size(int param_1)
- {
- uint uVar1;
- int iVar2;
- uint uVar3;
- uVar3 = *(uint *)(param_1 + 24);
- uVar1 = *(uint *)(param_1 + 28);
- iVar2 = ((uVar1 << 0x10) >> 0x1c) +
- ((uVar3 << 0x10) >> 0x1e) +
- ((uVar3 << 0x14) >> 0x18) + ((uVar3 << 0x12) >> 0x1e) + (uVar3 & 0xf);
- if ((uVar1 & 0xf) == 0) {
- uVar3 = iVar2 - 0x12;
- }
- else {
- uVar3 = iVar2 - 0x13;
- }
- uVar3 = 1 << (uVar3 & 0xff);
- if (((*(ushort *)(param_1 + 122) & 7) != 0) && (uVar1 >> 0x1e != 2)) {
- uVar3 = uVar3 * 3 >> 2;
- }
- return uVar3;
- }
- /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
- undefined4 auto_scan_dram_config(int param_1)
- {
- int iVar1;
- char *__format;
- uint uVar2;
- bool bVar3;
- if (((-1 < *(int *)(param_1 + 0x78) << 0x11) && (iVar1 = auto_scan_dram_rank_width(), iVar1 == 0))
- || (iVar1 = auto_scan_dram_size(param_1), iVar1 == 0)) {
- return 0;
- }
- uVar2 = *(uint *)(param_1 + 0x78);
- bVar3 = -1 < (int)(uVar2 << 0x10);
- if (bVar3) {
- uVar2 = uVar2 | 0x6001;
- }
- if (bVar3) {
- *(uint *)(param_1 + 120) = uVar2;
- }
- if (*(int *)(param_1 + 120) << 12 < 0) {
- iVar1 = mctl_core_init(param_1);
- if (iVar1 == 0) {
- return 0;
- }
- iVar1 = DRAMC_get_dram_size(param_1);
- *(uint *)(param_1 + 0x78) = *(uint *)(param_1 + 0x78) & 0xfff7ffff;
- if (iVar1 == 4096) {
- _DAT_a0000000 = -0x5f5f5f60;
- DataSynchronizationBarrier(0xf);
- if (true) {
- _DAT_a0000000 = 0xa0a0a0a0;
- return 1;
- }
- __format = "[AUTO DEBUG]3GB autoscan enable,dram_tpr13 = %x\n";
- *(uint *)(param_1 + 0x78) = *(uint *)(param_1 + 0x78) | 0x10000;
- }
- else {
- if (iVar1 != 2048) {
- return 1;
- }
- _DAT_70000000 = 0x70707070;
- DataSynchronizationBarrier(0xf);
- if (true) {
- _DAT_a0000000 = -0x5f5f5f60;
- _DAT_80000000 = 0x80808080;
- __usdelay(1);
- if (_DAT_a0000000 == -0x5f5f5f60) {
- return 1;
- }
- uVar2 = *(uint *)(param_1 + 120) | 0x50000;
- }
- else {
- uVar2 = *(uint *)(param_1 + 120) | 0x20000;
- }
- *(uint *)(param_1 + 0x78) = uVar2;
- __format = "[AUTO DEBUG]1.5GB autoscan enable,dram_tpr13 = %x\n";
- }
- printf(__format);
- return 1;
- }
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement