In /drivers/misc/mediatek/connectivity/common/conn_soc/core/include/wmt_conf.h
#define CUST_CFG_WMT "WMT_SOC.cfg"
WMT_SOC.cfg is defined
in /drivers/misc/mediatek/connectivity/common/conn_soc/core/wmt_conf.c it is created and parsed
looks like these are the variables we need
+ CHAR(coex_wmt_ant_mode),
+ CHAR(coex_wmt_ext_component),
+ CHAR(coex_wmt_wifi_time_ctl),
+ CHAR(coex_wmt_ext_pta_dev_on),
+ CHAR(coex_wmt_filter_mode),
+ CHAR(coex_bt_rssi_upper_limit),
+ CHAR(coex_bt_rssi_mid_limit),
+ CHAR(coex_bt_rssi_lower_limit),
+ CHAR(coex_bt_pwr_high),
+ CHAR(coex_bt_pwr_mid),
+ CHAR(coex_bt_pwr_low),
+ CHAR(coex_wifi_rssi_upper_limit),
+ CHAR(coex_wifi_rssi_mid_limit),
+ CHAR(coex_wifi_rssi_lower_limit),
+ CHAR(coex_wifi_pwr_high),
+ CHAR(coex_wifi_pwr_mid),
+ CHAR(coex_wifi_pwr_low),
+ CHAR(coex_ext_pta_hi_tx_tag),
+ CHAR(coex_ext_pta_hi_rx_tag),
+ CHAR(coex_ext_pta_lo_tx_tag),
+ CHAR(coex_ext_pta_lo_rx_tag),
+ SHORT(coex_ext_pta_sample_t1),
+ SHORT(coex_ext_pta_sample_t2),
+ CHAR(coex_ext_pta_wifi_bt_con_trx),
+ INT(coex_misc_ext_pta_on),
+ INT(coex_misc_ext_feature_set),
+ CHAR(wmt_gps_lna_pin),
+ CHAR(wmt_gps_lna_enable),
+ CHAR(pwr_on_rtc_slot),
+ CHAR(pwr_on_ldo_slot),
+ CHAR(pwr_on_rst_slot),
+ CHAR(pwr_on_off_slot),
+ CHAR(pwr_on_on_slot),
+ CHAR(co_clock_flag),
+ INT(sdio_driving_cfg),
Here in function
static INT32 wmt_conf_parse(P_DEV_WMT pWmtDev, const PINT8 pInBuf, UINT32 size)
we have the file read and the point where you can let the driver create the file itself if you like to
+INT32 wmt_conf_read_file(VOID)
+{
+ INT32 ret = -1;
+
+ osal_memset(&gDevWmt.rWmtGenConf, 0, osal_sizeof(gDevWmt.rWmtGenConf));
+ osal_memset(&gDevWmt.pWmtCfg, 0, osal_sizeof(gDevWmt.pWmtCfg));
+
+#if 1
+ osal_memset(&gDevWmt.cWmtcfgName[0], 0, osal_sizeof(gDevWmt.cWmtcfgName));
+
+ osal_strncat(&(gDevWmt.cWmtcfgName[0]), CUST_CFG_WMT_PREFIX, osal_sizeof(CUST_CFG_WMT_PREFIX));
+ osal_strncat(&(gDevWmt.cWmtcfgName[0]), CUST_CFG_WMT, osal_sizeof(CUST_CFG_WMT));
+#endif
+
+ if (!osal_strlen(&(gDevWmt.cWmtcfgName[0]))) {
+ WMT_ERR_FUNC("empty Wmtcfg name\n");
+ osal_assert(0);
+ return ret;
+ }
+ WMT_DBG_FUNC("WMT config file:%s\n", &(gDevWmt.cWmtcfgName[0]));
+ if (0 == wmt_dev_patch_get(&gDevWmt.cWmtcfgName[0], (osal_firmware **) &gDevWmt.pWmtCfg, 0)) {
+ /*get full name patch success */
+ WMT_DBG_FUNC("get full file name(%s) buf(0x%p) size(%d)\n",
+ &gDevWmt.cWmtcfgName[0], gDevWmt.pWmtCfg->data, gDevWmt.pWmtCfg->size);
+
+ if (0 == wmt_conf_parse(&gDevWmt, (const PINT8)gDevWmt.pWmtCfg->data, gDevWmt.pWmtCfg->size)) {
+ /*config file exists */
+ gDevWmt.rWmtGenConf.cfgExist = 1;
+
+ WMT_DBG_FUNC("&gDevWmt.rWmtGenConf=%p\n", &gDevWmt.rWmtGenConf);
+ ret = 0;
+ } else {
+ WMT_ERR_FUNC("wmt conf parsing fail\n");
+ osal_assert(0);
+ ret = -1;
+ }
+ wmt_dev_patch_put((osal_firmware **) &gDevWmt.pWmtCfg);
+/*
+ if (gDevWmt.pWmtCfg)
+ {
+ if (gDevWmt.pWmtCfg->data)
+ {
+ osal_free(gDevWmt.pWmtCfg->data);
+ }
+ osal_free(gDevWmt.pWmtCfg);
+ gDevWmt.pWmtCfg = 0;
+ }
+*/
+ return ret;
+ }
+ WMT_ERR_FUNC("read %s file fails\n", &(gDevWmt.cWmtcfgName[0]));
+ osal_assert(0);
+
+ gDevWmt.rWmtGenConf.cfgExist = 0;
+ return ret;
+}
No spare time left need to do different things sry
I think we are working on diffrent kernel sources with diffrent patchset/ dts patches.