summaryrefslogtreecommitdiff
path: root/sound/soc/fsl/fsl_xcvr.c
diff options
context:
space:
mode:
authorViorel Suman <viorel.suman@nxp.com>2020-05-28 16:19:30 +0300
committerViorel Suman <viorel.suman@nxp.com>2020-05-29 12:40:39 +0300
commitfbdea7bf8e53c3dc6ba8348c1e2438431a5a34b3 (patch)
treea675d621872d1214eed27e451783eb36c5727f2a /sound/soc/fsl/fsl_xcvr.c
parentfe0e7065a5c07f9e943c206ae9811c9d081c1feb (diff)
MLK-24139-1 ASoC: fsl_xcvr: split resources for ram, regs and fifos
Split RAM, regs and FIFO resources in DTS. Signed-off-by: Viorel Suman <viorel.suman@nxp.com> Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Diffstat (limited to 'sound/soc/fsl/fsl_xcvr.c')
-rw-r--r--sound/soc/fsl/fsl_xcvr.c22
1 files changed, 9 insertions, 13 deletions
diff --git a/sound/soc/fsl/fsl_xcvr.c b/sound/soc/fsl/fsl_xcvr.c
index 457a68afe0b0..43dc7c8695ff 100644
--- a/sound/soc/fsl/fsl_xcvr.c
+++ b/sound/soc/fsl/fsl_xcvr.c
@@ -1118,9 +1118,7 @@ static int fsl_xcvr_probe(struct platform_device *pdev)
struct device_node *np = dev->of_node;
const struct of_device_id *of_id;
struct fsl_xcvr *xcvr;
- struct resource *res,
- ram_res = { .flags = IORESOURCE_MEM, },
- regs_res = { .flags = IORESOURCE_MEM, };
+ struct resource *ram_res, *regs_res, *rx_res, *tx_res;
void __iomem *regs;
int ret, irq;
@@ -1157,17 +1155,13 @@ static int fsl_xcvr_probe(struct platform_device *pdev)
return PTR_ERR(xcvr->pll_ipg_clk);
}
- res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-
- ram_res.start = res->start;
- ram_res.end = res->start + FSL_XCVR_REG_OFFSET - 1;
- xcvr->ram_addr = devm_ioremap_resource(dev, &ram_res);
+ ram_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "ram");
+ xcvr->ram_addr = devm_ioremap_resource(dev, ram_res);
if (IS_ERR(xcvr->ram_addr))
return PTR_ERR(xcvr->ram_addr);
- regs_res.start = res->start + FSL_XCVR_REG_OFFSET;
- regs_res.end = res->end;
- regs = devm_ioremap_resource(dev, &regs_res);
+ regs_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "regs");
+ regs = devm_ioremap_resource(dev, regs_res);
if (IS_ERR(regs))
return PTR_ERR(regs);
@@ -1224,10 +1218,12 @@ static int fsl_xcvr_probe(struct platform_device *pdev)
return ret;
}
+ rx_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rxfifo");
+ tx_res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "txfifo");
xcvr->dma_prms_rx.chan_name = "rx";
xcvr->dma_prms_tx.chan_name = "tx";
- xcvr->dma_prms_rx.addr = res->start + FSL_XCVR_RX_FIFO_ADDR;
- xcvr->dma_prms_tx.addr = res->start + FSL_XCVR_TX_FIFO_ADDR;
+ xcvr->dma_prms_rx.addr = rx_res->start;
+ xcvr->dma_prms_tx.addr = tx_res->start;
xcvr->dma_prms_rx.maxburst = FSL_XCVR_MAXBURST_RX;
xcvr->dma_prms_tx.maxburst = FSL_XCVR_MAXBURST_TX;