1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef EC_CLEVO_IT5570E_COMMANDS_H 4 #define EC_CLEVO_IT5570E_COMMANDS_H 5 6 #ifndef __ACPI__ 7 #define ECRAM CONFIG_EC_CLEVO_IT5570E_MEM_BASE 8 9 /* EC RAM fields and bits */ 10 #define FANC 0x1c8 11 #define RINF 0x1db 12 #define TP_TOGGLE_CTRLALTF9 (BIT(4) | BIT(2)) 13 #define ECKS 0x1e2 14 #define SWFN 3 15 // #### 0x1e6 16 #define G3FG 2 17 #define FOAC 6 18 #define KBBO 0x1e9 19 // #### 0x1eb 20 #define DGPT 3 21 #define APRD 7 22 #define PL2B 0x1f0 23 #define PL2T 0x1f2 24 #define TAUT 0x1f4 25 #define FCMD 0x1f8 26 #define FDAT 0x1f9 27 #define FBUF 0x1fa 28 #define FBF1 0x1fb 29 #define FBF2 0x1fc 30 #define FBF3 0x1fd 31 #endif // __ACPI__ 32 33 /* EC commands */ 34 #define ECCMD_NOP 0x00 /* dummy, triggers FCMDs */ 35 #define ECCMD_ENABLE_ACPI_MODE 0x90 36 #define ECCMD_DISABLE_ACPI_MODE 0x91 37 #define ECCMD_READ_MODEL 0x92 38 #define ECCMD_READ_FW_VER 0x93 39 #define ECCMD_ENABLE_HOTKEYS 0x98 40 #define ECCMD_GET_DEVICES_STATE 0x9a 41 #define ECCMD_SET_INV_DEVICE_STATE 0x9c 42 #define DEVICE_CAMERA 2 43 #define DEVICE_STATE(state) (!(state) << 7) 44 #define ECCMD_SET_BATLOW_ALARM 0x9d 45 #define ECCMD_SETUP_DEVICES 0xa8 46 47 /* FCMD commands */ 48 #define FCMD_DEVICES 0xb8 49 #define FDAT_DEVICE_SET_INV_STATE 0xc2 /* inverted! en=0xc2|0, dis=0xc2|1 */ 50 #define FCMD_KLED 0xca 51 #define FDAT_KBLED_WHITE_SET_LEVEL 0x00 52 #define FDAT_KBLED_WHITE_GET_LEVEL 0x01 53 #define FCMD_FLEXICHARGER 0xcb 54 #define FCMD_SET_KBLED_TIMEOUT 0xd4 55 56 #ifndef __ACPI__ 57 enum camera_state { 58 CAMERA_STATE_DISABLE, 59 CAMERA_STATE_ENABLE, 60 CAMERA_STATE_KEEP, 61 }; 62 63 char *ec_read_model(void); 64 char *ec_read_fw_version(void); 65 void ec_set_acpi_mode(bool state); 66 void ec_set_aprd(void); 67 void ec_set_enter_g3_in_s4s5(bool state); 68 void ec_set_dgpu_present(bool state); 69 void ec_set_fn_win_swap(bool state); 70 void ec_set_ac_fan_always_on(bool state); 71 void ec_set_kbled_timeout(uint16_t timeout); 72 void ec_set_flexicharger(bool state, uint8_t start, uint8_t stop); 73 void ec_set_camera_boot_state(enum camera_state state); 74 void ec_set_tp_toggle_mode(uint8_t mode); 75 #endif // __ACPI__ 76 77 #endif /* EC_CLEVO_IT5570E_COMMANDS_H */ 78