Lines Matching full:smi
2 * SMI (Serial Memory Controller) device driver for Serial NOR Flash on
5 * interface has been replaced by SMI.
40 /* SMI clock rate */
50 /* registers of smi */
51 #define SMI_CR1 0x0 /* SMI control register 1 */
52 #define SMI_CR2 0x4 /* SMI control register 2 */
53 #define SMI_SR 0x8 /* SMI status register */
54 #define SMI_TR 0xC /* SMI transmit register */
55 #define SMI_RR 0x10 /* SMI receive register */
157 * struct spear_smi - Structure for SMI Device
160 * @status: current status register of SMI.
161 * @clk_rate: functional clock rate of SMI (default: SMI_MAX_CLOCK_FREQ)
162 * @lock: lock to prevent parallel access of SMI.
163 * @io_base: base address for registers of SMI.
167 * @flash: separate structure for each Serial NOR-flash attached to SMI.
214 * spear_smi_read_sr - Read status register of flash through SMI
215 * @dev: structure of SMI information.
230 /* program smi in hw mode */ in spear_smi_read_sr()
257 * @dev: structure of SMI information.
284 dev_err(&dev->pdev->dev, "smi controller is busy, timeout\n"); in spear_smi_wait_till_ready()
289 * spear_smi_int_handler - SMI Interrupt Handler.
291 * @dev_id: structure of SMI device, embedded in dev_id.
319 * spear_smi_hw_init - initializes the smi controller.
320 * @dev: structure of smi device
322 * this routine initializes the smi controller wit the default values
332 /* functional clock of smi */ in spear_smi_hw_init()
373 * @dev: structure of SMI device
388 /* program smi in h/w mode */ in spear_smi_write_enable()
404 "smi controller failed on write enable\n"); in spear_smi_write_enable()
435 * @dev: structure of SMI information
575 /* put smi in hw mode not wbt mode */ in spear_mtd_read()
626 /* put smi in write enable */ in spear_smi_cpy_toio()
631 /* put smi in hw, write burst mode */ in spear_smi_cpy_toio()
738 * @dev: structure of SMI information.
757 /* put smi in sw mode */ in spear_smi_probe_flash()
824 of_property_read_bool(pp, "st,smi-fast-mode"); in spear_smi_probe_config_dt()
871 dev_info(&dev->pdev->dev, "smi-nor%d not found\n", bank); in spear_smi_setup_banks()
1005 dev_err(&dev->pdev->dev, "SMI IRQ allocation failed\n"); in spear_smi_probe()
1014 /* loop for each serial nor-flash which is connected to smi */ in spear_smi_probe()
1084 { .compatible = "st,spear600-smi" },
1092 .name = "smi",
1104 MODULE_DESCRIPTION("MTD SMI driver for serial nor flash chips");