root/include/linux/mfd/rave-sp.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. rave_sp_action_pack
  2. rave_sp_action_unpack_event
  3. rave_sp_action_unpack_value

   1 /* SPDX-License-Identifier: GPL-2.0+ */
   2 
   3 /*
   4  * Core definitions for RAVE SP MFD driver.
   5  *
   6  * Copyright (C) 2017 Zodiac Inflight Innovations
   7  */
   8 
   9 #ifndef _LINUX_RAVE_SP_H_
  10 #define _LINUX_RAVE_SP_H_
  11 
  12 #include <linux/notifier.h>
  13 
  14 enum rave_sp_command {
  15         RAVE_SP_CMD_GET_FIRMWARE_VERSION        = 0x20,
  16         RAVE_SP_CMD_GET_BOOTLOADER_VERSION      = 0x21,
  17         RAVE_SP_CMD_BOOT_SOURCE                 = 0x26,
  18         RAVE_SP_CMD_GET_BOARD_COPPER_REV        = 0x2B,
  19         RAVE_SP_CMD_GET_GPIO_STATE              = 0x2F,
  20 
  21         RAVE_SP_CMD_STATUS                      = 0xA0,
  22         RAVE_SP_CMD_SW_WDT                      = 0xA1,
  23         RAVE_SP_CMD_PET_WDT                     = 0xA2,
  24         RAVE_SP_CMD_RMB_EEPROM                  = 0xA4,
  25         RAVE_SP_CMD_SET_BACKLIGHT               = 0xA6,
  26         RAVE_SP_CMD_RESET                       = 0xA7,
  27         RAVE_SP_CMD_RESET_REASON                = 0xA8,
  28 
  29         RAVE_SP_CMD_REQ_COPPER_REV              = 0xB6,
  30         RAVE_SP_CMD_GET_I2C_DEVICE_STATUS       = 0xBA,
  31         RAVE_SP_CMD_GET_SP_SILICON_REV          = 0xB9,
  32         RAVE_SP_CMD_CONTROL_EVENTS              = 0xBB,
  33 
  34         RAVE_SP_EVNT_BASE                       = 0xE0,
  35 };
  36 
  37 struct rave_sp;
  38 
  39 static inline unsigned long rave_sp_action_pack(u8 event, u8 value)
  40 {
  41         return ((unsigned long)value << 8) | event;
  42 }
  43 
  44 static inline u8 rave_sp_action_unpack_event(unsigned long action)
  45 {
  46         return action;
  47 }
  48 
  49 static inline u8 rave_sp_action_unpack_value(unsigned long action)
  50 {
  51         return action >> 8;
  52 }
  53 
  54 int rave_sp_exec(struct rave_sp *sp,
  55                  void *__data,  size_t data_size,
  56                  void *reply_data, size_t reply_data_size);
  57 
  58 struct device;
  59 int devm_rave_sp_register_event_notifier(struct device *dev,
  60                                          struct notifier_block *nb);
  61 
  62 #endif /* _LINUX_RAVE_SP_H_ */

/* [<][>][^][v][top][bottom][index][help] */