static void txx9ndfmc_write_buf(struct mtd_info *mtd, const uint8_t *buf, int len) { struct platform_device *dev = mtd_to_platdev(mtd); void __iomem *ndfdtr = ndregaddr(dev, TXX9_NDFDTR); u32 mcr = txx9ndfmc_read(dev, TXX9_NDFMCR); txx9ndfmc_write(dev, mcr | TXX9_NDFMCR_WE, TXX9_NDFMCR); while (len--) __raw_writel(*buf++, ndfdtr); txx9ndfmc_write(dev, mcr, TXX9_NDFMCR); }
static int txx9ndfmc_dev_ready(struct mtd_info *mtd) { struct platform_device *dev = mtd_to_platdev(mtd); return !(txx9ndfmc_read(dev, TXX9_NDFSR) & TXX9_NDFSR_BUSY); }
static uint8_t txx9ndfmc_read_byte(struct mtd_info *mtd) { struct platform_device *dev = mtd_to_platdev(mtd); return txx9ndfmc_read(dev, TXX9_NDFDTR); }