Lines Matching refs:nfc

118 	struct tango_nfc *nfc = to_tango_nfc(chip->controller);
121 writel_relaxed(tchip->timing1, nfc->reg_base + NFC_TIMING1);
122 writel_relaxed(tchip->timing2, nfc->reg_base + NFC_TIMING2);
123 writel_relaxed(tchip->xfer_cfg, nfc->reg_base + NFC_XFER_CFG);
124 writel_relaxed(tchip->pkt_0_cfg, nfc->reg_base + NFC_PKT_0_CFG);
125 writel_relaxed(tchip->pkt_n_cfg, nfc->reg_base + NFC_PKT_N_CFG);
126 writel_relaxed(tchip->bb_cfg, nfc->reg_base + NFC_BB_CFG);
131 struct tango_nfc *nfc = to_tango_nfc(chip->controller);
134 return readl_relaxed_poll_timeout(nfc->pbus_base + PBUS_CS_CTRL,
227 struct tango_nfc *nfc = to_tango_nfc(chip->controller);
229 status = readl_relaxed(nfc->reg_base + NFC_XFER_STATUS);
233 res = readl_relaxed(nfc->mem_base + ERROR_REPORT);
250 static int do_dma(struct tango_nfc *nfc, enum dma_data_direction dir, int cmd,
253 void __iomem *addr = nfc->reg_base + NFC_STATUS;
254 struct dma_chan *chan = nfc->chan;
275 writel_relaxed(MODE_NFC, nfc->pbus_base + PBUS_PAD_MODE);
277 writel_relaxed(page, nfc->reg_base + NFC_ADDR_PAGE);
278 writel_relaxed(0, nfc->reg_base + NFC_ADDR_OFFSET);
279 writel_relaxed(cmd, nfc->reg_base + NFC_FLASH_CMD);
288 writel_relaxed(MODE_RAW, nfc->pbus_base + PBUS_PAD_MODE);
300 struct tango_nfc *nfc = to_tango_nfc(chip->controller);
307 err = do_dma(nfc, DMA_FROM_DEVICE, NFC_READ, buf, len, page);
324 struct tango_nfc *nfc = to_tango_nfc(chip->controller);
334 writel_relaxed(0xffffffff, nfc->mem_base + METADATA);
335 err = do_dma(nfc, DMA_TO_DEVICE, NFC_WRITE, buf, len, page);
521 struct tango_nfc *nfc = to_tango_nfc(chip->controller);
524 int kHz = nfc->freq_kHz;
580 struct tango_nfc *nfc = dev_get_drvdata(dev);
607 chip->controller = &nfc->hw;
608 tchip->base = nfc->pbus_base + (cs * 256);
629 nfc->chips[cs] = tchip;
636 struct tango_nfc *nfc = platform_get_drvdata(pdev);
640 dma_release_channel(nfc->chan);
643 if (nfc->chips[cs]) {
644 chip = &nfc->chips[cs]->nand_chip;
659 struct tango_nfc *nfc;
662 nfc = devm_kzalloc(&pdev->dev, sizeof(*nfc), GFP_KERNEL);
663 if (!nfc)
667 nfc->reg_base = devm_ioremap_resource(&pdev->dev, res);
668 if (IS_ERR(nfc->reg_base))
669 return PTR_ERR(nfc->reg_base);
672 nfc->mem_base = devm_ioremap_resource(&pdev->dev, res);
673 if (IS_ERR(nfc->mem_base))
674 return PTR_ERR(nfc->mem_base);
677 nfc->pbus_base = devm_ioremap_resource(&pdev->dev, res);
678 if (IS_ERR(nfc->pbus_base))
679 return PTR_ERR(nfc->pbus_base);
681 writel_relaxed(MODE_RAW, nfc->pbus_base + PBUS_PAD_MODE);
687 nfc->chan = dma_request_chan(&pdev->dev, "rxtx");
688 if (IS_ERR(nfc->chan))
689 return PTR_ERR(nfc->chan);
691 platform_set_drvdata(pdev, nfc);
692 nand_controller_init(&nfc->hw);
693 nfc->hw.ops = &tango_controller_ops;
694 nfc->freq_kHz = clk_get_rate(clk) / 1000;