|
@@ -192,3 +192,144 @@ static struct resource s5p_fimc0_resource[] = {
|
|
|
};
|
|
|
|
|
|
struct platform_device s5p_device_fimc0 = {
|
|
|
+ .name = "s5p-fimc",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_fimc0_resource),
|
|
|
+ .resource = s5p_fimc0_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_fimc_md = {
|
|
|
+ .name = "s5p-fimc-md",
|
|
|
+ .id = -1,
|
|
|
+};
|
|
|
+#endif /* CONFIG_S5P_DEV_FIMC0 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S5P_DEV_FIMC1
|
|
|
+static struct resource s5p_fimc1_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S5P_PA_FIMC1, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_FIMC1),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_fimc1 = {
|
|
|
+ .name = "s5p-fimc",
|
|
|
+ .id = 1,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_fimc1_resource),
|
|
|
+ .resource = s5p_fimc1_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif /* CONFIG_S5P_DEV_FIMC1 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S5P_DEV_FIMC2
|
|
|
+static struct resource s5p_fimc2_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S5P_PA_FIMC2, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_FIMC2),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_fimc2 = {
|
|
|
+ .name = "s5p-fimc",
|
|
|
+ .id = 2,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_fimc2_resource),
|
|
|
+ .resource = s5p_fimc2_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif /* CONFIG_S5P_DEV_FIMC2 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S5P_DEV_FIMC3
|
|
|
+static struct resource s5p_fimc3_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S5P_PA_FIMC3, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_FIMC3),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_fimc3 = {
|
|
|
+ .name = "s5p-fimc",
|
|
|
+ .id = 3,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_fimc3_resource),
|
|
|
+ .resource = s5p_fimc3_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif /* CONFIG_S5P_DEV_FIMC3 */
|
|
|
+
|
|
|
+/* G2D */
|
|
|
+
|
|
|
+#ifdef CONFIG_S5P_DEV_G2D
|
|
|
+static struct resource s5p_g2d_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S5P_PA_G2D, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_2D),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_g2d = {
|
|
|
+ .name = "s5p-g2d",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_g2d_resource),
|
|
|
+ .resource = s5p_g2d_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif /* CONFIG_S5P_DEV_G2D */
|
|
|
+
|
|
|
+#ifdef CONFIG_S5P_DEV_JPEG
|
|
|
+static struct resource s5p_jpeg_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S5P_PA_JPEG, SZ_4K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_JPEG),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_jpeg = {
|
|
|
+ .name = "s5p-jpeg",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_jpeg_resource),
|
|
|
+ .resource = s5p_jpeg_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+#endif /* CONFIG_S5P_DEV_JPEG */
|
|
|
+
|
|
|
+/* FIMD0 */
|
|
|
+
|
|
|
+#ifdef CONFIG_S5P_DEV_FIMD0
|
|
|
+static struct resource s5p_fimd0_resource[] = {
|
|
|
+ [0] = DEFINE_RES_MEM(S5P_PA_FIMD0, SZ_32K),
|
|
|
+ [1] = DEFINE_RES_IRQ(IRQ_FIMD0_VSYNC),
|
|
|
+ [2] = DEFINE_RES_IRQ(IRQ_FIMD0_FIFO),
|
|
|
+ [3] = DEFINE_RES_IRQ(IRQ_FIMD0_SYSTEM),
|
|
|
+};
|
|
|
+
|
|
|
+struct platform_device s5p_device_fimd0 = {
|
|
|
+ .name = "s5p-fb",
|
|
|
+ .id = 0,
|
|
|
+ .num_resources = ARRAY_SIZE(s5p_fimd0_resource),
|
|
|
+ .resource = s5p_fimd0_resource,
|
|
|
+ .dev = {
|
|
|
+ .dma_mask = &samsung_device_dma_mask,
|
|
|
+ .coherent_dma_mask = DMA_BIT_MASK(32),
|
|
|
+ },
|
|
|
+};
|
|
|
+
|
|
|
+void __init s5p_fimd0_set_platdata(struct s3c_fb_platdata *pd)
|
|
|
+{
|
|
|
+ s3c_set_platdata(pd, sizeof(struct s3c_fb_platdata),
|
|
|
+ &s5p_device_fimd0);
|
|
|
+}
|
|
|
+#endif /* CONFIG_S5P_DEV_FIMD0 */
|
|
|
+
|
|
|
+/* HWMON */
|
|
|
+
|
|
|
+#ifdef CONFIG_S3C_DEV_HWMON
|
|
|
+struct platform_device s3c_device_hwmon = {
|
|
|
+ .name = "s3c-hwmon",
|