Message ID | 20240424111434.373920-1-robert.marko@sartura.hr |
---|---|
State | Superseded |
Delegated to: | Caleb Connolly |
Headers | show |
Series | [1/3] mach-ipq40xx: add CPU specific code | expand |
On 24/04/2024 13:13, Robert Marko wrote: > Provide basic DRAM info population from DT, cache setting and the > board_init stub. > > Signed-off-by: Robert Marko <robert.marko@sartura.hr> Acked-by: Caleb Connolly <caleb.connolly@linaro.org> > --- > arch/arm/mach-ipq40xx/Makefile | 7 ++++++ > arch/arm/mach-ipq40xx/cpu.c | 44 ++++++++++++++++++++++++++++++++++ > 2 files changed, 51 insertions(+) > create mode 100644 arch/arm/mach-ipq40xx/Makefile > create mode 100644 arch/arm/mach-ipq40xx/cpu.c > > diff --git a/arch/arm/mach-ipq40xx/Makefile b/arch/arm/mach-ipq40xx/Makefile > new file mode 100644 > index 0000000000..d611de9933 > --- /dev/null > +++ b/arch/arm/mach-ipq40xx/Makefile > @@ -0,0 +1,7 @@ > +# SPDX-License-Identifier: GPL-2.0+ > +# > +# Copyright (c) 2024 Sartura Ltd. > +# > +# Author: Robert Marko <robert.marko@sartura.hr> > + > +obj-y += cpu.o > diff --git a/arch/arm/mach-ipq40xx/cpu.c b/arch/arm/mach-ipq40xx/cpu.c > new file mode 100644 > index 0000000000..0446627a8f > --- /dev/null > +++ b/arch/arm/mach-ipq40xx/cpu.c > @@ -0,0 +1,44 @@ > +// SPDX-License-Identifier: GPL-2.0+ > +/* > + * CPU code for Qualcomm IPQ40xx SoC > + * > + * Copyright (c) 2024 Sartura Ltd. > + * > + * Author: Robert Marko <robert.marko@sartura.hr> > + */ > + > +#include <common.h> > +#include <cpu_func.h> > +#include <init.h> > + > +int dram_init(void) > +{ > + int ret; > + > + ret = fdtdec_setup_memory_banksize(); > + if (ret) > + return ret; > + return fdtdec_setup_mem_size_base(); > +} > + > +/* > + * Enable/Disable D-cache. > + * I-cache is already enabled in start.S > + */ > +void enable_caches(void) > +{ > + dcache_enable(); > +} > + > +void disable_caches(void) > +{ > + dcache_disable(); > +} > + > +/* > + * In case boards need specific init code, they can override this stub. > + */ > +int __weak board_init(void) > +{ > + return 0; > +}
diff --git a/arch/arm/mach-ipq40xx/Makefile b/arch/arm/mach-ipq40xx/Makefile new file mode 100644 index 0000000000..d611de9933 --- /dev/null +++ b/arch/arm/mach-ipq40xx/Makefile @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: GPL-2.0+ +# +# Copyright (c) 2024 Sartura Ltd. +# +# Author: Robert Marko <robert.marko@sartura.hr> + +obj-y += cpu.o diff --git a/arch/arm/mach-ipq40xx/cpu.c b/arch/arm/mach-ipq40xx/cpu.c new file mode 100644 index 0000000000..0446627a8f --- /dev/null +++ b/arch/arm/mach-ipq40xx/cpu.c @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * CPU code for Qualcomm IPQ40xx SoC + * + * Copyright (c) 2024 Sartura Ltd. + * + * Author: Robert Marko <robert.marko@sartura.hr> + */ + +#include <common.h> +#include <cpu_func.h> +#include <init.h> + +int dram_init(void) +{ + int ret; + + ret = fdtdec_setup_memory_banksize(); + if (ret) + return ret; + return fdtdec_setup_mem_size_base(); +} + +/* + * Enable/Disable D-cache. + * I-cache is already enabled in start.S + */ +void enable_caches(void) +{ + dcache_enable(); +} + +void disable_caches(void) +{ + dcache_disable(); +} + +/* + * In case boards need specific init code, they can override this stub. + */ +int __weak board_init(void) +{ + return 0; +}
Provide basic DRAM info population from DT, cache setting and the board_init stub. Signed-off-by: Robert Marko <robert.marko@sartura.hr> --- arch/arm/mach-ipq40xx/Makefile | 7 ++++++ arch/arm/mach-ipq40xx/cpu.c | 44 ++++++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 arch/arm/mach-ipq40xx/Makefile create mode 100644 arch/arm/mach-ipq40xx/cpu.c