1 // SPDX-License-Identifier: GPL-2.0+ 1 // SPDX-License-Identifier: GPL-2.0+ 2 /* 2 /* 3 * Copyright (c) 2017 Dialog Semiconductor 3 * Copyright (c) 2017 Dialog Semiconductor 4 * 4 * 5 * Author: Adam Thomson <Adam.Thomson.Opensour 5 * Author: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> 6 */ 6 */ 7 7 8 #ifndef __LINUX_USB_PD_ADO_H 8 #ifndef __LINUX_USB_PD_ADO_H 9 #define __LINUX_USB_PD_ADO_H 9 #define __LINUX_USB_PD_ADO_H 10 10 11 /* ADO : Alert Data Object */ 11 /* ADO : Alert Data Object */ 12 #define USB_PD_ADO_TYPE_SHIFT 12 #define USB_PD_ADO_TYPE_SHIFT 24 13 #define USB_PD_ADO_TYPE_MASK 13 #define USB_PD_ADO_TYPE_MASK 0xff 14 #define USB_PD_ADO_FIXED_BATT_SHIFT 14 #define USB_PD_ADO_FIXED_BATT_SHIFT 20 15 #define USB_PD_ADO_FIXED_BATT_MASK 15 #define USB_PD_ADO_FIXED_BATT_MASK 0xf 16 #define USB_PD_ADO_HOT_SWAP_BATT_SHIFT 16 #define USB_PD_ADO_HOT_SWAP_BATT_SHIFT 16 17 #define USB_PD_ADO_HOT_SWAP_BATT_MASK 17 #define USB_PD_ADO_HOT_SWAP_BATT_MASK 0xf 18 18 19 #define USB_PD_ADO_TYPE_BATT_STATUS_CHANGE 19 #define USB_PD_ADO_TYPE_BATT_STATUS_CHANGE BIT(1) 20 #define USB_PD_ADO_TYPE_OCP 20 #define USB_PD_ADO_TYPE_OCP BIT(2) 21 #define USB_PD_ADO_TYPE_OTP 21 #define USB_PD_ADO_TYPE_OTP BIT(3) 22 #define USB_PD_ADO_TYPE_OP_COND_CHANGE 22 #define USB_PD_ADO_TYPE_OP_COND_CHANGE BIT(4) 23 #define USB_PD_ADO_TYPE_SRC_INPUT_CHANGE 23 #define USB_PD_ADO_TYPE_SRC_INPUT_CHANGE BIT(5) 24 #define USB_PD_ADO_TYPE_OVP 24 #define USB_PD_ADO_TYPE_OVP BIT(6) 25 25 26 static inline unsigned int usb_pd_ado_type(u32 26 static inline unsigned int usb_pd_ado_type(u32 ado) 27 { 27 { 28 return (ado >> USB_PD_ADO_TYPE_SHIFT) 28 return (ado >> USB_PD_ADO_TYPE_SHIFT) & USB_PD_ADO_TYPE_MASK; 29 } 29 } 30 30 31 static inline unsigned int usb_pd_ado_fixed_ba 31 static inline unsigned int usb_pd_ado_fixed_batt(u32 ado) 32 { 32 { 33 return (ado >> USB_PD_ADO_FIXED_BATT_S 33 return (ado >> USB_PD_ADO_FIXED_BATT_SHIFT) & 34 USB_PD_ADO_FIXED_BATT_MASK; 34 USB_PD_ADO_FIXED_BATT_MASK; 35 } 35 } 36 36 37 static inline unsigned int usb_pd_ado_hot_swap 37 static inline unsigned int usb_pd_ado_hot_swap_batt(u32 ado) 38 { 38 { 39 return (ado >> USB_PD_ADO_HOT_SWAP_BAT 39 return (ado >> USB_PD_ADO_HOT_SWAP_BATT_SHIFT) & 40 USB_PD_ADO_HOT_SWAP_BATT_MASK; 40 USB_PD_ADO_HOT_SWAP_BATT_MASK; 41 } 41 } 42 #endif /* __LINUX_USB_PD_ADO_H */ 42 #endif /* __LINUX_USB_PD_ADO_H */ 43 43
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.