1 /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 /* 3 * Copyright (C) 2016 Imagination Technologies 4 * Author: Paul Burton <paul.burton@mips.com> 5 */ 6 7 #ifndef __MIPS_ASM_YAMON_DT_H__ 8 #define __MIPS_ASM_YAMON_DT_H__ 9 10 #include <linux/types.h> 11 12 /** 13 * struct yamon_mem_region - Represents a contiguous range of physical RAM. 14 * @start: Start physical address. 15 * @size: Maximum size of region. 16 * @discard: Length of additional memory to discard after the region. 17 */ 18 struct yamon_mem_region { 19 phys_addr_t start; 20 phys_addr_t size; 21 phys_addr_t discard; 22 }; 23 24 /** 25 * yamon_dt_append_cmdline() - Append YAMON-provided command line to /chosen 26 * @fdt: the FDT blob 27 * 28 * Write the YAMON-provided command line to the bootargs property of the 29 * /chosen node in @fdt. 30 * 31 * Return: 0 on success, else -errno 32 */ 33 extern __init int yamon_dt_append_cmdline(void *fdt); 34 35 /** 36 * yamon_dt_append_memory() - Append YAMON-provided memory info to /memory 37 * @fdt: the FDT blob 38 * @regions: zero size terminated array of physical memory regions 39 * 40 * Generate a /memory node in @fdt based upon memory size information provided 41 * by YAMON in its environment and the @regions array. 42 * 43 * Return: 0 on success, else -errno 44 */ 45 extern __init int yamon_dt_append_memory(void *fdt, 46 const struct yamon_mem_region *regions); 47 48 /** 49 * yamon_dt_serial_config() - Append YAMON-provided serial config to /chosen 50 * @fdt: the FDT blob 51 * 52 * Generate a stdout-path property in the /chosen node of @fdt, based upon 53 * information provided in the YAMON environment about the UART configuration 54 * of the system. 55 * 56 * Return: 0 on success, else -errno 57 */ 58 extern __init int yamon_dt_serial_config(void *fdt); 59 60 #endif /* __MIPS_ASM_YAMON_DT_H__ */