Add support for Intel KeemBay AxiDMA to the .compatible field.
The AxiDMA Apb region will be accessible if the compatible string
matches the "intel,kmb-axi-dma".

Signed-off-by: Sia Jee Heng <jee.heng....@intel.com>
Reviewed-by: Andy Shevchenko <andriy.shevche...@linux.intel.com>
Reviewed-by: Eugeniy Paltsev <eugeniy.palt...@synopsys.com>
Tested-by: Eugeniy Paltsev <eugeniy.palt...@synopsys.com>
---
 drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c 
b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
index 830d3de76abd..062d27c61983 100644
--- a/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
+++ b/drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c
@@ -1160,6 +1160,7 @@ static int parse_device_properties(struct axi_dma_chip 
*chip)
 
 static int dw_probe(struct platform_device *pdev)
 {
+       struct device_node *node = pdev->dev.of_node;
        struct axi_dma_chip *chip;
        struct resource *mem;
        struct dw_axi_dma *dw;
@@ -1192,6 +1193,12 @@ static int dw_probe(struct platform_device *pdev)
        if (IS_ERR(chip->regs))
                return PTR_ERR(chip->regs);
 
+       if (of_device_is_compatible(node, "intel,kmb-axi-dma")) {
+               chip->apb_regs = devm_platform_ioremap_resource(pdev, 1);
+               if (IS_ERR(chip->apb_regs))
+                       return PTR_ERR(chip->apb_regs);
+       }
+
        chip->core_clk = devm_clk_get(chip->dev, "core-clk");
        if (IS_ERR(chip->core_clk))
                return PTR_ERR(chip->core_clk);
@@ -1336,6 +1343,7 @@ static const struct dev_pm_ops dw_axi_dma_pm_ops = {
 
 static const struct of_device_id dw_dma_of_id_table[] = {
        { .compatible = "snps,axi-dma-1.01a" },
+       { .compatible = "intel,kmb-axi-dma" },
        {}
 };
 MODULE_DEVICE_TABLE(of, dw_dma_of_id_table);
-- 
2.18.0

Reply via email to