Searched refs:cpm (Results 1 - 44 of 44) sorted by relevance

/linux-4.1.27/drivers/i2c/busses/
H A Di2c-cpm.c14 * Converted to of_platform_device. Renamed to i2c-cpm.c.
43 #include <asm/cpm.h>
125 struct cpm_i2c *cpm; cpm_i2c_interrupt() local
130 cpm = i2c_get_adapdata(dev_id); cpm_i2c_interrupt()
131 i2c_reg = cpm->i2c_reg; cpm_i2c_interrupt()
139 wake_up(&cpm->i2c_wait); cpm_i2c_interrupt()
144 static void cpm_reset_i2c_params(struct cpm_i2c *cpm) cpm_reset_i2c_params() argument
146 struct i2c_ram __iomem *i2c_ram = cpm->i2c_ram; cpm_reset_i2c_params()
149 out_be16(&i2c_ram->tbase, (u8 __iomem *)cpm->tbase - DPRAM_BASE); cpm_reset_i2c_params()
150 out_be16(&i2c_ram->rbase, (u8 __iomem *)cpm->rbase - DPRAM_BASE); cpm_reset_i2c_params()
152 if (cpm->version == 1) { cpm_reset_i2c_params()
176 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_force_close() local
177 struct i2c_reg __iomem *i2c_reg = cpm->i2c_reg; cpm_i2c_force_close()
181 cpm_command(cpm->cp_command, CPM_CR_CLOSE_RX_BD); cpm_i2c_force_close()
195 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_parse_message() local
197 tbdf = cpm->tbase + tx; cpm_i2c_parse_message()
198 rbdf = cpm->rbase + rx; cpm_i2c_parse_message()
204 tb = cpm->txbuf[tx]; cpm_i2c_parse_message()
205 rb = cpm->rxbuf[rx]; cpm_i2c_parse_message()
255 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_check_message() local
257 tbdf = cpm->tbase + tx; cpm_i2c_check_message()
258 rbdf = cpm->rbase + rx; cpm_i2c_check_message()
260 tb = cpm->txbuf[tx]; cpm_i2c_check_message()
261 rb = cpm->rxbuf[rx]; cpm_i2c_check_message()
307 struct cpm_i2c *cpm = i2c_get_adapdata(adap); cpm_i2c_xfer() local
308 struct i2c_reg __iomem *i2c_reg = cpm->i2c_reg; cpm_i2c_xfer()
309 struct i2c_ram __iomem *i2c_ram = cpm->i2c_ram; cpm_i2c_xfer()
321 tbdf = cpm->tbase; cpm_i2c_xfer()
322 rbdf = cpm->rbase; cpm_i2c_xfer()
332 out_8(&cpm->i2c_reg->i2com, I2COM_MASTER); cpm_i2c_xfer()
361 ret = wait_event_timeout(cpm->i2c_wait, cpm_i2c_xfer()
366 ret = wait_event_timeout(cpm->i2c_wait, cpm_i2c_xfer()
426 .name = "i2c-cpm",
431 static int cpm_i2c_setup(struct cpm_i2c *cpm) cpm_i2c_setup() argument
433 struct platform_device *ofdev = cpm->ofdev; cpm_i2c_setup()
441 dev_dbg(&cpm->ofdev->dev, "cpm_i2c_setup()\n"); cpm_i2c_setup()
443 init_waitqueue_head(&cpm->i2c_wait); cpm_i2c_setup()
445 cpm->irq = irq_of_parse_and_map(ofdev->dev.of_node, 0); cpm_i2c_setup()
446 if (!cpm->irq) cpm_i2c_setup()
450 ret = request_irq(cpm->irq, cpm_i2c_interrupt, 0, "cpm_i2c", cpm_i2c_setup()
451 &cpm->adap); cpm_i2c_setup()
465 cpm->i2c_ram = i2c_base; cpm_i2c_setup()
466 cpm->i2c_addr = in_be16(&cpm->i2c_ram->rpbase); cpm_i2c_setup()
472 if (cpm->i2c_addr) { cpm_i2c_setup()
473 cpm->i2c_ram = cpm_muram_addr(cpm->i2c_addr); cpm_i2c_setup()
477 cpm->version = 1; cpm_i2c_setup()
480 cpm->i2c_addr = cpm_muram_alloc(sizeof(struct i2c_ram), 64); cpm_i2c_setup()
481 cpm->i2c_ram = cpm_muram_addr(cpm->i2c_addr); cpm_i2c_setup()
482 out_be16(i2c_base, cpm->i2c_addr); cpm_i2c_setup()
485 cpm->version = 2; cpm_i2c_setup()
494 cpm->i2c_reg = of_iomap(ofdev->dev.of_node, 0); cpm_i2c_setup()
495 if (cpm->i2c_reg == NULL) { cpm_i2c_setup()
500 data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len); cpm_i2c_setup()
505 cpm->cp_command = *data; cpm_i2c_setup()
509 cpm->adap.class = *data; cpm_i2c_setup()
513 cpm->freq = *data; cpm_i2c_setup()
515 cpm->freq = 60000; /* use 60kHz i2c clock by default */ cpm_i2c_setup()
521 cpm->dp_addr = cpm_muram_alloc(sizeof(cbd_t) * 2 * CPM_MAXBD, 8); cpm_i2c_setup()
522 if (!cpm->dp_addr) { cpm_i2c_setup()
527 cpm->tbase = cpm_muram_addr(cpm->dp_addr); cpm_i2c_setup()
528 cpm->rbase = cpm_muram_addr(cpm->dp_addr + sizeof(cbd_t) * CPM_MAXBD); cpm_i2c_setup()
532 tbdf = cpm->tbase; cpm_i2c_setup()
533 rbdf = cpm->rbase; cpm_i2c_setup()
536 cpm->rxbuf[i] = dma_alloc_coherent(&cpm->ofdev->dev, cpm_i2c_setup()
538 &cpm->rxdma[i], GFP_KERNEL); cpm_i2c_setup()
539 if (!cpm->rxbuf[i]) { cpm_i2c_setup()
543 out_be32(&rbdf[i].cbd_bufaddr, ((cpm->rxdma[i] + 1) & ~1)); cpm_i2c_setup()
545 cpm->txbuf[i] = (unsigned char *)dma_alloc_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, &cpm->txdma[i], GFP_KERNEL); cpm_i2c_setup()
546 if (!cpm->txbuf[i]) { cpm_i2c_setup()
550 out_be32(&tbdf[i].cbd_bufaddr, cpm->txdma[i]); cpm_i2c_setup()
555 cpm_reset_i2c_params(cpm); cpm_i2c_setup()
557 dev_dbg(&cpm->ofdev->dev, "i2c_ram 0x%p, i2c_addr 0x%04x, freq %d\n", cpm_i2c_setup()
558 cpm->i2c_ram, cpm->i2c_addr, cpm->freq); cpm_i2c_setup()
559 dev_dbg(&cpm->ofdev->dev, "tbase 0x%04x, rbase 0x%04x\n", cpm_i2c_setup()
560 (u8 __iomem *)cpm->tbase - DPRAM_BASE, cpm_i2c_setup()
561 (u8 __iomem *)cpm->rbase - DPRAM_BASE); cpm_i2c_setup()
563 cpm_command(cpm->cp_command, CPM_CR_INIT_TRX); cpm_i2c_setup()
568 out_8(&cpm->i2c_reg->i2add, 0x7f << 1); cpm_i2c_setup()
575 brg = get_brgfreq() / (32 * 2 * cpm->freq) - 3; cpm_i2c_setup()
576 out_8(&cpm->i2c_reg->i2brg, brg); cpm_i2c_setup()
578 out_8(&cpm->i2c_reg->i2mod, 0x00); cpm_i2c_setup()
579 out_8(&cpm->i2c_reg->i2com, I2COM_MASTER); /* Master mode */ cpm_i2c_setup()
582 out_8(&cpm->i2c_reg->i2cmr, 0); cpm_i2c_setup()
583 out_8(&cpm->i2c_reg->i2cer, 0xff); cpm_i2c_setup()
589 if (cpm->rxbuf[i]) cpm_i2c_setup()
590 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, cpm_i2c_setup()
591 cpm->rxbuf[i], cpm->rxdma[i]); cpm_i2c_setup()
592 if (cpm->txbuf[i]) cpm_i2c_setup()
593 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, cpm_i2c_setup()
594 cpm->txbuf[i], cpm->txdma[i]); cpm_i2c_setup()
596 cpm_muram_free(cpm->dp_addr); cpm_i2c_setup()
598 iounmap(cpm->i2c_reg); cpm_i2c_setup()
600 if ((cpm->version == 1) && (!cpm->i2c_addr)) cpm_i2c_setup()
601 iounmap(cpm->i2c_ram); cpm_i2c_setup()
602 if (cpm->version == 2) cpm_i2c_setup()
603 cpm_muram_free(cpm->i2c_addr); cpm_i2c_setup()
605 free_irq(cpm->irq, &cpm->adap); cpm_i2c_setup()
609 static void cpm_i2c_shutdown(struct cpm_i2c *cpm) cpm_i2c_shutdown() argument
614 clrbits8(&cpm->i2c_reg->i2mod, I2MOD_EN); cpm_i2c_shutdown()
617 out_8(&cpm->i2c_reg->i2cmr, 0); cpm_i2c_shutdown()
618 out_8(&cpm->i2c_reg->i2cer, 0xff); cpm_i2c_shutdown()
620 free_irq(cpm->irq, &cpm->adap); cpm_i2c_shutdown()
624 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, cpm_i2c_shutdown()
625 cpm->rxbuf[i], cpm->rxdma[i]); cpm_i2c_shutdown()
626 dma_free_coherent(&cpm->ofdev->dev, CPM_MAX_READ + 1, cpm_i2c_shutdown()
627 cpm->txbuf[i], cpm->txdma[i]); cpm_i2c_shutdown()
630 cpm_muram_free(cpm->dp_addr); cpm_i2c_shutdown()
631 iounmap(cpm->i2c_reg); cpm_i2c_shutdown()
633 if ((cpm->version == 1) && (!cpm->i2c_addr)) cpm_i2c_shutdown()
634 iounmap(cpm->i2c_ram); cpm_i2c_shutdown()
635 if (cpm->version == 2) cpm_i2c_shutdown()
636 cpm_muram_free(cpm->i2c_addr); cpm_i2c_shutdown()
642 struct cpm_i2c *cpm; cpm_i2c_probe() local
645 cpm = kzalloc(sizeof(struct cpm_i2c), GFP_KERNEL); cpm_i2c_probe()
646 if (!cpm) cpm_i2c_probe()
649 cpm->ofdev = ofdev; cpm_i2c_probe()
651 platform_set_drvdata(ofdev, cpm); cpm_i2c_probe()
653 cpm->adap = cpm_ops; cpm_i2c_probe()
654 i2c_set_adapdata(&cpm->adap, cpm); cpm_i2c_probe()
655 cpm->adap.dev.parent = &ofdev->dev; cpm_i2c_probe()
656 cpm->adap.dev.of_node = of_node_get(ofdev->dev.of_node); cpm_i2c_probe()
658 result = cpm_i2c_setup(cpm); cpm_i2c_probe()
667 cpm->adap.nr = (data && len == 4) ? be32_to_cpup(data) : -1; cpm_i2c_probe()
668 result = i2c_add_numbered_adapter(&cpm->adap); cpm_i2c_probe()
676 cpm->adap.name); cpm_i2c_probe()
680 cpm_i2c_shutdown(cpm); cpm_i2c_probe()
682 kfree(cpm); cpm_i2c_probe()
689 struct cpm_i2c *cpm = platform_get_drvdata(ofdev); cpm_i2c_remove() local
691 i2c_del_adapter(&cpm->adap); cpm_i2c_remove()
693 cpm_i2c_shutdown(cpm); cpm_i2c_remove()
695 kfree(cpm); cpm_i2c_remove()
716 .name = "fsl-i2c-cpm",
H A DMakefile40 obj-$(CONFIG_I2C_CPM) += i2c-cpm.o
/linux-4.1.27/arch/powerpc/sysdev/
H A Dppc4xx_cpm.c50 struct cpm { struct
60 static struct cpm cpm; variable in typeref:struct:cpm
83 value = dcr_read(cpm.dcr_host, cpm.dcr_offset[cpm_reg]); cpm_set()
84 dcr_write(cpm.dcr_host, cpm.dcr_offset[cpm_reg], value | mask); cpm_set()
117 dcr_write(cpm.dcr_host, cpm.dcr_offset[CPM_ER], er_save); cpm_idle_sleep()
122 cpm_idle_sleep(cpm.idle_doze); cpm_idle_doze()
191 "cpm: failed to create idle sysfs entry\n"); cpm_idle_config_sysfs()
206 return !!cpm.standby; cpm_suspend_valid()
208 return !!cpm.suspend; cpm_suspend_valid()
233 cpm_suspend_standby(cpm.standby); cpm_suspend_enter()
236 cpm_suspend_standby(cpm.suspend); cpm_suspend_enter()
266 if (!cpm.powersave_off) { cpm_init()
271 np = of_find_compatible_node(NULL, NULL, "ibm,cpm"); cpm_init()
281 printk(KERN_ERR "cpm: could not parse dcr property for %s\n", cpm_init()
287 cpm.dcr_host = dcr_map(np, dcr_base, dcr_len); cpm_init()
289 if (!DCR_MAP_OK(cpm.dcr_host)) { cpm_init()
290 printk(KERN_ERR "cpm: failed to map dcr property for %s\n", cpm_init()
303 cpm.dcr_offset[CPM_ER] = 0; cpm_init()
304 cpm.dcr_offset[CPM_FR] = 1; cpm_init()
305 cpm.dcr_offset[CPM_SR] = 2; cpm_init()
307 cpm.dcr_offset[CPM_ER] = 1; cpm_init()
308 cpm.dcr_offset[CPM_FR] = 2; cpm_init()
309 cpm.dcr_offset[CPM_SR] = 0; cpm_init()
314 cpm.unused = cpm_get_uint_property(np, "unused-units"); cpm_init()
315 cpm.idle_doze = cpm_get_uint_property(np, "idle-doze"); cpm_init()
316 cpm.standby = cpm_get_uint_property(np, "standby"); cpm_init()
317 cpm.suspend = cpm_get_uint_property(np, "suspend"); cpm_init()
321 if (cpm.unused) { cpm_init()
322 cpm_set(CPM_ER, cpm.unused); cpm_init()
323 cpm_set(CPM_FR, cpm.unused); cpm_init()
328 if (!cpm.powersave_off && cpm.idle_doze) cpm_init()
331 if (cpm.standby || cpm.suspend) cpm_init()
343 cpm.powersave_off = 1; cpm_powersave_off()
H A Dfsl_soc.c119 node = of_find_compatible_node(NULL, NULL, "fsl,cpm-brg"); get_brgfreq()
130 node = of_find_node_by_type(NULL, "cpm"); get_brgfreq()
H A Dcpm_common.c31 #include <asm/cpm.h>
96 np = of_find_compatible_node(NULL, NULL, "fsl,cpm-muram-data"); cpm_muram_init()
H A Dcpm1.c43 #include <asm/cpm.h>
142 np = of_find_compatible_node(NULL, "cpm-pic", "CPM"); cpm_pic_init()
144 printk(KERN_ERR "CPM PIC init: can not find cpm-pic node\n"); cpm_pic_init()
178 np = of_find_node_by_type(NULL, "cpm"); cpm_pic_init()
180 printk(KERN_ERR "CPM PIC init: can not find cpm node\n"); cpm_pic_init()
H A Dmicropatch.c19 #include <asm/cpm.h>
/linux-4.1.27/arch/powerpc/boot/
H A Dcuboot-8xx.c31 node = finddevice("/soc/cpm"); platform_fixups()
35 node = finddevice("/soc/cpm/brg"); platform_fixups()
H A Dmpc8xx.c65 node = finddevice("/soc/cpm"); mpc8xx_set_clocks()
69 node = finddevice("/soc/cpm/brg"); mpc8xx_set_clocks()
H A Dredboot-83xx.c33 node = finddevice("/soc/cpm/brg"); platform_fixups()
H A Dredboot-8xx.c32 node = finddevice("/soc/cpm/brg"); platform_fixups()
H A Dpq2.c84 node = finddevice("/soc/cpm"); pq2_set_clocks()
88 node = finddevice("/soc/cpm/brg"); pq2_set_clocks()
H A Dcpm-serial.c229 if (getprop(devp, "fsl,cpm-command", &cpm_cmd, 4) < 4) cpm_console_init()
249 muram = finddevice("/soc/cpm/muram/data"); cpm_console_init()
H A Dcuboot-pq2.c253 node = finddevice("/soc/cpm"); pq2_platform_fixups()
257 node = finddevice("/soc/cpm/brg"); pq2_platform_fixups()
H A DMakefile80 oflib.c ofconsole.c cuboot.c mpsc.c cpm-serial.c \
/linux-4.1.27/drivers/iio/imu/inv_mpu6050/
H A Dinv_mpu_acpi.c58 union acpi_object *cpm; asus_acpi_get_sensor_info() local
64 cpm = buffer.pointer; asus_acpi_get_sensor_info()
65 for (i = 0; i < cpm->package.count; ++i) { asus_acpi_get_sensor_info()
69 elem = &(cpm->package.elements[i]); asus_acpi_get_sensor_info()
88 return cpm->package.count; asus_acpi_get_sensor_info()
/linux-4.1.27/arch/powerpc/platforms/85xx/
H A Dcommon.c21 { .name = "cpm", },
78 printk(KERN_ERR "PIC init: got no IRQ for cpm cascade\n"); mpc85xx_cpm2_pic_init()
/linux-4.1.27/arch/alpha/kernel/
H A Dsys_titan.c68 cpumask_t cpm; titan_update_irq_hw()
72 cpumask_copy(&cpm, cpu_present_mask); titan_update_irq_hw()
88 if (!cpumask_test_cpu(0, &cpm)) dim0 = &dummy; titan_update_irq_hw()
89 if (!cpumask_test_cpu(1, &cpm)) dim1 = &dummy; titan_update_irq_hw()
90 if (!cpumask_test_cpu(2, &cpm)) dim2 = &dummy; titan_update_irq_hw()
91 if (!cpumask_test_cpu(3, &cpm)) dim3 = &dummy; titan_update_irq_hw()
67 cpumask_t cpm; titan_update_irq_hw() local
/linux-4.1.27/arch/powerpc/platforms/8xx/
H A Dmpc885ads_setup.c179 np = of_find_node_by_path("/soc@ff000000/cpm@9c0/serial@a80"); mpc885ads_setup_arch()
181 np = of_find_node_by_path("/soc@ff000000/cpm@9c0/ethernet@a40"); mpc885ads_setup_arch()
202 { .name = "cpm", },
H A Dep88xc.c152 { .name = "cpm", },
H A Dmpc86xads_setup.c127 { .name = "cpm", },
H A Dtqm8xx_setup.c129 { .name = "cpm", },
/linux-4.1.27/drivers/gpu/host1x/hw/
H A Dintr_hw.c75 static int _host1x_intr_init_host_sync(struct host1x *host, u32 cpm, _host1x_intr_init_host_sync() argument
103 host1x_sync_writel(host, cpm, HOST1X_SYNC_USEC_CLK); _host1x_intr_init_host_sync()
/linux-4.1.27/drivers/spi/
H A Dspi-fsl-cpm.h2 * Freescale SPI controller driver cpm functions.
H A Dspi-fsl-cpm.c2 * Freescale SPI controller driver cpm functions.
18 #include <asm/cpm.h>
29 #include "spi-fsl-cpm.h"
H A DMakefile38 obj-$(CONFIG_SPI_FSL_CPM) += spi-fsl-cpm.o
H A Dspi-fsl-spi.c43 #include "spi-fsl-cpm.h"
/linux-4.1.27/drivers/gpu/host1x/
H A Ddev.h82 int (*init_host_sync)(struct host1x *host, u32 cpm,
178 static inline int host1x_hw_intr_init_host_sync(struct host1x *host, u32 cpm, host1x_hw_intr_init_host_sync() argument
181 return host->intr_op->init_host_sync(host, cpm, syncpt_thresh_work); host1x_hw_intr_init_host_sync()
/linux-4.1.27/drivers/tty/serial/cpm_uart/
H A Dcpm_uart.h85 /* value to combine with opcode to form cpm command */
H A Dcpm_uart_core.c1166 data = of_get_property(np, "fsl,cpm-brg", &len); cpm_uart_init_port()
1169 "fsl,cpm-brg property.\n", np->name); cpm_uart_init_port()
1175 data = of_get_property(np, "fsl,cpm-command", &len); cpm_uart_init_port()
1178 "fsl,cpm-command property.\n", np->name); cpm_uart_init_port()
/linux-4.1.27/arch/powerpc/platforms/82xx/
H A Dpq2fads.c173 { .name = "cpm", },
H A Dkm82xx.c39 pr_err("PIC init: can not find cpm-pic node\n"); km82xx_pic_init()
H A Dmpc8272_ads.c186 { .name = "cpm", },
H A Dep8248e.c56 printk(KERN_ERR "PIC init: can not find cpm-pic node\n"); ep8248e_pic_init()
/linux-4.1.27/drivers/net/ethernet/freescale/fs_enet/
H A Dfs_enet.h19 #include <asm/cpm.h>
H A Dfs_enet-main.c942 data = of_get_property(ofdev->dev.of_node, "fsl,cpm-command", &len); fs_enet_probe()
/linux-4.1.27/arch/m68k/68360/
H A Dcommproc.c148 /* if (request_irq(CPM_INTERRUPT, cpm_interrupt, 0, "cpm", NULL) != 0) */ cpm_interrupt_init()
/linux-4.1.27/arch/mips/include/asm/octeon/
H A Dcvmx-pciercx-defs.h961 uint32_t cpm:1; member in struct:cvmx_pciercx_cfg031::cvmx_pciercx_cfg031_s
973 uint32_t cpm:1;
989 uint32_t cpm:1; member in struct:cvmx_pciercx_cfg031::cvmx_pciercx_cfg031_cn52xx
1001 uint32_t cpm:1;
/linux-4.1.27/arch/powerpc/include/asm/
H A Dcpm1.h23 #include <asm/cpm.h>
H A Dqe.h22 #include <asm/cpm.h>
H A Dcpm2.h14 #include <asm/cpm.h>
71 /* CPM2-specific opcodes (see cpm.h for common opcodes)
/linux-4.1.27/drivers/usb/gadget/udc/
H A Dfsl_qe_udc.c42 #include <asm/cpm.h>
2694 .compatible = "fsl,mpc8272-cpm-usb",
/linux-4.1.27/include/uapi/linux/
H A Dcdrom.h658 unsigned cpm : 1; member in struct:dvd_lu_send_title_key
/linux-4.1.27/drivers/cdrom/
H A Dcdrom.c1700 ai->lstk.cpm = (buf[4] >> 7) & 1; dvd_do_auth()

Completed in 1180 milliseconds