[9610] wlbt: SCSC Driver version 10.9.1.0
[GitHub/moto-9609/android_kernel_motorola_exynos9610.git] / drivers / net / wireless / scsc / reg_info.h
diff --git a/drivers/net/wireless/scsc/reg_info.h b/drivers/net/wireless/scsc/reg_info.h
new file mode 100755 (executable)
index 0000000..2362a5c
--- /dev/null
@@ -0,0 +1,56 @@
+/******************************************************************************
+ *
+ * Copyright (c) 2012 - 2019 Samsung Electronics Co., Ltd. All rights reserved
+ *
+ *****************************************************************************/
+#ifndef __SLSI_REGINFO_H__
+#define __SLSI_REGINFO_H__
+
+int slsi_read_regulatory(struct slsi_dev *sdev);
+void slsi_regd_deinit(struct slsi_dev *sdev);
+void slsi_regd_init(struct slsi_dev *sdev);
+
+enum slsi_regdb_state {
+       SLSI_REG_DB_NOT_SET,
+       SLSI_REG_DB_ERROR,
+       SLSI_REG_DB_SET,
+};
+
+struct reg_database {
+       enum slsi_regdb_state regdb_state;
+       uint32_t version;
+       uint32_t num_countries;
+       struct regdb_file_reg_rule *reg_rules;
+       struct regdb_file_freq_range *freq_ranges;
+       struct regdb_file_reg_rules_collection *rules_collection;
+       struct regdb_file_reg_country *country;
+};
+
+struct regdb_file_freq_range {
+       uint32_t start_freq; /* in MHz */
+       uint32_t end_freq; /* in MHz */
+       uint32_t max_bandwidth; /* in MHz */
+};
+
+struct regdb_file_reg_rule {
+       struct regdb_file_freq_range *freq_range;       /* ptr to regdb_file_freq_range array */
+       uint32_t max_eirp;/* this is power in dBm */
+       uint32_t flags;
+};
+
+struct regdb_file_reg_rules_collection {
+       uint32_t reg_rule_num;
+       /* pointers to struct regdb_file_reg_rule */
+       struct regdb_file_reg_rule *reg_rule[8];
+};
+
+struct regdb_file_reg_country {
+       uint8_t alpha2[2];
+       uint8_t pad_byte;
+       uint8_t dfs_region; /* first two bits define the DFS region */
+       /* pointers to struct regdb_file_reg_rules_collection */
+       struct regdb_file_reg_rules_collection *collection;
+};
+
+#endif
+