Lines Matching refs:nor

15 #include <linux/mtd/spi-nor.h>
100 struct spi_nor nor;
277 static void aspeed_smc_start_user(struct spi_nor *nor)
279 struct aspeed_smc_chip *chip = nor->priv;
296 static void aspeed_smc_stop_user(struct spi_nor *nor)
298 struct aspeed_smc_chip *chip = nor->priv;
308 static int aspeed_smc_prep(struct spi_nor *nor)
310 struct aspeed_smc_chip *chip = nor->priv;
316 static void aspeed_smc_unprep(struct spi_nor *nor)
318 struct aspeed_smc_chip *chip = nor->priv;
323 static int aspeed_smc_read_reg(struct spi_nor *nor, u8 opcode, u8 *buf,
326 struct aspeed_smc_chip *chip = nor->priv;
328 aspeed_smc_start_user(nor);
331 aspeed_smc_stop_user(nor);
335 static int aspeed_smc_write_reg(struct spi_nor *nor, u8 opcode, const u8 *buf,
338 struct aspeed_smc_chip *chip = nor->priv;
340 aspeed_smc_start_user(nor);
343 aspeed_smc_stop_user(nor);
347 static void aspeed_smc_send_cmd_addr(struct spi_nor *nor, u8 cmd, u32 addr)
349 struct aspeed_smc_chip *chip = nor->priv;
353 switch (nor->addr_width) {
356 nor->addr_width);
373 static ssize_t aspeed_smc_read_user(struct spi_nor *nor, loff_t from,
376 struct aspeed_smc_chip *chip = nor->priv;
380 aspeed_smc_start_user(nor);
381 aspeed_smc_send_cmd_addr(nor, nor->read_opcode, from);
382 for (i = 0; i < chip->nor.read_dummy / 8; i++)
386 aspeed_smc_stop_user(nor);
390 static ssize_t aspeed_smc_write_user(struct spi_nor *nor, loff_t to,
393 struct aspeed_smc_chip *chip = nor->priv;
395 aspeed_smc_start_user(nor);
396 aspeed_smc_send_cmd_addr(nor, nor->program_opcode, to);
398 aspeed_smc_stop_user(nor);
410 mtd_device_unregister(&chip->nor.mtd);
489 dev_warn(chip->nor.dev, "CE%d window resized to %dMB",
503 dev_err(chip->nor.dev, "CE%d window invalid", cs);
510 dev_info(chip->nor.dev, "CE%d window [ 0x%.8x - 0x%.8x ] %dMB",
528 u32 size = chip->nor.mtd.size;
554 dev_info(chip->nor.dev,
588 if (size < chip->nor.mtd.size)
589 dev_warn(chip->nor.dev,
591 chip->cs, (u32)chip->nor.mtd.size >> 20);
668 dev_warn(chip->nor.dev, "CE%d window closed", chip->cs);
712 if (chip->nor.addr_width == 4 && info->set_4b)
722 chip->nor.program_opcode << CONTROL_COMMAND_SHIFT |
732 if (chip->nor.read_proto == SNOR_PROTO_1_1_1) {
733 if (chip->nor.read_dummy == 0)
738 dev_err(chip->nor.dev, "unsupported SPI read mode\n");
743 CONTROL_IO_DUMMY_SET(chip->nor.read_dummy / 8);
775 struct spi_nor *nor;
779 if (!of_device_is_compatible(child, "jedec,spi-nor"))
797 cs, dev_name(controller->chips[cs]->nor.dev));
812 nor = &chip->nor;
813 mtd = &nor->mtd;
815 nor->dev = dev;
816 nor->priv = chip;
817 spi_nor_set_flash_node(nor, child);
818 nor->controller_ops = &aspeed_smc_controller_ops;
829 ret = spi_nor_scan(nor, NULL, &hwcaps);