19c46f034SRajeshwari Shinde /*
29c46f034SRajeshwari Shinde * Copyright (c) 2012 The Chromium OS Authors.
39c46f034SRajeshwari Shinde *
4*1a459660SWolfgang Denk * SPDX-License-Identifier: GPL-2.0+
59c46f034SRajeshwari Shinde */
69c46f034SRajeshwari Shinde
79c46f034SRajeshwari Shinde #include <common.h>
89c46f034SRajeshwari Shinde #include <asm/arch/cpu.h>
99c46f034SRajeshwari Shinde #include <asm/arch/spl.h>
109c46f034SRajeshwari Shinde #include <asm/arch/clk.h>
119c46f034SRajeshwari Shinde
129c46f034SRajeshwari Shinde #define SIGNATURE 0xdeadbeef
139c46f034SRajeshwari Shinde
149c46f034SRajeshwari Shinde /* Parameters of early board initialization in SPL */
159c46f034SRajeshwari Shinde static struct spl_machine_param machine_param
169c46f034SRajeshwari Shinde __attribute__((section(".machine_param"))) = {
179c46f034SRajeshwari Shinde .signature = SIGNATURE,
189c46f034SRajeshwari Shinde .version = 1,
199c46f034SRajeshwari Shinde .params = "vmubfasirM",
209c46f034SRajeshwari Shinde .size = sizeof(machine_param),
219c46f034SRajeshwari Shinde
229c46f034SRajeshwari Shinde .mem_iv_size = 0x1f,
239c46f034SRajeshwari Shinde .mem_type = DDR_MODE_DDR3,
249c46f034SRajeshwari Shinde
259c46f034SRajeshwari Shinde /*
269c46f034SRajeshwari Shinde * Set uboot_size to 0x100000 bytes.
279c46f034SRajeshwari Shinde *
289c46f034SRajeshwari Shinde * This is an overly conservative value chosen to accommodate all
299c46f034SRajeshwari Shinde * possible U-Boot image. You are advised to set this value to a
309c46f034SRajeshwari Shinde * smaller realistic size via scripts that modifies the .machine_param
319c46f034SRajeshwari Shinde * section of output U-Boot image.
329c46f034SRajeshwari Shinde */
339c46f034SRajeshwari Shinde .uboot_size = 0x100000,
349c46f034SRajeshwari Shinde
359c46f034SRajeshwari Shinde .boot_source = BOOT_MODE_OM,
369c46f034SRajeshwari Shinde .frequency_mhz = 800,
379c46f034SRajeshwari Shinde .arm_freq_mhz = 1700,
389c46f034SRajeshwari Shinde .serial_base = 0x12c30000,
399c46f034SRajeshwari Shinde .i2c_base = 0x12c60000,
409c46f034SRajeshwari Shinde .mem_manuf = MEM_MANUF_SAMSUNG,
419c46f034SRajeshwari Shinde };
429c46f034SRajeshwari Shinde
spl_get_machine_params(void)439c46f034SRajeshwari Shinde struct spl_machine_param *spl_get_machine_params(void)
449c46f034SRajeshwari Shinde {
459c46f034SRajeshwari Shinde if (machine_param.signature != SIGNATURE) {
469c46f034SRajeshwari Shinde /* Will hang if SIGNATURE dont match */
479c46f034SRajeshwari Shinde while (1)
489c46f034SRajeshwari Shinde ;
499c46f034SRajeshwari Shinde }
509c46f034SRajeshwari Shinde
519c46f034SRajeshwari Shinde return &machine_param;
529c46f034SRajeshwari Shinde }
53