ar71xx: add definitions for RouterBOARD hardware option bits
Add bit definitions for the 'hardware options' tag which is used in the MikroTik devices' hardware configurations. These values can be used in board setup codes, to do different initialization sequences. The values were obtained from the RouterOS 6.41-rc38 patches. Additionally, introduce two helper functions what make the processing of the hardware options easy. Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
This commit is contained in:
		 Gabor Juhos
					Gabor Juhos
				
			
				
					committed by
					
						 John Crispin
						John Crispin
					
				
			
			
				
	
			
			
			 John Crispin
						John Crispin
					
				
			
						parent
						
							5bdbc10b1b
						
					
				
				
					commit
					c7371cd1ee
				
			| @@ -21,6 +21,32 @@ struct rb_info { | ||||
| 	u32 hw_options; | ||||
| }; | ||||
|  | ||||
| /* Bit definitions for hardware options */ | ||||
| #define RB_HW_OPT_UART_ABSENT		BIT(0) | ||||
| #define RB_HW_OPT_HAS_VOLTAGE		BIT(1) | ||||
| #define RB_HW_OPT_HAS_USB		BIT(2) | ||||
| #define RB_HW_OPT_HAS_ATTINY		BIT(3) | ||||
| #define RB_HW_OPT_NO_NAND		BIT(14) | ||||
| #define RB_HW_OPT_HAS_LCD		BIT(15) | ||||
| #define RB_HW_OPT_HAS_POE_OUT		BIT(16) | ||||
| #define RB_HW_OPT_HAS_uSD		BIT(17) | ||||
| #define RB_HW_OPT_HAS_SFP		BIT(20) | ||||
| #define RB_HW_OPT_HAS_WIFI		BIT(21) | ||||
| #define RB_HW_OPT_HAS_TS_FOR_ADC	BIT(22) | ||||
| #define RB_HW_OPT_HAS_PLC		BIT(29) | ||||
|  | ||||
| static inline bool | ||||
| rb_hw_option_match(const struct rb_info *info, u32 mask, u32 val) | ||||
| { | ||||
| 	return (info->hw_options & (val | mask)) == val; | ||||
| } | ||||
|  | ||||
| static inline bool | ||||
| rb_has_hw_option(const struct rb_info *info, u32 mask) | ||||
| { | ||||
| 	return rb_hw_option_match(info, mask, mask); | ||||
| } | ||||
|  | ||||
| #ifdef CONFIG_ATH79_ROUTERBOOT | ||||
| const struct rb_info *rb_init_info(void *data, unsigned int size); | ||||
| void *rb_get_wlan_data(void); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user