2017-06-02 12:29:51 -07:00
/*
* Copyright ( C ) 2016 Imagination Technologies
2017-10-25 17:04:33 -07:00
* Author : Paul Burton < paul . burton @ mips . com >
2017-06-02 12:29:51 -07:00
*
* This program is free software ; you can redistribute it and / or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation ; either version 2 of the License , or ( at your
* option ) any later version .
*/
# ifndef __MIPS_ASM_YAMON_DT_H__
# define __MIPS_ASM_YAMON_DT_H__
2017-06-02 12:29:52 -07:00
# include <linux/types.h>
/**
* struct yamon_mem_region - Represents a contiguous range of physical RAM .
* @ start : Start physical address .
* @ size : Maximum size of region .
* @ discard : Length of additional memory to discard after the region .
*/
struct yamon_mem_region {
phys_addr_t start ;
phys_addr_t size ;
phys_addr_t discard ;
} ;
2017-06-02 12:29:51 -07:00
/**
* yamon_dt_append_cmdline ( ) - Append YAMON - provided command line to / chosen
* @ fdt : the FDT blob
*
* Write the YAMON - provided command line to the bootargs property of the
* / chosen node in @ fdt .
*
* Return : 0 on success , else - errno
*/
extern __init int yamon_dt_append_cmdline ( void * fdt ) ;
/**
* yamon_dt_append_memory ( ) - Append YAMON - provided memory info to / memory
2017-06-02 12:29:52 -07:00
* @ fdt : the FDT blob
* @ regions : zero size terminated array of physical memory regions
2017-06-02 12:29:51 -07:00
*
* Generate a / memory node in @ fdt based upon memory size information provided
2017-06-02 12:29:52 -07:00
* by YAMON in its environment and the @ regions array .
2017-06-02 12:29:51 -07:00
*
* Return : 0 on success , else - errno
*/
2017-06-02 12:29:52 -07:00
extern __init int yamon_dt_append_memory ( void * fdt ,
const struct yamon_mem_region * regions ) ;
2017-06-02 12:29:51 -07:00
/**
* yamon_dt_serial_config ( ) - Append YAMON - provided serial config to / chosen
* @ fdt : the FDT blob
*
* Generate a stdout - path property in the / chosen node of @ fdt , based upon
* information provided in the YAMON environment about the UART configuration
* of the system .
*
* Return : 0 on success , else - errno
*/
extern __init int yamon_dt_serial_config ( void * fdt ) ;
# endif /* __MIPS_ASM_YAMON_DT_H__ */