&rk2818_device_pmem,
&rk2818_device_adc,
&rk2818_device_adckey,
- &rk2818_device_fb,
+ &rk2818_device_fb,
&rk2818_device_backlight,
+ &rk2818_device_dsp,
};
extern struct sys_timer rk2818_timer;
};
+/*
+ * rk2818 dsp device
+ */
+ static struct resource resources_dsp[] = {
+ [0] = {
+ .start = RK2818_DSP_PHYS,
+ .end = RK2818_DSP_PHYS + 0x5fffff,
+ .flags = IORESOURCE_DMA,
+ },
+ [1] = {
+ .start = IRQ_NR_PIUCMD,
+ .end = IRQ_NR_PIUCMD,
+ .flags = IORESOURCE_IRQ,
+ },
+ [2] = {
+ .start = IRQ_NR_DSPSWI,
+ .end = IRQ_NR_DSPSWI,
+ .flags = IORESOURCE_IRQ,
+ },
+};
+static u64 rk2818_device_dsp_dmamask = 0xffffffffUL;
+struct platform_device rk2818_device_dsp = {
+ .name = "rk28-dsp",
+ .id = 0,
+ .num_resources = ARRAY_SIZE(resources_dsp),
+ .resource = resources_dsp,
+ .dev = {
+ .dma_mask = &rk2818_device_dsp_dmamask,
+ .coherent_dma_mask = 0xffffffffUL
+ }
+};
+
+
+
#if defined(CONFIG_ANDROID_PMEM)
static struct android_pmem_platform_data pmem_pdata = {
.name = "pmem",
extern struct platform_device rk2818_device_adc;
extern struct platform_device rk2818_device_adckey;
extern struct platform_device rk2818_device_backlight;
+extern struct platform_device rk2818_device_dsp;
#endif
source "drivers/staging/iio/Kconfig"
+source "drivers/staging/rk2818/rk2818_dsp/Kconfig"
+
endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
obj-$(CONFIG_RAR_REGISTER) += rar/
obj-$(CONFIG_DX_SEP) += sep/
obj-$(CONFIG_IIO) += iio/
+obj-$(CONFIG_RK2818_DSP) += rk2818/rk2818_dsp/
*/
#define FBPIXMAPSIZE (1024 * 8)
+#define SETFBIOVADDR 0x4619
+#define GETFBIOVADDR 0x4620
struct fb_info *registered_fb[FB_MAX] __read_mostly;
int num_registered_fb __read_mostly;
return ret;
}
+int fb_vaddr = 0;
static long do_fb_ioctl(struct fb_info *info, unsigned int cmd,
unsigned long arg)
release_console_sem();
unlock_fb_info(info);
break;
+#if 1
+ case SETFBIOVADDR:
+ if (copy_from_user(&fb_vaddr, argp, 4))
+ return -EFAULT;
+ //printk("fbmem.c set fb_vaddr = 0x%08x \n",fb_vaddr);
+ break;
+ case GETFBIOVADDR:
+ copy_to_user(argp, &fb_vaddr, 4);
+ //printk("fbmem.c get fb_vaddr = 0x%08x \n",fb_vaddr);
+ break;
+#endif
default:
if (!lock_fb_info(info))
return -ENODEV;