Lines Matching full:imon

3  *   imon.c:	input and display driver for SoundGraph iMON IR/VFD/LCD
10 * 0xffdc iMON devices, and for sending me one to hack on, without
35 #define MOD_DESC "Driver for SoundGraph iMON MultiMedia IR/Display"
36 #define MOD_NAME "imon"
98 bool rf_device; /* true if iMON 2.4G LT/DT RF device */
136 u64 rc_proto; /* iMON or MCE (RC6) IR protocol? */
222 /* imon receiver front panel/knob key table */
253 /* 0xffdc iMON MCE VFD */
264 /* iMON Knob values */
298 /* 0xffdc iMON MCE VFD */
309 /* iMON Knob values */
317 /* imon receiver front panel/knob key table for DH102*/
338 /* imon ultrabay front panel key table */
365 * USB Device ID for iMON USB Control Boards
378 * SoundGraph iMON PAD (IR & VFD)
379 * SoundGraph iMON PAD (IR & LCD)
380 * SoundGraph iMON Knob (IR only)
386 * Newer devices, all driven by the latest iMON Windows driver, full
390 /* SoundGraph iMON OEM Touch LCD (IR & 7" VGA LCD) */
393 /* SoundGraph iMON OEM Touch LCD (IR & 4.3" VGA LCD) */
396 /* SoundGraph iMON OEM VFD (IR & VFD) */
402 /* SoundGraph iMON OEM LCD (IR & LCD) */
405 /* SoundGraph iMON UltraBay (IR & LCD) */
414 /* SoundGraph iMON OEM Inside (IR only) */
429 /* SoundGraph iMON MINI (IR only) */
478 MODULE_PARM_DESC(pad_stabilize, "Apply stabilization algorithm to iMON PAD presses in arrow key mod…
505 dev_dbg(dev, "%s: iMON context freed\n", __func__); in free_imon_context()
677 * Sends an associate packet to the iMON 2.4G.
695 pr_err("no iMON device present\n"); in send_associate_24g()
705 * Sends packets to setup and show clock on iMON display
792 * These are the sysfs functions to handle the association on the iMON 2.4G LT.
809 …dev_info(d, "Visit https://www.lirc.org/html/imon-24g.html for instructions on how to associate yo… in associate_remote_show()
834 * sysfs functions to control internal imon clock
851 "To set the clock on your iMON display:\n" in imon_clock_show()
854 "\nNOTE: imon device must be closed\n" : ""); in imon_clock_show()
931 * Writes data to the VFD. The iMON VFD is 2x16 characters
959 pr_err_ratelimited("no iMON device present\n"); in vfd_write()
1014 * Writes data to the LCD. The iMON OEM LCD screen expects 8-byte
1038 pr_err_ratelimited("no iMON display present\n"); in lcd_write()
1106 * iMON IR receivers support two different signal sets -- those used by
1107 * the iMON remotes, and those used by the Windows MCE remotes (which is
1115 * the imon context lock is already held, but when initiated from userspace,
1136 dev_dbg(dev, "Configuring IR receiver for iMON protocol\n"); in imon_ir_change_protocol()
1142 dev_warn(dev, "Unsupported IR protocol specified, overriding to iMON IR protocol\n"); in imon_ir_change_protocol()
1322 /* newer iMON device PAD or mouse button */ in imon_mouse_event()
1327 /* 0xffdc iMON PAD or mouse button input */ in imon_mouse_event()
1396 * The imon directional pad functions more like a touchpad. Bytes 3 & 4 in imon_pad_to_keys()
1451 * Handle on-board decoded pad events for e.g. older VFD/iMON-Pad in imon_pad_to_keys()
1587 /* filter out junk data on the older 0xffdc imon devices */ in imon_incoming_packet()
1714 dev_warn(dev, "imon %s: invalid incoming packet size (len = %d, intf%d)\n", in imon_incoming_packet()
1719 /* iMON 2.4G associate frame */ in imon_incoming_packet()
1724 buf[5] == 0xFF && /* iMON 2.4G */ in imon_incoming_packet()
1768 dev_warn(ictx->dev, "imon %s: status(%d): ignored\n", in usb_rx_callback_intf0()
1809 dev_warn(ictx->dev, "imon %s: status(%d): ignored\n", in usb_rx_callback_intf1()
1819 * The 0x15c2:0xffdc device ID was used for umpteen different imon
1834 /* iMON Knob, no display, iMON IR + vol knob */ in imon_get_ffdc_type()
1836 dev_info(ictx->dev, "0xffdc iMON Knob, iMON IR"); in imon_get_ffdc_type()
1839 /* iMON 2.4G LT (usb stick), no display, iMON RF */ in imon_get_ffdc_type()
1841 dev_info(ictx->dev, "0xffdc iMON 2.4G LT, iMON RF"); in imon_get_ffdc_type()
1845 /* iMON VFD, no IR (does have vol knob tho) */ in imon_get_ffdc_type()
1847 dev_info(ictx->dev, "0xffdc iMON VFD + knob, no IR"); in imon_get_ffdc_type()
1850 /* iMON VFD, iMON IR */ in imon_get_ffdc_type()
1854 dev_info(ictx->dev, "0xffdc iMON VFD, iMON IR"); in imon_get_ffdc_type()
1857 /* iMON VFD, MCE IR */ in imon_get_ffdc_type()
1860 dev_info(ictx->dev, "0xffdc iMON VFD, MCE IR"); in imon_get_ffdc_type()
1864 /* iMON VFD, iMON or MCE IR */ in imon_get_ffdc_type()
1866 dev_info(ictx->dev, "0xffdc iMON VFD, iMON or MCE IR"); in imon_get_ffdc_type()
1870 /* iMON LCD, MCE IR */ in imon_get_ffdc_type()
1872 dev_info(ictx->dev, "0xffdc iMON LCD, MCE IR"); in imon_get_ffdc_type()
1876 /* no display, iMON IR */ in imon_get_ffdc_type()
1878 dev_info(ictx->dev, "0xffdc iMON Inside, iMON IR"); in imon_get_ffdc_type()
1881 /* Soundgraph iMON UltraBay */ in imon_get_ffdc_type()
1883 dev_info(ictx->dev, "0xffdc iMON UltraBay, LCD + IR"); in imon_get_ffdc_type()
1890 dev_info(ictx->dev, "Unknown 0xffdc device, defaulting to VFD and iMON IR"); in imon_get_ffdc_type()
1894 * RC6 one from userspace if IMON wasn't correct. in imon_get_ffdc_type()
1970 "iMON Remote (%04x:%04x)", ictx->vendor, ictx->product); in imon_init_rdev()
1981 /* iMON PAD or MCE */ in imon_init_rdev()
2031 "iMON Panel, Knob and Mouse(%04x:%04x)", in imon_init_idev()
2080 "iMON USB Touchscreen (%04x:%04x)", in imon_init_touch()
2168 * newer iMON devices that use control urb instead of interrupt in imon_find_endpoints()
2178 * Some iMON receivers have no display. Unfortunately, it seems in imon_find_endpoints()
2188 * iMON Touch devices have a VGA touchscreen, but no "display", as in imon_find_endpoints()
2193 dev_dbg(ictx->dev, "%s: iMON Touch device found\n", __func__); in imon_find_endpoints()
2379 dev_dbg(ictx->dev, "Registering iMON display with sysfs\n"); in imon_init_display()
2418 dev_dbg(dev, "%s: found iMON device (%04x:%04x, intf%d)\n", in imon_probe()
2477 dev_info(dev, "iMON device (%04x:%04x, intf%d) on usb<%d:%d> initialized\n", in imon_probe()
2546 dev_dbg(dev, "%s: iMON device (intf%d) disconnected\n", in imon_disconnect()