Dear Mark, Thanks for your reply. On Tue, 2015-05-12 at 17:05 +0100, Mark Brown wrote: > On Tue, May 12, 2015 at 08:39:16PM +0800, leilk liu wrote: > > On Fri, 2015-05-08 at 18:53 +0100, Mark Brown wrote: > > > On Fri, May 08, 2015 at 04:55:42PM +0800, leilk.liu@xxxxxxxxxxxx wrote: > > > Could you tell me more details about "You should also be using the core > > helpers for DMA mapping"? > > Implement can_dma() - look for drivers providing that for examples. > MTK spi hardware uses the dmaengine in spi controller. According to datasheet, spi driver just need to enable dma register bit and write a physical address to relevant dma address register, so I think it may be complex while the driver supports can_dma. > > > > +static const struct of_device_id mtk_spi_of_match[] = { > > > > + { .compatible = "mediatek,mt6589-spi", .data = (void *)COMPAT_MT6589}, > > > > + { .compatible = "mediatek,mt8173-spi", .data = (void *)COMPAT_MT8173}, > > > > + {} > > > > +}; > > > > +MODULE_DEVICE_TABLE(of, mtk_spi_of_match); > > > > There were three compatible strings listed in the DT binding but only > > > two here. > > > MT6589 and MT8135 is compatible; > > For MT8135 IC, it can use the follow way in dts to probe: > > compatible = "mediatek,mt8135-spi", > > "mediatek,mt6589-spi"; > > > And I test it's ok on MT8135 platform. So I add struct of_device_id > > mtk_spi_of_match like this in spi driver code. > > You should list all the compatibles documented in the binding here, if > some of them are the same just have them map to a single constant. -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html