ASoC: SOF: amd: Add sof audio support for acp7.2 platform
authorVenkata Prasad Potturu <venkataprasad.potturu@amd.com>
Fri, 1 Aug 2025 06:21:35 +0000 (11:51 +0530)
committerMark Brown <broonie@kernel.org>
Fri, 1 Aug 2025 13:36:04 +0000 (14:36 +0100)
Add pci revision id to support sof audio for acp7.2 platfom.

Signed-off-by: Venkata Prasad Potturu <venkataprasad.potturu@amd.com>
Link: https://patch.msgid.link/20250801062207.579388-2-venkataprasad.potturu@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sof/amd/acp.c
sound/soc/sof/amd/acp.h
sound/soc/sof/amd/pci-acp70.c

index 7132916aa25365fe619415fd417f4248bb8c4452..71a18f156de23b2aa7091c393ee4d8559b0c0947 100644 (file)
@@ -59,6 +59,7 @@ static void init_dma_descriptor(struct acp_dev_data *adata)
        switch (acp_data->pci_rev) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                acp_dma_desc_base_addr = ACP70_DMA_DESC_BASE_ADDR;
                acp_dma_desc_max_num_dscr = ACP70_DMA_DESC_MAX_NUM_DSCR;
                break;
@@ -99,6 +100,7 @@ static int config_dma_channel(struct acp_dev_data *adata, unsigned int ch,
        switch (acp_data->pci_rev) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                acp_dma_cntl_0 = ACP70_DMA_CNTL_0;
                acp_dma_ch_rst_sts = ACP70_DMA_CH_RST_STS;
                acp_dma_dscr_err_sts_0 = ACP70_DMA_ERR_STS_0;
@@ -339,6 +341,7 @@ int acp_dma_status(struct acp_dev_data *adata, unsigned char ch)
        switch (adata->pci_rev) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                acp_dma_ch_sts = ACP70_DMA_CH_STS;
                break;
        default:
@@ -522,6 +525,7 @@ static irqreturn_t acp_irq_handler(int irq, void *dev_id)
                switch (adata->pci_rev) {
                case ACP70_PCI_ID:
                case ACP71_PCI_ID:
+               case ACP72_PCI_ID:
                        wake_irq_flag = amd_sof_check_and_handle_acp70_sdw_wake_irq(sdev);
                        break;
                }
@@ -559,6 +563,7 @@ static int acp_power_on(struct snd_sof_dev *sdev)
                break;
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                acp_pgfsm_status_mask = ACP70_PGFSM_STATUS_MASK;
                acp_pgfsm_cntl_mask = ACP70_PGFSM_CNTL_POWER_ON_MASK;
                break;
@@ -661,6 +666,7 @@ static int acp_init(struct snd_sof_dev *sdev)
        switch (acp_data->pci_rev) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                sdw0_wake_en = snd_sof_dsp_read(sdev, ACP_DSP_BAR, ACP70_SW0_WAKE_EN);
                sdw1_wake_en = snd_sof_dsp_read(sdev, ACP_DSP_BAR, ACP70_SW1_WAKE_EN);
                if (sdw0_wake_en || sdw1_wake_en)
@@ -712,6 +718,7 @@ int amd_sof_acp_suspend(struct snd_sof_dev *sdev, u32 target_state)
        switch (acp_data->pci_rev) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                enable = true;
                break;
        }
@@ -738,6 +745,7 @@ int amd_sof_acp_resume(struct snd_sof_dev *sdev)
        switch (acp_data->pci_rev) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                snd_sof_dsp_write(sdev, ACP_DSP_BAR, ACP70_PME_EN, 1);
                break;
        }
index d3c5b2386cdf589caaa0bbb5175e8a238fcebc55..2b7ea8c6410602b4277477d73b158706b6b6b5a2 100644 (file)
@@ -75,6 +75,7 @@
 #define ACP63_PCI_ID                           0x63
 #define ACP70_PCI_ID                           0x70
 #define ACP71_PCI_ID                           0x71
+#define ACP72_PCI_ID                           0x72
 
 #define HOST_BRIDGE_CZN                                0x1630
 #define HOST_BRIDGE_VGH                                0x1645
index 51d36d43c42bda3f9a1b0b66a758f9bfe42dbe53..3523c9a92a94a706b67a75ba42cd36b85b0a72b2 100644 (file)
@@ -77,6 +77,7 @@ static int acp70_pci_probe(struct pci_dev *pci, const struct pci_device_id *pci_
        switch (pci->revision) {
        case ACP70_PCI_ID:
        case ACP71_PCI_ID:
+       case ACP72_PCI_ID:
                        break;
        default:
                return -ENODEV;