arm: mediatek: retrieve ram_base from dts node for armv8 platform
authorWeijie Gao <weijie.gao@mediatek.com>
Wed, 19 Jul 2023 09:15:41 +0000 (17:15 +0800)
committerTom Rini <trini@konsulko.com>
Thu, 3 Aug 2023 13:40:48 +0000 (09:40 -0400)
Now we use fdtdec_setup_mem_size_base() to get DRAM base from fdt ram node
and update gd->ram_base. CFG_SYS_SDRAM_BASE is unused and will be removed.

Also, since mt7622 always passes fdt to linux kernel, there's no need to
assign value to gd->bd->bi_boot_params.

Signed-off-by: Weijie Gao <weijie.gao@mediatek.com>
15 files changed:
arch/arm/dts/mt7981-emmc-rfb.dts
arch/arm/dts/mt7981-rfb.dts
arch/arm/dts/mt7981-sd-rfb.dts
arch/arm/dts/mt7986a-bpi-r3-sd.dts
arch/arm/dts/mt7986a-rfb.dts
arch/arm/dts/mt7986a-sd-rfb.dts
arch/arm/dts/mt7986b-rfb.dts
arch/arm/dts/mt7986b-sd-rfb.dts
arch/arm/mach-mediatek/mt7622/init.c
arch/arm/mach-mediatek/mt7981/init.c
arch/arm/mach-mediatek/mt7986/init.c
board/mediatek/mt7622/mt7622_rfb.c
include/configs/mt7622.h
include/configs/mt7981.h
include/configs/mt7986.h

index 2b7eae9..a0913c5 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
+
        reg_3p3v: regulator-3p3v {
                  compatible = "regulator-fixed";
                  regulator-name = "fixed-3.3V";
index 5559ace..1dc90ac 100644 (file)
                stdout-path = &uart0;
                tick-timer = &timer0;
        };
+
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
 };
 
 &uart0 {
index 34ac227..05f3fdb 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
+
        reg_3p3v: regulator-3p3v {
                  compatible = "regulator-fixed";
                  regulator-name = "fixed-3.3V";
index 4d12440..1525630 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x80000000>;
+       };
+
        reg_3p3v: regulator-3p3v {
                compatible = "regulator-fixed";
                regulator-name = "fixed-3.3V";
index 80def57..dce85d8 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
+
        reg_1p8v: regulator-1p8v {
                compatible = "regulator-fixed";
                regulator-name = "fixed-1.8V";
index 5807c5d..7f32607 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
+
        reg_3p3v: regulator-3p3v {
                compatible = "regulator-fixed";
                regulator-name = "fixed-3.3V";
index 0c4e3e8..3349e38 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
+
        reg_3p3v: regulator-3p3v {
                compatible = "regulator-fixed";
                regulator-name = "fixed-3.3V";
index 48f9320..6c92033 100644 (file)
                tick-timer = &timer0;
        };
 
+       memory@40000000 {
+               device_type = "memory";
+               reg = <0x40000000 0x10000000>;
+       };
+
        reg_3p3v: regulator-3p3v {
                compatible = "regulator-fixed";
                regulator-name = "fixed-3.3V";
index e501907..00d3eb9 100644 (file)
@@ -4,11 +4,15 @@
  * Author: Sam Shih <sam.shih@mediatek.com>
  */
 
-#include <common.h>
 #include <fdtdec.h>
 #include <init.h>
 #include <asm/armv8/mmu.h>
-#include <asm/cache.h>
+#include <asm/system.h>
+#include <asm/global_data.h>
+#include <asm/u-boot.h>
+#include <linux/sizes.h>
+
+DECLARE_GLOBAL_DATA_PTR;
 
 int print_cpuinfo(void)
 {
@@ -20,11 +24,13 @@ int dram_init(void)
 {
        int ret;
 
-       ret = fdtdec_setup_memory_banksize();
+       ret = fdtdec_setup_mem_size_base();
        if (ret)
                return ret;
-       return fdtdec_setup_mem_size_base();
 
+       gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_2G);
+
+       return 0;
 }
 
 void reset_cpu(void)
index 3c921d6..862f0ca 100644 (file)
@@ -4,18 +4,25 @@
  * Author: Sam Shih <sam.shih@mediatek.com>
  */
 
-#include <cpu_func.h>
+#include <fdtdec.h>
 #include <init.h>
 #include <asm/armv8/mmu.h>
 #include <asm/system.h>
 #include <asm/global_data.h>
+#include <asm/u-boot.h>
 #include <linux/sizes.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
-       gd->ram_size = get_ram_size((void *)CFG_SYS_SDRAM_BASE, SZ_2G);
+       int ret;
+
+       ret = fdtdec_setup_mem_size_base();
+       if (ret)
+               return ret;
+
+       gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_1G);
 
        return 0;
 }
index 9d0c0cd..905a3ab 100644 (file)
@@ -4,18 +4,25 @@
  * Author: Sam Shih <sam.shih@mediatek.com>
  */
 
-#include <cpu_func.h>
+#include <fdtdec.h>
 #include <init.h>
 #include <asm/armv8/mmu.h>
 #include <asm/system.h>
 #include <asm/global_data.h>
+#include <asm/u-boot.h>
 #include <linux/sizes.h>
 
 DECLARE_GLOBAL_DATA_PTR;
 
 int dram_init(void)
 {
-       gd->ram_size = get_ram_size((void *)CFG_SYS_SDRAM_BASE, SZ_2G);
+       int ret;
+
+       ret = fdtdec_setup_mem_size_base();
+       if (ret)
+               return ret;
+
+       gd->ram_size = get_ram_size((void *)gd->ram_base, SZ_2G);
 
        return 0;
 }
index ff233e9..2cc73bc 100644 (file)
@@ -14,7 +14,6 @@ DECLARE_GLOBAL_DATA_PTR;
 
 int board_init(void)
 {
-       gd->bd->bi_boot_params = CFG_SYS_SDRAM_BASE + 0x100;
        return 0;
 }
 
index 6541512..4a05695 100644 (file)
@@ -9,14 +9,4 @@
 #ifndef __MT7622_H
 #define __MT7622_H
 
-/* Uboot definition */
-#define CFG_SYS_UBOOT_BASE                   CONFIG_TEXT_BASE
-
-/* SPL -> Uboot */
-#define CFG_SYS_UBOOT_START            CONFIG_TEXT_BASE
-/* DRAM */
-#define CFG_SYS_SDRAM_BASE             0x40000000
-
-/* Ethernet */
-
 #endif
index 14c885e..a6d647e 100644 (file)
@@ -9,13 +9,4 @@
 #ifndef __MT7981_H
 #define __MT7981_H
 
-/* Uboot definition */
-#define CFG_SYS_UBOOT_BASE             CONFIG_TEXT_BASE
-
-/* SPL -> Uboot */
-#define CFG_SYS_UBOOT_START            CONFIG_TEXT_BASE
-
-/* DRAM */
-#define CFG_SYS_SDRAM_BASE             0x40000000
-
 #endif
index 0c41af1..090b4c6 100644 (file)
@@ -9,13 +9,4 @@
 #ifndef __MT7986_H
 #define __MT7986_H
 
-/* Uboot definition */
-#define CFG_SYS_UBOOT_BASE             CONFIG_TEXT_BASE
-
-/* SPL -> Uboot */
-#define CFG_SYS_UBOOT_START            CONFIG_TEXT_BASE
-
-/* DRAM */
-#define CFG_SYS_SDRAM_BASE             0x40000000
-
 #endif