Hi Jayesh
On 29/05/24 18:54, Jayesh Choudhary wrote:
Introduce the basic functions and definitions needed to properly
initialize TI J722S family of SoCs.
Co-developed-by: Vaishnav Achath <vaishna...@ti.com>
Signed-off-by: Vaishnav Achath <vaishna...@ti.com>
Signed-off-by: Jayesh Choudhary <j-choudh...@ti.com>
---
arch/arm/mach-k3/Kconfig | 7 +-
arch/arm/mach-k3/Makefile | 1 +
arch/arm/mach-k3/include/mach/hardware.h | 4 +
.../arm/mach-k3/include/mach/j722s_hardware.h | 83 ++++++
arch/arm/mach-k3/include/mach/j722s_spl.h | 49 ++++
arch/arm/mach-k3/include/mach/spl.h | 4 +
arch/arm/mach-k3/j722s/Kconfig | 32 ++
arch/arm/mach-k3/j722s/Makefile | 6 +
arch/arm/mach-k3/j722s/j722s_init.c | 277 ++++++++++++++++++
9 files changed, 462 insertions(+), 1 deletion(-)
create mode 100644 arch/arm/mach-k3/include/mach/j722s_hardware.h
create mode 100644 arch/arm/mach-k3/include/mach/j722s_spl.h
create mode 100644 arch/arm/mach-k3/j722s/Kconfig
create mode 100644 arch/arm/mach-k3/j722s/Makefile
create mode 100644 arch/arm/mach-k3/j722s/j722s_init.c
[...]
+
+void board_init_f(ulong dummy)
+{
J784S4 went through quite a bit of revisions and I personally would like to use
it as an example (for now) for our code layout for all future devices until we
cleanup further. See [1] where it was addressed to have board_init_f split up
into calling smaller logical functions instead.
[1] https://lore.kernel.org/u-boot/20240103162504.xgbx73pnmthtzthl@vengeful/
+ struct udevice *dev;
+ int ret;
+
+ if (IS_ENABLED(CONFIG_CPU_V7R))
+ setup_k3_mpu_regions();
+
+ /*
+ * Cannot delay this further as there is a chance that
+ * K3_BOOT_PARAM_TABLE_INDEX can be over written by SPL MALLOC section.
+ */
+ store_boot_info_from_rom();
+
+ ctrl_mmr_unlock();
+
+ /* Init DM early */
+ ret = spl_early_init();
+ if (ret)
+ panic("spl_early_init() failed: %d\n", ret);
+
+ /*
+ * Process pinctrl for the serial0 a.k.a. WKUP_UART0 module and continue
[...]
--
Thanking You
Neha Malcom Francis