| 
									
										
										
										
											2008-08-21 23:27:51 +01:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * Copyright (C) 2007, David Kilroy | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * The contents of this file are subject to the Mozilla Public License | 
					
						
							|  |  |  |  * Version 1.1 (the "License"); you may not use this file except in | 
					
						
							|  |  |  |  * compliance with the License. You may obtain a copy of the License | 
					
						
							|  |  |  |  * at http://www.mozilla.org/MPL/
 | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Software distributed under the License is distributed on an "AS IS" | 
					
						
							|  |  |  |  * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See | 
					
						
							|  |  |  |  * the License for the specific language governing rights and | 
					
						
							|  |  |  |  * limitations under the License. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  * Alternatively, the contents of this file may be used under the | 
					
						
							|  |  |  |  * terms of the GNU General Public License version 2 (the "GPL"), in | 
					
						
							|  |  |  |  * which case the provisions of the GPL are applicable instead of the | 
					
						
							|  |  |  |  * above.  If you wish to allow the use of your version of this file | 
					
						
							|  |  |  |  * only under the terms of the GPL and not to allow others to use your | 
					
						
							|  |  |  |  * version of this file under the MPL, indicate your decision by | 
					
						
							|  |  |  |  * deleting the provisions above and replace them with the notice and | 
					
						
							|  |  |  |  * other provisions required by the GPL.  If you do not delete the | 
					
						
							|  |  |  |  * provisions above, a recipient may use your version of this file | 
					
						
							|  |  |  |  * under either the MPL or the GPL. | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | #ifndef _HERMES_DLD_H
 | 
					
						
							|  |  |  | #define _HERMES_DLD_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "hermes.h"
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-13 11:19:57 -04:00
										 |  |  | int hermesi_program_init(struct hermes *hw, u32 offset); | 
					
						
							|  |  |  | int hermesi_program_end(struct hermes *hw); | 
					
						
							|  |  |  | int hermes_program(struct hermes *hw, const char *first_block, const void *end); | 
					
						
							| 
									
										
										
										
											2008-08-21 23:27:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2011-07-13 11:19:57 -04:00
										 |  |  | int hermes_read_pda(struct hermes *hw, | 
					
						
							| 
									
										
										
										
											2008-08-21 23:27:52 +01:00
										 |  |  | 		    __le16 *pda, | 
					
						
							|  |  |  | 		    u32 pda_addr, | 
					
						
							|  |  |  | 		    u16 pda_len, | 
					
						
							|  |  |  | 		    int use_eeprom); | 
					
						
							| 
									
										
										
										
											2011-07-13 11:19:57 -04:00
										 |  |  | int hermes_apply_pda(struct hermes *hw, | 
					
						
							| 
									
										
										
										
											2008-08-21 23:27:52 +01:00
										 |  |  | 		     const char *first_pdr, | 
					
						
							| 
									
										
										
										
											2009-02-21 16:52:54 +00:00
										 |  |  | 		     const void *pdr_end, | 
					
						
							|  |  |  | 		     const __le16 *pda, | 
					
						
							|  |  |  | 		     const void *pda_end); | 
					
						
							| 
									
										
										
										
											2011-07-13 11:19:57 -04:00
										 |  |  | int hermes_apply_pda_with_defaults(struct hermes *hw, | 
					
						
							| 
									
										
										
										
											2008-08-21 23:27:53 +01:00
										 |  |  | 				   const char *first_pdr, | 
					
						
							| 
									
										
										
										
											2009-02-21 16:52:54 +00:00
										 |  |  | 				   const void *pdr_end, | 
					
						
							|  |  |  | 				   const __le16 *pda, | 
					
						
							|  |  |  | 				   const void *pda_end); | 
					
						
							| 
									
										
										
										
											2008-08-21 23:27:51 +01:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-02-21 16:52:54 +00:00
										 |  |  | size_t hermes_blocks_length(const char *first_block, const void *end); | 
					
						
							| 
									
										
										
										
											2008-08-21 23:27:51 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | #endif /* _HERMES_DLD_H */
 |