| Channagoud Kadabi | 11682e9 | 2013-02-28 11:21:46 -0800 | [diff] [blame^] | 1 | /* Copyright (c) 2012-2013, The Linux Foundation. All rights reserved. | 
| Deepa Dinamani | 28c0ffe | 2012-09-24 11:45:21 -0700 | [diff] [blame] | 2 |  * | 
 | 3 |  * Redistribution and use in source and binary forms, with or without | 
 | 4 |  * modification, are permitted provided that the following conditions are | 
 | 5 |  * met: | 
 | 6 |  * * Redistributions of source code must retain the above copyright | 
 | 7 |  *  notice, this list of conditions and the following disclaimer. | 
 | 8 |  *  * Redistributions in binary form must reproduce the above | 
 | 9 |  * copyright notice, this list of conditions and the following | 
 | 10 |  * disclaimer in the documentation and/or other materials provided | 
 | 11 |  *  with the distribution. | 
 | 12 |  *   * Neither the name of The Linux Foundation nor the names of its | 
 | 13 |  * contributors may be used to endorse or promote products derived | 
 | 14 |  * from this software without specific prior written permission. | 
 | 15 |  * | 
 | 16 |  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED | 
 | 17 |  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | 
 | 18 |  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT | 
 | 19 |  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS | 
 | 20 |  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 
 | 21 |  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 
 | 22 |  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | 
 | 23 |  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | 
 | 24 |  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | 
 | 25 |  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN | 
 | 26 |  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 
 | 27 | */ | 
 | 28 |  | 
 | 29 | #include <debug.h> | 
 | 30 |  | 
 | 31 | #ifndef __DEVICE_TREE__ | 
 | 32 | #define __DEVICE_TREE__ | 
 | 33 |  | 
 | 34 | #define DEV_TREE_SUCCESS        0 | 
 | 35 | #define DEV_TREE_MAGIC          0x54444351 /* "QCDT" */ | 
 | 36 | #define DEV_TREE_MAGIC_LEN      4 | 
 | 37 | #define DEV_TREE_VERSION        1 | 
 | 38 | #define DEV_TREE_HEADER_SIZE    12 | 
 | 39 |  | 
| Channagoud Kadabi | 11682e9 | 2013-02-28 11:21:46 -0800 | [diff] [blame^] | 40 | #define DTB_MAGIC               0xedfe0dd0 | 
 | 41 | #define DTB_OFFSET              0x2C | 
 | 42 |  | 
| Deepa Dinamani | 28c0ffe | 2012-09-24 11:45:21 -0700 | [diff] [blame] | 43 | struct dt_entry | 
 | 44 | { | 
 | 45 | 	uint32_t platform_id; | 
 | 46 | 	uint32_t variant_id; | 
 | 47 | 	uint32_t soc_rev; | 
 | 48 | 	uint32_t offset; | 
 | 49 | 	uint32_t size; | 
 | 50 | }; | 
 | 51 |  | 
 | 52 | struct dt_table | 
 | 53 | { | 
 | 54 | 	uint32_t magic; | 
 | 55 | 	uint32_t version; | 
 | 56 | 	uint32_t num_entries; | 
 | 57 | }; | 
 | 58 |  | 
 | 59 | enum dt_err_codes | 
 | 60 | { | 
 | 61 | 	DT_OP_SUCCESS, | 
 | 62 | 	DT_OP_FAILURE = -1, | 
 | 63 | }; | 
 | 64 |  | 
 | 65 | struct dt_entry * dev_tree_get_entry_ptr(struct dt_table *); | 
 | 66 | int update_device_tree(void *, const char *, void *, unsigned); | 
 | 67 | int dev_tree_add_mem_info(void *fdt, uint32_t offset, uint32_t size, uint32_t addr); | 
| Channagoud Kadabi | 11682e9 | 2013-02-28 11:21:46 -0800 | [diff] [blame^] | 68 | uint32_t dev_tree_appended(void *); | 
| Deepa Dinamani | 28c0ffe | 2012-09-24 11:45:21 -0700 | [diff] [blame] | 69 | #endif |