05a4d86580
WLAN MAC address can be provisioned using NV memory based setup. DMS QMI server connection is required to retrieve this MAC address. Thus setup DMS QMI client in icnss platform driver and send this MAC address for WLAN FW before mission mode enable. 1. Move DMS QMI files to cnss_util from cnss2. 2. Read "use-nv-mac" property from DT node to decide whether reding MAC address from NV memory is mandatory or not. If mandatory wait for DMS QMI server to read MAC address. If not mandatory read MAC address if DMS server is available otherwise continue. Change-Id: Iddc5a7180c9eea2a8a9507f08b1b383bc095f2bc Signed-off-by: Naman Padhiar <npadhiar@codeaurora.org>
79 lines
2.1 KiB
C
79 lines
2.1 KiB
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/* Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. */
|
|
|
|
#include <linux/soc/qcom/qmi.h>
|
|
#include <linux/module.h>
|
|
#include "device_management_service_v01.h"
|
|
|
|
struct qmi_elem_info dms_get_mac_address_req_msg_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_SIGNED_4_BYTE_ENUM,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(enum dms_device_mac_enum_v01),
|
|
.array_type = NO_ARRAY,
|
|
.tlv_type = 0x01,
|
|
.offset = offsetof(struct
|
|
dms_get_mac_address_req_msg_v01,
|
|
device),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.array_type = NO_ARRAY,
|
|
.tlv_type = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
EXPORT_SYMBOL(dms_get_mac_address_req_msg_v01_ei);
|
|
|
|
struct qmi_elem_info dms_get_mac_address_resp_msg_v01_ei[] = {
|
|
{
|
|
.data_type = QMI_STRUCT,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(struct qmi_response_type_v01),
|
|
.array_type = NO_ARRAY,
|
|
.tlv_type = 0x02,
|
|
.offset = offsetof(struct
|
|
dms_get_mac_address_resp_msg_v01,
|
|
resp),
|
|
.ei_array = qmi_response_type_v01_ei,
|
|
},
|
|
{
|
|
.data_type = QMI_OPT_FLAG,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(u8),
|
|
.array_type = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct
|
|
dms_get_mac_address_resp_msg_v01,
|
|
mac_address_valid),
|
|
},
|
|
{
|
|
.data_type = QMI_DATA_LEN,
|
|
.elem_len = 1,
|
|
.elem_size = sizeof(u8),
|
|
.array_type = NO_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct
|
|
dms_get_mac_address_resp_msg_v01,
|
|
mac_address_len),
|
|
},
|
|
{
|
|
.data_type = QMI_UNSIGNED_1_BYTE,
|
|
.elem_len = QMI_DMS_MAC_ADDR_MAX_V01,
|
|
.elem_size = sizeof(u8),
|
|
.array_type = VAR_LEN_ARRAY,
|
|
.tlv_type = 0x10,
|
|
.offset = offsetof(struct
|
|
dms_get_mac_address_resp_msg_v01,
|
|
mac_address),
|
|
},
|
|
{
|
|
.data_type = QMI_EOTI,
|
|
.array_type = NO_ARRAY,
|
|
.tlv_type = QMI_COMMON_TLV_TYPE,
|
|
},
|
|
};
|
|
EXPORT_SYMBOL(dms_get_mac_address_resp_msg_v01_ei);
|
|
|
|
MODULE_LICENSE("GPL v2");
|
|
MODULE_DESCRIPTION("WLAN qmi service DMS");
|