cnss2: Add support for WLAN PEACH PCI device

Add PCI device ID config and code updates to handle PEACH WLAN device.

Change-Id: Ib4f30a1dd5c3307c59694e94871617e766488677
CRs-Fixed: 3347738
This commit is contained in:
Alan Chen
2022-11-28 16:04:45 -08:00
committed by Madan Koyyalamudi
parent 9250fa8db3
commit edab97e465
7 changed files with 60 additions and 7 deletions

View File

@@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-only // SPDX-License-Identifier: GPL-2.0-only
/* /*
* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/ */
#include "bus.h" #include "bus.h"
@@ -51,6 +51,7 @@ enum cnss_dev_bus_type cnss_get_bus_type(struct cnss_plat_data *plat_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
return CNSS_BUS_PCI; return CNSS_BUS_PCI;
default: default:
cnss_pr_err("Unknown device_id: 0x%lx\n", plat_priv->device_id); cnss_pr_err("Unknown device_id: 0x%lx\n", plat_priv->device_id);

View File

@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (c) 2018-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2018-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/ */
#ifndef _CNSS_BUS_H #ifndef _CNSS_BUS_H
@@ -25,6 +25,8 @@
#define KIWI_DEVICE_ID 0x1107 #define KIWI_DEVICE_ID 0x1107
#define MANGO_VENDOR_ID 0x17CB #define MANGO_VENDOR_ID 0x17CB
#define MANGO_DEVICE_ID 0x110A #define MANGO_DEVICE_ID 0x110A
#define PEACH_VENDOR_ID 0x17CB
#define PEACH_DEVICE_ID 0x110E
enum cnss_dev_bus_type cnss_get_dev_bus_type(struct device *dev); enum cnss_dev_bus_type cnss_get_dev_bus_type(struct device *dev);
enum cnss_dev_bus_type cnss_get_bus_type(struct cnss_plat_data *plat_priv); enum cnss_dev_bus_type cnss_get_bus_type(struct cnss_plat_data *plat_priv);

View File

@@ -2111,6 +2111,7 @@ static int cnss_cold_boot_cal_start_hdlr(struct cnss_plat_data *plat_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
cnss_pr_err("Not supported for device ID 0x%lx\n", cnss_pr_err("Not supported for device ID 0x%lx\n",
@@ -3227,6 +3228,7 @@ int cnss_register_ramdump(struct cnss_plat_data *plat_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
ret = cnss_register_ramdump_v2(plat_priv); ret = cnss_register_ramdump_v2(plat_priv);
break; break;
default: default:
@@ -3248,6 +3250,7 @@ void cnss_unregister_ramdump(struct cnss_plat_data *plat_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
cnss_unregister_ramdump_v2(plat_priv); cnss_unregister_ramdump_v2(plat_priv);
break; break;
default: default:
@@ -4151,6 +4154,7 @@ static const struct platform_device_id cnss_platform_id_table[] = {
{ .name = "qca6490", .driver_data = QCA6490_DEVICE_ID, }, { .name = "qca6490", .driver_data = QCA6490_DEVICE_ID, },
{ .name = "kiwi", .driver_data = KIWI_DEVICE_ID, }, { .name = "kiwi", .driver_data = KIWI_DEVICE_ID, },
{ .name = "mango", .driver_data = MANGO_DEVICE_ID, }, { .name = "mango", .driver_data = MANGO_DEVICE_ID, },
{ .name = "peach", .driver_data = PEACH_DEVICE_ID, },
{ .name = "qcaconv", .driver_data = 0, }, { .name = "qcaconv", .driver_data = 0, },
{ }, { },
}; };
@@ -4175,8 +4179,11 @@ static const struct of_device_id cnss_of_match_table[] = {
.compatible = "qcom,cnss-mango", .compatible = "qcom,cnss-mango",
.data = (void *)&cnss_platform_id_table[5]}, .data = (void *)&cnss_platform_id_table[5]},
{ {
.compatible = "qcom,cnss-qca-converged", .compatible = "qcom,cnss-peach",
.data = (void *)&cnss_platform_id_table[6]}, .data = (void *)&cnss_platform_id_table[6]},
{
.compatible = "qcom,cnss-qca-converged",
.data = (void *)&cnss_platform_id_table[7]},
{ }, { },
}; };
MODULE_DEVICE_TABLE(of, cnss_of_match_table); MODULE_DEVICE_TABLE(of, cnss_of_match_table);

View File

@@ -44,6 +44,7 @@
#define QCA6490_PATH_PREFIX "qca6490/" #define QCA6490_PATH_PREFIX "qca6490/"
#define KIWI_PATH_PREFIX "kiwi/" #define KIWI_PATH_PREFIX "kiwi/"
#define MANGO_PATH_PREFIX "mango/" #define MANGO_PATH_PREFIX "mango/"
#define PEACH_PATH_PREFIX "peach/"
#define DEFAULT_PHY_M3_FILE_NAME "m3.bin" #define DEFAULT_PHY_M3_FILE_NAME "m3.bin"
#define DEFAULT_PHY_UCODE_FILE_NAME "phy_ucode.elf" #define DEFAULT_PHY_UCODE_FILE_NAME "phy_ucode.elf"
#define PHY_UCODE_V2_FILE_NAME "phy_ucode20.elf" #define PHY_UCODE_V2_FILE_NAME "phy_ucode20.elf"
@@ -1159,6 +1160,7 @@ static void cnss_pci_soc_scratch_reg_dump(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return; return;
@@ -1277,6 +1279,7 @@ int cnss_pci_recover_link_down(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
@@ -1517,6 +1520,12 @@ static void cnss_pci_dump_bl_sram_mem(struct cnss_pci_data *pci_priv)
pbl_log_max_size = MANGO_DEBUG_PBL_LOG_SRAM_MAX_SIZE; pbl_log_max_size = MANGO_DEBUG_PBL_LOG_SRAM_MAX_SIZE;
sbl_log_max_size = MANGO_DEBUG_SBL_LOG_SRAM_MAX_SIZE; sbl_log_max_size = MANGO_DEBUG_SBL_LOG_SRAM_MAX_SIZE;
break; break;
case PEACH_DEVICE_ID:
pbl_bootstrap_status_reg = PEACH_PBL_BOOTSTRAP_STATUS;
pbl_log_sram_start = PEACH_DEBUG_PBL_LOG_SRAM_START;
pbl_log_max_size = PEACH_DEBUG_PBL_LOG_SRAM_MAX_SIZE;
sbl_log_max_size = PEACH_DEBUG_SBL_LOG_SRAM_MAX_SIZE;
break;
default: default:
return; return;
} }
@@ -2085,6 +2094,7 @@ static int cnss_pci_get_device_timestamp(struct cnss_pci_data *pci_priv,
switch (pci_priv->device_id) { switch (pci_priv->device_id) {
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
cnss_pci_reg_read(pci_priv, PCIE_MHI_TIME_LOW, &low); cnss_pci_reg_read(pci_priv, PCIE_MHI_TIME_LOW, &low);
cnss_pci_reg_read(pci_priv, PCIE_MHI_TIME_HIGH, &high); cnss_pci_reg_read(pci_priv, PCIE_MHI_TIME_HIGH, &high);
break; break;
@@ -2106,6 +2116,7 @@ static void cnss_pci_enable_time_sync_counter(struct cnss_pci_data *pci_priv)
switch (pci_priv->device_id) { switch (pci_priv->device_id) {
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
return; return;
default: default:
break; break;
@@ -2120,6 +2131,7 @@ static void cnss_pci_clear_time_sync_counter(struct cnss_pci_data *pci_priv)
switch (pci_priv->device_id) { switch (pci_priv->device_id) {
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
return; return;
default: default:
break; break;
@@ -2139,6 +2151,7 @@ static void cnss_pci_time_sync_reg_update(struct cnss_pci_data *pci_priv,
switch (pci_priv->device_id) { switch (pci_priv->device_id) {
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
/* Use the next two shadow registers after host's usage */ /* Use the next two shadow registers after host's usage */
time_reg_low = PCIE_SHADOW_REG_VALUE_0 + time_reg_low = PCIE_SHADOW_REG_VALUE_0 +
(pci_priv->plat_priv->num_shadow_regs_v3 * (pci_priv->plat_priv->num_shadow_regs_v3 *
@@ -2256,6 +2269,7 @@ static int cnss_pci_start_time_sync_update(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return -EOPNOTSUPP; return -EOPNOTSUPP;
@@ -2278,6 +2292,7 @@ static void cnss_pci_stop_time_sync_update(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return; return;
@@ -2914,6 +2929,7 @@ int cnss_pci_dev_powerup(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
ret = cnss_qca6290_powerup(pci_priv); ret = cnss_qca6290_powerup(pci_priv);
break; break;
default: default:
@@ -2943,6 +2959,7 @@ int cnss_pci_dev_shutdown(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
ret = cnss_qca6290_shutdown(pci_priv); ret = cnss_qca6290_shutdown(pci_priv);
break; break;
default: default:
@@ -2972,6 +2989,7 @@ int cnss_pci_dev_crash_shutdown(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
cnss_qca6290_crash_shutdown(pci_priv); cnss_qca6290_crash_shutdown(pci_priv);
break; break;
default: default:
@@ -3001,6 +3019,7 @@ int cnss_pci_dev_ramdump(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
ret = cnss_qca6290_ramdump(pci_priv); ret = cnss_qca6290_ramdump(pci_priv);
break; break;
default: default:
@@ -3897,6 +3916,7 @@ int cnss_pci_force_wake_request_sync(struct device *dev, int timeout_us)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return 0; return 0;
@@ -3939,6 +3959,7 @@ int cnss_pci_force_wake_request(struct device *dev)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return 0; return 0;
@@ -3975,6 +3996,7 @@ int cnss_pci_is_device_awake(struct device *dev)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return 0; return 0;
@@ -4003,6 +4025,7 @@ int cnss_pci_force_wake_release(struct device *dev)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
break; break;
default: default:
return 0; return 0;
@@ -4295,6 +4318,7 @@ int cnss_pci_load_m3(struct cnss_pci_data *pci_priv)
break; break;
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
switch (plat_priv->device_version.major_version) { switch (plat_priv->device_version.major_version) {
case FW_V2_NUMBER: case FW_V2_NUMBER:
phy_filename = PHY_UCODE_V2_FILE_NAME; phy_filename = PHY_UCODE_V2_FILE_NAME;
@@ -4814,6 +4838,7 @@ static int cnss_pci_enable_bus(struct cnss_pci_data *pci_priv)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
pci_priv->dma_bit_mask = PCI_DMA_MASK_36_BIT; pci_priv->dma_bit_mask = PCI_DMA_MASK_36_BIT;
break; break;
default: default:
@@ -5148,6 +5173,7 @@ static void cnss_pci_send_hang_event(struct cnss_pci_data *pci_priv)
break; break;
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
offset = plat_priv->hang_data_addr_offset; offset = plat_priv->hang_data_addr_offset;
length = plat_priv->hang_event_data_len; length = plat_priv->hang_event_data_len;
break; break;
@@ -5462,6 +5488,10 @@ void cnss_pci_add_fw_prefix_name(struct cnss_pci_data *pci_priv,
scnprintf(prefix_name, MAX_FIRMWARE_NAME_LEN, scnprintf(prefix_name, MAX_FIRMWARE_NAME_LEN,
MANGO_PATH_PREFIX "%s", name); MANGO_PATH_PREFIX "%s", name);
break; break;
case PEACH_DEVICE_ID:
scnprintf(prefix_name, MAX_FIRMWARE_NAME_LEN,
PEACH_PATH_PREFIX "%s", name);
break;
default: default:
scnprintf(prefix_name, MAX_FIRMWARE_NAME_LEN, "%s", name); scnprintf(prefix_name, MAX_FIRMWARE_NAME_LEN, "%s", name);
break; break;
@@ -5509,6 +5539,7 @@ static int cnss_pci_update_fw_name(struct cnss_pci_data *pci_priv)
break; break;
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
switch (plat_priv->device_version.major_version) { switch (plat_priv->device_version.major_version) {
case FW_V2_NUMBER: case FW_V2_NUMBER:
/* /*
@@ -6293,6 +6324,7 @@ static int cnss_pci_probe(struct pci_dev *pci_dev,
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
cnss_pci_set_wlaon_pwr_ctrl(pci_priv, false, false, false); cnss_pci_set_wlaon_pwr_ctrl(pci_priv, false, false, false);
timer_setup(&pci_priv->dev_rddm_timer, timer_setup(&pci_priv->dev_rddm_timer,
cnss_dev_rddm_timeout_hdlr, 0); cnss_dev_rddm_timeout_hdlr, 0);
@@ -6357,6 +6389,7 @@ static void cnss_pci_remove(struct pci_dev *pci_dev)
case QCA6490_DEVICE_ID: case QCA6490_DEVICE_ID:
case KIWI_DEVICE_ID: case KIWI_DEVICE_ID:
case MANGO_DEVICE_ID: case MANGO_DEVICE_ID:
case PEACH_DEVICE_ID:
cnss_pci_wake_gpio_deinit(pci_priv); cnss_pci_wake_gpio_deinit(pci_priv);
del_timer(&pci_priv->boot_debug_timer); del_timer(&pci_priv->boot_debug_timer);
del_timer(&pci_priv->dev_rddm_timer); del_timer(&pci_priv->dev_rddm_timer);
@@ -6386,6 +6419,7 @@ static const struct pci_device_id cnss_pci_id_table[] = {
{ QCA6490_VENDOR_ID, QCA6490_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, { QCA6490_VENDOR_ID, QCA6490_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID },
{ KIWI_VENDOR_ID, KIWI_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, { KIWI_VENDOR_ID, KIWI_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID },
{ MANGO_VENDOR_ID, MANGO_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID }, { MANGO_VENDOR_ID, MANGO_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID },
{ PEACH_VENDOR_ID, PEACH_DEVICE_ID, PCI_ANY_ID, PCI_ANY_ID },
{ 0 } { 0 }
}; };
MODULE_DEVICE_TABLE(pci, cnss_pci_id_table); MODULE_DEVICE_TABLE(pci, cnss_pci_id_table);

View File

@@ -58,6 +58,7 @@ enum cnss_pci_reg_dev_mask {
REG_MASK_QCA6490, REG_MASK_QCA6490,
REG_MASK_KIWI, REG_MASK_KIWI,
REG_MASK_MANGO, REG_MASK_MANGO,
REG_MASK_PEACH,
}; };
struct cnss_msi_user { struct cnss_msi_user {

View File

@@ -237,7 +237,8 @@ static void cnss_wlfw_host_cap_parse_mlo(struct cnss_plat_data *plat_priv,
struct wlfw_host_cap_req_msg_v01 *req) struct wlfw_host_cap_req_msg_v01 *req)
{ {
if (plat_priv->device_id == KIWI_DEVICE_ID || if (plat_priv->device_id == KIWI_DEVICE_ID ||
plat_priv->device_id == MANGO_DEVICE_ID) { plat_priv->device_id == MANGO_DEVICE_ID ||
plat_priv->device_id == PEACH_DEVICE_ID) {
req->mlo_capable_valid = 1; req->mlo_capable_valid = 1;
req->mlo_capable = 1; req->mlo_capable = 1;
req->mlo_chip_id_valid = 1; req->mlo_chip_id_valid = 1;
@@ -1226,7 +1227,8 @@ void cnss_get_qdss_cfg_filename(struct cnss_plat_data *plat_priv,
char *debug_str = QDSS_DEBUG_FILE_STR; char *debug_str = QDSS_DEBUG_FILE_STR;
if (plat_priv->device_id == KIWI_DEVICE_ID || if (plat_priv->device_id == KIWI_DEVICE_ID ||
plat_priv->device_id == MANGO_DEVICE_ID) plat_priv->device_id == MANGO_DEVICE_ID ||
plat_priv->device_id == PEACH_DEVICE_ID)
debug_str = ""; debug_str = "";
if (plat_priv->device_version.major_version == FW_V2_NUMBER) if (plat_priv->device_version.major_version == FW_V2_NUMBER)
@@ -1579,7 +1581,8 @@ int cnss_wlfw_wlan_cfg_send_sync(struct cnss_plat_data *plat_priv,
} }
if (plat_priv->device_id != KIWI_DEVICE_ID && if (plat_priv->device_id != KIWI_DEVICE_ID &&
plat_priv->device_id != MANGO_DEVICE_ID) { plat_priv->device_id != MANGO_DEVICE_ID &&
plat_priv->device_id != PEACH_DEVICE_ID) {
req->shadow_reg_v2_valid = 1; req->shadow_reg_v2_valid = 1;
if (config->num_shadow_reg_v2_cfg > if (config->num_shadow_reg_v2_cfg >
QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01) QMI_WLFW_MAX_NUM_SHADOW_REG_V2_V01)

View File

@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */ /* SPDX-License-Identifier: GPL-2.0-only */
/* /*
* Copyright (c) 2019-2021, The Linux Foundation. All rights reserved. * Copyright (c) 2019-2021, The Linux Foundation. All rights reserved.
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved. * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*/ */
#ifndef _CNSS_REG_H #ifndef _CNSS_REG_H
@@ -99,6 +99,11 @@
#define MANGO_DEBUG_SBL_LOG_SRAM_MAX_SIZE 48 #define MANGO_DEBUG_SBL_LOG_SRAM_MAX_SIZE 48
#define MANGO_PBL_BOOTSTRAP_STATUS 0x01A10008 #define MANGO_PBL_BOOTSTRAP_STATUS 0x01A10008
#define PEACH_DEBUG_PBL_LOG_SRAM_START 0x01403D98
#define PEACH_DEBUG_PBL_LOG_SRAM_MAX_SIZE 40
#define PEACH_DEBUG_SBL_LOG_SRAM_MAX_SIZE 48
#define PEACH_PBL_BOOTSTRAP_STATUS 0x01A10008
#define TCSR_PBL_LOGGING_REG 0x01B000F8 #define TCSR_PBL_LOGGING_REG 0x01B000F8
#define PCIE_BHI_ERRDBG2_REG 0x01E0E238 #define PCIE_BHI_ERRDBG2_REG 0x01E0E238
#define PCIE_BHI_ERRDBG3_REG 0x01E0E23C #define PCIE_BHI_ERRDBG3_REG 0x01E0E23C