summaryrefslogtreecommitdiff
path: root/src/soc/sifive/fu740/TODO
blob: 6e386531823e56efbd009187720fd1b77d2bd38f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
1. refactor SPI code. It works but there are quite some TODO left and it also currently only supports 1 MSEL configuration
2. sometimes PCIe is not working with the following error message in Linux:
[    0.619711] shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
[    0.621521] fu740-pcie e00000000.pcie: host bridge /soc/pcie@e00000000 ranges:
[    0.621603] fu740-pcie e00000000.pcie:       IO 0x0060080000..0x006008ffff -> 0x0060080000
[    0.621659] fu740-pcie e00000000.pcie:      MEM 0x0060090000..0x007fffffff -> 0x0060090000
[    0.621685] fu740-pcie e00000000.pcie:      MEM 0x2000000000..0x3fffffffff -> 0x2000000000
[    0.727890] fu740-pcie e00000000.pcie: iATU: unroll T, 8 ob, 8 ib, align 4K, limit 4096G
[    0.828041] fu740-pcie e00000000.pcie: PCIe Gen.1 x8 link up
[    1.828944] fu740-pcie e00000000.pcie: Phy link never came up
[    1.828961] fu740-pcie e00000000.pcie: error: link did not start at new speed
[    1.829142] ------------[ cut here ]------------
[    1.829152] WARNING: CPU: 2 PID: 1 at drivers/pci/controller/dwc/pcie-fu740.c:232 fu740_pcie_start_link+0x1b4/0x1ce
[    1.829191] Modules linked in:
[    1.829205] CPU: 2 PID: 1 Comm: swapper/0 Not tainted 6.5.0-9-generic #9.1-Ubuntu
[    1.829215] Hardware name: SiFive HiFive Unmatched A00 (DT)
[    1.829221] epc : fu740_pcie_start_link+0x1b4/0x1ce
[    1.829234]  ra : fu740_pcie_start_link+0x1ca/0x1ce
[    1.829247] epc : ffffffff806fa1ac ra : ffffffff806fa1c2 sp : ffffffc800023b30
[    1.829256]  gp : ffffffff822602d8 tp : ffffffd88027b600 t0 : ffffffff82029670
[    1.829263]  t1 : 0000000000000000 t2 : 0000000000000000 s0 : ffffffc800023b70
[    1.829270]  s1 : ffffffd88095d840 a0 : 0000000000000000 a1 : 0000000000000000
[    1.829276]  a2 : 0000000000000000 a3 : 0000000000000000 a4 : 0000000000000000
[    1.829282]  a5 : 0000000000000000 a6 : 0000000000000000 a7 : 0000000000000000
[    1.829288]  s2 : ffffffffffffff92 s3 : 0000000000716c81 s4 : ffffffd8802b2c10
[    1.829295]  s5 : 0000000000000003 s6 : ffffffffffffff92 s7 : ffffffff8108b448
[    1.829301]  s8 : 0000000000000008 s9 : ffffffff80e00106 s10: 0000000000000000
[    1.829307]  s11: 0000000000000000 t3 : 0000000000000000 t4 : 0000000000000000
[    1.829313]  t5 : 0000000000000000 t6 : 0000000000000000
[    1.829317] status: 0000000200000120 badaddr: ffffffffffffff92 cause: 0000000000000003
[    1.829326] [<ffffffff806fa1ac>] fu740_pcie_start_link+0x1b4/0x1ce
[    1.829341] [<ffffffff806f8692>] dw_pcie_host_init+0x21e/0x2cc
[    1.829355] [<ffffffff806fa2ca>] fu740_pcie_probe+0x104/0x15a
[    1.829366] [<ffffffff8083e510>] platform_probe+0x5e/0xc6
[    1.829388] [<ffffffff8083a7b4>] call_driver_probe+0x22/0x142
[    1.829400] [<ffffffff8083b36e>] really_probe+0x9a/0x2a2
[    1.829413] [<ffffffff8083b5f4>] __driver_probe_device+0x7e/0x146
[    1.829425] [<ffffffff8083b6f4>] driver_probe_device+0x38/0xd0
[    1.829436] [<ffffffff8083b966>] __driver_attach+0xee/0x1e8
[    1.829448] [<ffffffff80838e78>] bus_for_each_dev+0x6c/0xc4
[    1.829460] [<ffffffff8083acbe>] driver_attach+0x26/0x34
[    1.829471] [<ffffffff8083a1fe>] bus_add_driver+0x112/0x21e
[    1.829483] [<ffffffff8083cb12>] driver_register+0x52/0x106
[    1.829497] [<ffffffff8083e0b6>] __platform_driver_register+0x28/0x34
[    1.829511] [<ffffffff80e3322e>] fu740_pcie_driver_init+0x22/0x2c
[    1.829528] [<ffffffff80002962>] do_one_initcall+0x5c/0x1e2
[    1.829542] [<ffffffff80e01836>] kernel_init_freeable+0x286/0x300
[    1.829560] [<ffffffff80ce5b40>] kernel_init+0x2a/0x16e
[    1.829584] [<ffffffff80003f82>] ret_from_fork+0xe/0x20
[    1.829597] ---[ end trace 0000000000000000 ]---
[    1.829635] fu740-pcie: probe of e00000000.pcie failed with error -110