0 、 FIMC0static struct resource
s3c_fimc0_resource
[] = {[0] = {.start = S5P_PA_FIMC0,. [1] = {.start = IRQ_FIMC0, .end = IRQ_FIMC0, .flags = IORESOURCE_IRQ,},}; struct platform_device s3c_device_fimc0
= {.name = " s3c-fimc ",. id = 0, .num_resources = ARRAY_SIZE (s3c_fimc0_resource), resource = s3c_fimc0_resource,}; static struct s3c_platform_fimc default_fimc0_data __initdata = {.default_cam = CAMERA_PAR_A, # si está definido (CONFIG_CPU_S5PV210_EVT1) .hw_ver = 0x45, # else.hw_ver = 0x43, # endif}; void __init s3c_fimc0_set_platdata
(struct s3c_platform_fimc * pd) {struct s3c_platform_fimc * npd; if (! pd) pd = &default_fimc0_data; npd = kmemdup (pd, sizeof (struct s3c_platform_fimc), GFP_KERNEL); if (! npd) printk (KERN_ERR "% s: no memoria para datos de plataforma \\ n ", __func __); else {if (! npd- > cfggpppp ) npd- > cfg_gpio = s3c_fimc0_cfg_gpio
; //这个 IO si (! npg, y /gt; clk_off) npd- > clk_off = s3c_fimc_clk_off; #if definido dev.platform_data = npd;}} 1 、 FIMC1static struct resource s3c_fimc1_resource [] = {[0] = {.start = S5P_PA_FIMC1, 1pares. inicio = IRQ_FIMC1, .end = IRQ_FIMC1, .flags = IORESOURCE_IRQ,},}; struct platform_device s3c_device_fimc1
= {.name = " s3c-fimc ",. id = 1, .num_resources = ARRAY_SIZE (s3c_fimc1_resource) ,. resource = s3c_fimc1_resource,}; static struct s3c_platform_fimc default_fimc1_data __initdata = {.default_cam = CAMERA_PAR_A, # si está definido (CONFIG_CPU_S5PV210_EVT1) .hw_ver = 0x50, # else.hw_ver = 0x43, # endif}; void __init s3c_fimc1_set_platdata (struct s3c_platform_fimc * pd) {struct s3c_platform_fimc * npd; if (! pd) pd = &default_fimc1_data; npd = kmemdup (pd, sizeof (struct s3c_platform_fimc), GFP_KERNEL); if (! npd) printk (KERN_ERR "% s: no memoria para datos de plataforma \\ n ", __func __); else {if (! npd- > cfggpppp ) npd- > cfg_gpio = s3c_fimc1_cfg_gpio;
//这个 IO 口 没有 实现 if (! npd- > clk_on) npd- > clk_on = s3c_fimc_clk_on; si (| npál, y, a continuación, en la página de inicio) }} 2 、 FIMC2static struct resource s3c_fimc2_resource [] = {[0] = {.start = S5P_PA_FIMC2, .end = S5P_PA_FIMC2 + S5P_acceso de la actividad de la persona a la mañana y de la fiesta. = IRQ_FIMC2, .flags = IORESOURCE_IRQ,},}; struct platform_device s3c_device_fimc2
= {.name = " s3c-fimc ",. id = 2, .num_resources = ARRAY_SIZE (s3c_fimc2_resource) ,. resource = s3c_fimc2_resource,}; static struct s3c_platform_fimc default_fimc2_data __initdata = {.default_cam = CAMERA_PAR_A, # si está definido (CONFIG_CPU_S5PV210_EVT1) .hw_ver = 0x45, # else.hw_ver = 0x43, # endif}; void __init s3c_fimc2_set_platdata (struct s3c_platform_fimc * pd) {struct s3c_platform_fimc * npd; if (! pd) pd = &default_fimc2_data; npd = kmemdup (pd, sizeof (struct s3c_platform_fimc), GFP_KERNEL); if (! npd) printk (KERN_ERR "% s: no memoria para datos de plataforma \\ n ", __func __); else {if (! npd- > cfggpppp ) npd- > cfg_gpio = s3c_fimc2_cfg_gpio
; //这个 IO 口 没有 实现 if (! npd- > clk_on) npd- > clk_on = s3c_fimc_clk_on; npd - if; if # defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined defined definido (CONFIG_CPU_S5PV210 EV 10) }}