diff options
author | Weijie Gao <weijie.gao@mediatek.com> | 2023-07-19 17:15:41 +0800 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2023-08-03 09:40:48 -0400 |
commit | 5fd6d4c7b3adc140f2969ed3965fd5c3e8f2d368 (patch) | |
tree | 67512e33c09ea7a663bd8631ce40e3242dc9a5c4 /arch/arm | |
parent | 35e6c89b76fcdad101e0a706e4706ac11cb8642d (diff) | |
download | u-boot-5fd6d4c7b3adc140f2969ed3965fd5c3e8f2d368.zip u-boot-5fd6d4c7b3adc140f2969ed3965fd5c3e8f2d368.tar.gz u-boot-5fd6d4c7b3adc140f2969ed3965fd5c3e8f2d368.tar.bz2 |
arm: mediatek: retrieve ram_base from dts node for armv8 platform
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>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/dts/mt7981-emmc-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7981-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7981-sd-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7986a-bpi-r3-sd.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7986a-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7986a-sd-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7986b-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/dts/mt7986b-sd-rfb.dts | 5 | ||||
-rw-r--r-- | arch/arm/mach-mediatek/mt7622/init.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-mediatek/mt7981/init.c | 11 | ||||
-rw-r--r-- | arch/arm/mach-mediatek/mt7986/init.c | 11 |
11 files changed, 68 insertions, 8 deletions
diff --git a/arch/arm/dts/mt7981-emmc-rfb.dts b/arch/arm/dts/mt7981-emmc-rfb.dts index 2b7eae9..a0913c5 100644 --- a/arch/arm/dts/mt7981-emmc-rfb.dts +++ b/arch/arm/dts/mt7981-emmc-rfb.dts @@ -18,6 +18,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; + reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; diff --git a/arch/arm/dts/mt7981-rfb.dts b/arch/arm/dts/mt7981-rfb.dts index 5559ace..1dc90ac 100644 --- a/arch/arm/dts/mt7981-rfb.dts +++ b/arch/arm/dts/mt7981-rfb.dts @@ -17,6 +17,11 @@ stdout-path = &uart0; tick-timer = &timer0; }; + + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; }; &uart0 { diff --git a/arch/arm/dts/mt7981-sd-rfb.dts b/arch/arm/dts/mt7981-sd-rfb.dts index 34ac227..05f3fdb 100644 --- a/arch/arm/dts/mt7981-sd-rfb.dts +++ b/arch/arm/dts/mt7981-sd-rfb.dts @@ -18,6 +18,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; + reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; diff --git a/arch/arm/dts/mt7986a-bpi-r3-sd.dts b/arch/arm/dts/mt7986a-bpi-r3-sd.dts index 4d12440..1525630 100644 --- a/arch/arm/dts/mt7986a-bpi-r3-sd.dts +++ b/arch/arm/dts/mt7986a-bpi-r3-sd.dts @@ -19,6 +19,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x80000000>; + }; + reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; diff --git a/arch/arm/dts/mt7986a-rfb.dts b/arch/arm/dts/mt7986a-rfb.dts index 80def57..dce85d8 100644 --- a/arch/arm/dts/mt7986a-rfb.dts +++ b/arch/arm/dts/mt7986a-rfb.dts @@ -18,6 +18,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; + reg_1p8v: regulator-1p8v { compatible = "regulator-fixed"; regulator-name = "fixed-1.8V"; diff --git a/arch/arm/dts/mt7986a-sd-rfb.dts b/arch/arm/dts/mt7986a-sd-rfb.dts index 5807c5d..7f32607 100644 --- a/arch/arm/dts/mt7986a-sd-rfb.dts +++ b/arch/arm/dts/mt7986a-sd-rfb.dts @@ -19,6 +19,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; + reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; diff --git a/arch/arm/dts/mt7986b-rfb.dts b/arch/arm/dts/mt7986b-rfb.dts index 0c4e3e8..3349e38 100644 --- a/arch/arm/dts/mt7986b-rfb.dts +++ b/arch/arm/dts/mt7986b-rfb.dts @@ -18,6 +18,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; + reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; diff --git a/arch/arm/dts/mt7986b-sd-rfb.dts b/arch/arm/dts/mt7986b-sd-rfb.dts index 48f9320..6c92033 100644 --- a/arch/arm/dts/mt7986b-sd-rfb.dts +++ b/arch/arm/dts/mt7986b-sd-rfb.dts @@ -19,6 +19,11 @@ tick-timer = &timer0; }; + memory@40000000 { + device_type = "memory"; + reg = <0x40000000 0x10000000>; + }; + reg_3p3v: regulator-3p3v { compatible = "regulator-fixed"; regulator-name = "fixed-3.3V"; diff --git a/arch/arm/mach-mediatek/mt7622/init.c b/arch/arm/mach-mediatek/mt7622/init.c index e501907..00d3eb9 100644 --- a/arch/arm/mach-mediatek/mt7622/init.c +++ b/arch/arm/mach-mediatek/mt7622/init.c @@ -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) diff --git a/arch/arm/mach-mediatek/mt7981/init.c b/arch/arm/mach-mediatek/mt7981/init.c index 3c921d6..862f0ca 100644 --- a/arch/arm/mach-mediatek/mt7981/init.c +++ b/arch/arm/mach-mediatek/mt7981/init.c @@ -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; } diff --git a/arch/arm/mach-mediatek/mt7986/init.c b/arch/arm/mach-mediatek/mt7986/init.c index 9d0c0cd..905a3ab 100644 --- a/arch/arm/mach-mediatek/mt7986/init.c +++ b/arch/arm/mach-mediatek/mt7986/init.c @@ -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; } |