1  /*
2   * Copyright (c) 2020, The Linux Foundation. All rights reserved.
3   * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
4   *
5   * Permission to use, copy, modify, and/or distribute this software for any
6   * purpose with or without fee is hereby granted, provided that the above
7   * copyright notice and this permission notice appear in all copies.
8   *
9   * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10   * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11   * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12   * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13   * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14   * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15   * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16   */
17  
18  #if !defined(__FTM_TIME_SYNC_CFG_H__)
19  #define __FTM_TIME_SYNC_CFG_H__
20  
21  /**
22   * DOC: ftm_time_sync_cfg.h
23   *
24   * FTM TIME SYNC feature INI configuration parameter definitions
25   */
26  
27  #ifdef FEATURE_WLAN_TIME_SYNC_FTM
28  
29  #include "cfg_define.h"
30  #include "cfg_converged.h"
31  #include "qdf_types.h"
32  
33  /*
34   * <ini>
35   * enable_time_sync_ftm - Time Sync FTM feature support
36   * @Min: 0
37   * @Max: 1
38   * @Default: 0
39   *
40   * When set to 1 Time Sync FTM feature will be enabled.
41   *
42   * Supported Feature: Time Sync FTM
43   *
44   * Usage: External
45   *
46   * </ini>
47   */
48  #define CFG_ENABLE_TIME_SYNC_FTM CFG_INI_BOOL("enable_time_sync_ftm", \
49  				    0, \
50  				    "Enable Time Sync FTM Support")
51  /*
52   * <ini>
53   * time_sync_ftm_mode- Time Sync FTM feature Mode configuration
54   * @Min: 0 - Aggregated Mode
55   * @Max: 1 - Burst Mode
56   * @Default: 0
57   *
58   * This ini is applicable only if enable_time_sync_ftm  is set to 1.
59   *
60   * Supported Feature: Time Sync FTM
61   *
62   * Usage: External
63   *
64   * </ini>
65   */
66  #define CFG_TIME_SYNC_FTM_MODE CFG_INI_BOOL("time_sync_ftm_mode", \
67  				    0, \
68  				    "Configure Time Sync FTM Mode")
69  /*
70   * <ini>
71   * time_sync_ftm_role- Time Sync FTM feature Role configuration
72   * @Min: 0 - Target Role
73   * @Max: 1 - Initiator Role
74   * @Default: 0
75   *
76   * This ini is applicable only if enable_time_sync_ftm is set to 1.
77   *
78   * Supported Feature: Time Sync FTM
79   *
80   * Usage: External
81   *
82   * </ini>
83   */
84  #define CFG_TIME_SYNC_FTM_ROLE CFG_INI_BOOL("time_sync_ftm_role", \
85  				    0, \
86  				    "Configure Time Sync FTM Role")
87  
88  #define CFG_TIME_SYNC_FTM_ALL \
89  	CFG(CFG_ENABLE_TIME_SYNC_FTM) \
90  	CFG(CFG_TIME_SYNC_FTM_MODE) \
91  	CFG(CFG_TIME_SYNC_FTM_ROLE)
92  
93  #else
94  #define CFG_TIME_SYNC_FTM_ALL
95  #endif /* FEATURE_WLAN_TIME_SYNC_FTM */
96  #endif /* __FTM_TIME_SYNC_CFG_H__ */
97