-vis On S3c2410x Delta Driver - →
#include <linux/module.h> #include <linux/platform_device.h> #include <linux/interrupt.h> #include <linux/gpio.h> #include <mach/regs-lcd.h> #include <plat/gpio-cfg.h> #define DRIVER_NAME "vis_delta"
static irqreturn_t vis_delta_isr(int irq, void *dev_id) struct vis_delta_device *vis = dev_id; static int bit_count = 0; static u32 accum = 0; int data_bit = gpio_get_value(DELTA_DATA_PIN); -vis On S3c2410x Delta Driver -
For modern engineers maintaining legacy S3C2410X products, the provided analysis and code skeleton serve as a roadmap to either revive the original -vis functionality or safely migrate it to a newer kernel using the IIO framework. Always consult the S3C2410X user manual (revision 1.2) and the specific Delta peripheral's datasheet—timing mismatches between the two are the primary source of "ghost touches" or video corruption. #include <linux/module
static int __init vis_delta_probe(struct platform_device *pdev) int ret; DELTA_VREF : 0); bit_count++;
static int delta_irq = IRQ_EINT11; static int delta_data_pin = S3C2410_GPG(10);
static struct platform_driver vis_delta_driver = .probe = vis_delta_probe, .remove = vis_delta_remove, .driver = .name = DRIVER_NAME, .owner = THIS_MODULE, , ;
// Delta-Sigma accumulator (simple 1st order) accum = accum + (data_bit ? DELTA_VREF : 0); bit_count++;