1
0
mirror of https://xff.cz/git/u-boot/ synced 2026-01-01 17:37:10 +01:00
Files
u-boot-megous/drivers/net
Greentime Hu 19fdc166f7 net: xilinx: fix the wrong dma base address issue
If we just use fdtdec_get_addr_size_fixed to get "reg" it will use
64bit address cell to get the base address.

soc {
   #address-cells = <1>;
   #size-cells = <1>;
   compatible ="SiFive,FU500-soc", "fu500-soc", "sifive-soc", "simple-bus";
   ranges;
   L28: axidma@30010000 {
           #dma-cells = <1>;
           compatible = "xlnx,axi-dma-1.00.a";
           axistream-connected = <&L27>;
           axistream-control-connected = <&L27>;
           clocks = <&L1>;
           interrupt-parent = <&L6>;
           interrupts = <32 33>;
           reg = <0x30010000 0x4000>;

fdtdec_get_addr_size_fixed: reg: addr=3001000000004000

We should get the base address through its parent's address-cells and
size-cells settings. So we should use fdtdec_get_addr_size_auto_parent()
to get correct base address.

After applying this patch, we can get the correct base address of dma by
replacing fdtdec_get_addr_size_fixed() with
fdtdec_get_addr_size_auto_parent().

fdtdec_get_addr_size_auto_parent:
     na=1, ns=1, fdtdec_get_addr_size_fixed: reg: addr=30010000

Signed-off-by: Greentime Hu <greentime.hu@sifive.com>
Signed-off-by: Andy Chiu <andy.chiu@sifive.com>
Link: https://lore.kernel.org/r/20220120084128.1892101-1-andy.chiu@sifive.com
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
2022-02-01 17:11:33 +01:00
..
2021-12-02 08:34:01 +02:00
2022-01-19 18:11:34 +01:00
2022-01-19 18:11:34 +01:00
2010-07-12 00:14:29 -07:00
2021-02-24 16:51:49 -05:00
2021-09-28 18:50:56 +03:00
2022-01-19 18:11:34 +01:00
2020-12-18 20:32:21 -07:00
2021-12-02 08:34:01 +02:00
2021-12-02 08:34:01 +02:00
2021-07-18 21:03:57 -04:00
2021-07-07 19:52:22 -04:00
2018-07-26 14:08:21 -05:00
2021-12-13 00:37:28 +01:00
2021-02-15 10:16:24 -05:00
2021-11-23 09:57:56 +02:00