1 /* 2 * Copyright (c) 2012 The Chromium OS Authors. 3 * 4 * SPDX-License-Identifier: GPL-2.0+ 5 */ 6 7 #include <common.h> 8 #include <asm/arch/spl.h> 9 10 #define SIGNATURE 0xdeadbeef 11 12 /* Parameters of early board initialization in SPL */ 13 static struct spl_machine_param machine_param 14 __attribute__((section(".machine_param"))) = { 15 .signature = SIGNATURE, 16 .version = 1, 17 .params = "vmubfasirM", 18 .size = sizeof(machine_param), 19 20 .mem_iv_size = 0x1f, 21 .mem_type = DDR_MODE_DDR3, 22 23 /* 24 * Set uboot_size to 0x100000 bytes. 25 * 26 * This is an overly conservative value chosen to accommodate all 27 * possible U-Boot image. You are advised to set this value to a 28 * smaller realistic size via scripts that modifies the .machine_param 29 * section of output U-Boot image. 30 */ 31 .uboot_size = 0x100000, 32 33 .boot_source = BOOT_MODE_OM, 34 .frequency_mhz = 800, 35 .arm_freq_mhz = 1000, 36 .serial_base = 0x12c30000, 37 .i2c_base = 0x12c60000, 38 .mem_manuf = MEM_MANUF_SAMSUNG, 39 }; 40 41 struct spl_machine_param *spl_get_machine_params(void) 42 { 43 if (machine_param.signature != SIGNATURE) { 44 /* Will hang if SIGNATURE dont match */ 45 while (1) 46 ; 47 } 48 49 return &machine_param; 50 } 51