riscv: dts: spacemit: Add separate dram ranges for ethernet nodes 22/316922/2
authorMichal Wilczynski <m.wilczynski@samsung.com>
Wed, 28 Aug 2024 08:13:08 +0000 (10:13 +0200)
committerMichal Wilczynski <m.wilczynski@samsung.com>
Fri, 30 Aug 2024 16:07:24 +0000 (18:07 +0200)
It's better to use separate dram ranges for DMA, for different types of
nodes. Copy this changes as is from [1].

[1] - https://github.com/BPI-SINOVOIP/pi-linux/tree/linux-6.6.36-k1

Change-Id: I35aa038273aefc1b30408fbf978694ef8d1c9a42
Signed-off-by: Michal Wilczynski <m.wilczynski@samsung.com>
arch/riscv/boot/dts/spacemit/k1.dtsi

index dbe2b4fa0bb602641a6c7804f0725c0888ed4ef2..30b3cec7da82bc548ddd46dfcdc61fe1726ef72b 100644 (file)
                        power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
                        clk,pm-runtime,no-sleep;
                        cpuidle,pm-runtime,sleep;
-                       interconnects = <&dram_range0>;
+                       interconnects = <&dram_range4>;
                        interconnect-names = "dma-mem";
                        status = "ok";
                };
                         spacemit,apb_clock = <52000000>;
                         power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
                         cpuidle,pm-runtime,sleep;
-                       interconnects = <&dram_range0>;
+                       interconnects = <&dram_range4>;
                        interconnect-names = "dma-mem";
                         status = "disabled";
                 };
                         spacemit,apb_clock = <52000000>;
                         power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
                         cpuidle,pm-runtime,sleep;
-                       interconnects = <&dram_range0>;
+                       interconnects = <&dram_range4>;
                        interconnect-names = "dma-mem";
                         status = "disabled";
                 };
                        status = "okay";
                };
 
+               /* dram mapping for dma&users for ex. */
+               dram_range4: dram_range@4 {
+                       compatible = "spacemit-dram-bus";
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
+                                    <0x1 0x00000000 0x1 0x80000000 0x3 0x00000000>;
+                       #interconnect-cells = <0>;
+                       status = "okay";
+               };
+
+
+               /* dram mapping for eth/crypto/jpu for ex. */
+               dram_range5: dram_range@5 {
+                       compatible = "spacemit-dram-bus";
+                       #address-cells = <2>;
+                       #size-cells = <2>;
+                       dma-ranges = <0x0 0x00000000 0x0 0x00000000 0x0 0x80000000>,
+                                    <0x0 0x80000000 0x1 0x00000000 0x0 0x80000000>;
+                       #interconnect-cells = <0>;
+                       status = "okay";
+               };
 
                pinctrl: pinctrl@d401e000 {
                        compatible = "pinconf-single";
                        power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
                        clk,pm-runtime,no-sleep;
                        cpuidle,pm-runtime,sleep;
-                       interconnects = <&dram_range1>;
+                       interconnects = <&dram_range5>;
                        interconnect-names = "dma-mem";
                        status = "disabled";
                };
                        power-domains = <&power K1X_PMU_BUS_PWR_DOMAIN>;
                        clk,pm-runtime,no-sleep;
                        cpuidle,pm-runtime,sleep;
-                       interconnects = <&dram_range1>;
+                       interconnects = <&dram_range5>;
                        interconnect-names = "dma-mem";
                        status = "disabled";
                };