Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp1416979ybt; Thu, 2 Jul 2020 05:03:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwFPmgnf6ZxoeywPOtnYHuHkfRvdP5XTjCU424vWnODFITGA4HUTW+uxMiV3AcgeCV6MLoH X-Received: by 2002:aa7:d043:: with SMTP id n3mr35692950edo.102.1593691436848; Thu, 02 Jul 2020 05:03:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1593691436; cv=none; d=google.com; s=arc-20160816; b=o3Jgm1img41kHoa8DjkvDMaVyAQ586ieZDdE7YDcvlfpy5bU21PDqcIZb80Va3Outk OCSPVMD/VidwGLa4yLVJokWXA4rPeXs0P0pEbmwCQjBLNL7E5mHXuwj2UO8P5fbpwsjI FbEgoAxdajPykC16Rr/RlPSnxDa23J3MNGIv+Edfx6MF7aaVB8PAy0Mq/Bu3StNDp4xP 1aInOFjmEidQAq6pXhYTnN2ttw6mEcmEGU5j6gGe3b1AWBp2V2z5TQsJ1yTuBftnOR+h euXVFRXPWfQJMfqWMOW+QmFI+gZmX2GdmrmOqdNTm2QQXpUird6DOLJNM/vu6vaDQrLw djwg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:ironport-sdr:ironport-sdr; bh=7MZiqsXsF0Nes3juwb+XfE/l9Jp7kTUcA2Nxs9YqZVU=; b=XkUox6Qjt+YJdqXcz2n26Iz3DRwkgonNtgF/02HnR1kE+48UsnlmCy0qLq4ZPxnrdH /unQulFL3b2yjBmBWfFc0EkYqGh5ZHrvy4E4ttArWraKxQ6WLaylDGT6PMAwpJEobKBu vJVrMigAtpWmrwojiyT6XJfHTezjbxSaKyt60VSVZVW/Cs8BNSJQKaEcZZHnOd3qz+aQ NGbm60/tWZuNpvL2e10cntXmDKTihier9KtrBPPlR/yBwy+9EDCuz29T5kjgKlZsD0CV LNixeowQgfa1Dy+pN2CKmY8uOg602E4i1aVKKhrFFwzJffw8GnEQC5QRlwaCyr3yvszQ TMVg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f11si5313863ejq.283.2020.07.02.05.03.33; Thu, 02 Jul 2020 05:03:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728668AbgGBMCR (ORCPT + 99 others); Thu, 2 Jul 2020 08:02:17 -0400 Received: from mga14.intel.com ([192.55.52.115]:27652 "EHLO mga14.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728808AbgGBMCR (ORCPT ); Thu, 2 Jul 2020 08:02:17 -0400 IronPort-SDR: akBWXgdARYuOAJ8SjTYgHaEqOU1KSaYXcjHuxSvgTuS+ADRAoTPu3KIsy2IuXpInGuxqIbfHNz Sesjq3pysSNA== X-IronPort-AV: E=McAfee;i="6000,8403,9669"; a="145947836" X-IronPort-AV: E=Sophos;i="5.75,304,1589266800"; d="scan'208";a="145947836" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2020 05:02:16 -0700 IronPort-SDR: ZxOrpL5QWXxsFcqZEh1k6Gk+Qj+vOlj91ITW1vOExGaHLppWW0ziAMHMCs7js8+tjB4JgkVVFE U6XaCQomDDSA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,304,1589266800"; d="scan'208";a="304224741" Received: from unknown (HELO intel-Lenovo-Legion-Y540-15IRH-PG0.iind.intel.com) ([10.224.186.95]) by fmsmga004.fm.intel.com with ESMTP; 02 Jul 2020 05:02:14 -0700 From: Kiran K To: linux-bluetooth@vger.kernel.org Cc: ravishankar.srivatsa@intel.com, chethan.tumkur.narayan@intel.com, kiraank@gmail.com, Kiran K , Amit K Bag , Raghuram Hegde Subject: [PATCH 4/5] Bluetooth: btintel: Define tlv structure for new generation Controllers Date: Thu, 2 Jul 2020 17:33:14 +0530 Message-Id: <20200702120315.26768-5-kiran.k@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200702120315.26768-1-kiran.k@intel.com> References: <20200702120315.26768-1-kiran.k@intel.com> Sender: linux-bluetooth-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org Define structure used for reading controller information and to downloading firmware in tlv format used for new generation Intel controllers Signed-off-by: Kiran K Signed-off-by: Amit K Bag Signed-off-by: Raghuram Hegde Reviewed-by: Chethan T N Reviewed-by: Sathish Narasimman Reviewed-by: Srivatsa Ravishankar --- drivers/bluetooth/btintel.h | 85 +++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) diff --git a/drivers/bluetooth/btintel.h b/drivers/bluetooth/btintel.h index e476105d495b..e37f84155c50 100644 --- a/drivers/bluetooth/btintel.h +++ b/drivers/bluetooth/btintel.h @@ -6,6 +6,90 @@ * Copyright (C) 2015 Intel Corporation */ +/* List of tlv type */ +enum { + INTEL_TLV_CNVI_TOP = 0x10, + INTEL_TLV_CNVR_TOP, + INTEL_TLV_CNVI_BT, + INTEL_TLV_CNVR_BT, + INTEL_TLV_CNVI_OTP, + INTEL_TLV_CNVR_OTP, + INTEL_TLV_DEV_REV_ID, + INTEL_TLV_USB_VENDOR_ID, + INTEL_TLV_USB_PRODUCT_ID, + INTEL_TLV_PCIE_VENDOR_ID, + INTEL_TLV_PCIE_DEVICE_ID, + INTEL_TLV_PCIE_SUBSYSTEM_ID, + INTEL_TLV_IMAGE_TYPE, + INTEL_TLV_TIME_STAMP, + INTEL_TLV_BUILD_TYPE, + INTEL_TLV_BUILD_NUM, + INTEL_TLV_FW_BUILD_PRODUCT, + INTEL_TLV_FW_BUILD_HW, + INTEL_TLV_FW_STEP, + INTEL_TLV_BT_SPEC, + INTEL_TLV_MFG_NAME, + INTEL_TLV_HCI_REV, + INTEL_TLV_LMP_SUBVER, + INTEL_TLV_OTP_PATCH_VER, + INTEL_TLV_SECURE_BOOT, + INTEL_TLV_KEY_FROM_HDR, + INTEL_TLV_OTP_LOCK, + INTEL_TLV_API_LOCK, + INTEL_TLV_DEBUG_LOCK, + INTEL_TLV_MIN_FW, + INTEL_TLV_LIMITED_CCE, + INTEL_TLV_SBE_TYPE, + INTEL_TLV_OTP_BDADDR, + INTEL_TLV_UNLOCKED_STATE +}; + +struct intel_tlv { + u8 type; + u8 len; + u8 val[0]; +} __packed; + +struct intel_version_tlv { + u8 status; + u32 cnvi_top; + u32 cnvr_top; + u32 cnvi_bt; + u32 cnvr_bt; + u16 cnvi_otp; + u16 cnvr_otp; + u16 dev_rev_id; + u16 usb_vid; + u16 usb_pid; + u16 pcie_vendor_id; + u16 pcie_dev_id; + u16 pcie_subsys_id; + u8 img_type; + u16 timestamp; + u8 build_type; + u32 build_num; + u8 fw_build_prod; + u8 fw_build_hw; + u8 fw_build_step; + u8 bt_spec_ver; + u16 mfg_name; + u16 hci_rev; + u16 lmp_sub_ver; + u8 otp_patch_ver; + u8 secure_boot; + u8 key_from_hdr; + u8 otp_lock; + u8 api_lock; + u8 debug_lock; + u8 min_fw_build_nn; + u8 min_fw_build_cw; + u8 min_fw_build_yy; + u8 limited_cce; + u8 sbe_type; + bdaddr_t otp_bd_addr; + u8 unlocked_state; +} __packed; + struct intel_version { u8 status; u8 hw_platform; @@ -70,6 +154,7 @@ struct btintel_version { bool is_tlv_supported; union { struct intel_version intel_version; /* legacy version */ + struct intel_version_tlv intel_version_tlv; }; } __packed; -- 2.17.1