Browse Source

Loongson7A: fix pcie td = 0 and remove length check of pcie controller

Change-Id: I2c5a9b50d9c3316abcc847a74b4c862afa486603
master
Huang Shuai 6 years ago
committed by zhangbaoqi
parent
commit
56abab4f20
  1. 218
      pmon/arch/mips/ls7a/ls7a_init.S

218
pmon/arch/mips/ls7a/ls7a_init.S

@ -1073,10 +1073,29 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700481c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00004800 dli t3, 0x90000efe00004800
li a0, 0x60000000 li a0, 0x60000000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060000000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060000000 dli t1, 0x90000e0060000000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1116,10 +1135,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700501c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00005000 dli t3, 0x90000efe00005000
li a0, 0x60100000 li a0, 0x60100000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060100000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060100000 dli t1, 0x90000e0060100000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1147,10 +1184,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700581c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00005800 dli t3, 0x90000efe00005800
li a0, 0x60200000 li a0, 0x60200000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060200000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060200000 dli t1, 0x90000e0060200000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1178,10 +1233,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700601c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00006000 dli t3, 0x90000efe00006000
li a0, 0x60300000 li a0, 0x60300000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060300000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060300000 dli t1, 0x90000e0060300000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1264,10 +1337,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700681c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00006800 dli t3, 0x90000efe00006800
li a0, 0x60000000 li a0, 0x60000000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060000000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060000000 dli t1, 0x90000e0060000000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1307,10 +1398,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700701c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00007000 dli t3, 0x90000efe00007000
li a0, 0x60100000 li a0, 0x60100000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060100000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060100000 dli t1, 0x90000e0060100000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1408,10 +1517,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700981c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00009800 dli t3, 0x90000efe00009800
li a0, 0x60000000 li a0, 0x60000000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060000000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060000000 dli t1, 0x90000e0060000000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1451,10 +1578,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700a01c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe0000a000 dli t3, 0x90000efe0000a000
li a0, 0x60100000 li a0, 0x60100000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060100000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060100000 dli t1, 0x90000e0060100000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1552,10 +1697,29 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700781c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00007800 dli t3, 0x90000efe00007800
li a0, 0x60000000 li a0, 0x60000000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060000000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060000000 dli t1, 0x90000e0060000000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1595,10 +1759,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700801c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00008000 dli t3, 0x90000efe00008000
li a0, 0x60100000 li a0, 0x60100000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060100000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060100000 dli t1, 0x90000e0060100000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1696,10 +1878,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700881c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00008800 dli t3, 0x90000efe00008800
li a0, 0x60000000 li a0, 0x60000000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060000000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060000000 dli t1, 0x90000e0060000000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)
@ -1739,10 +1939,28 @@ cal_one_pcie_x8:
or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18)) or a0, ((PCIE_TRY_GEN2 << 17) | (PCIE_TX_FULL_SWING << 18))
sw a0, 0xc(t3) sw a0, 0xc(t3)
dli t3, 0x90000efe0700901c
lw a1, 0x0(t3)
li a0, (0x1 << 26)
not a0, a0
and a1, a1, a0
sw a1, 0x0(t3)
dli t3, 0x90000efe00009000 dli t3, 0x90000efe00009000
li a0, 0x60100000 li a0, 0x60100000
sw a0, 0x10(t3) sw a0, 0x10(t3)
dli t1, 0x90000e0060100000
li t3, (0x1<<18)
not t3, t3
lw a0, 0x54(t1)
and a0, a0, t3
sw a0, 0x54(t1)
lw a0, 0x58(t1)
and a0, a0, t3
sw a0, 0x58(t1)
dli t1, 0x90000e0060100000 dli t1, 0x90000e0060100000
li a0, 0xff204c li a0, 0xff204c
sw a0, 0x0(t1) sw a0, 0x0(t1)

Loading…
Cancel
Save