Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> Samsung Camera Interfaceドライバー(FIMC)

Samsung Camera Interfaceドライバー(FIMC)

  
0、FIMC0static struct resource [3] = {[0] = {.start = S5P_PA_FIMC0、.end = S5P_PA_FIMC0 + S5P_SZ_FIMC0 - 1、.flags = IORESOURCE_MEM、}、 [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、#定義されている場合(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:プラットフォームデータ用のメモリがありません\\ n"、__func __); else {if(!npd-> cfg_gpio) )npd-> cfg_gpio = s3c_fimc0_cfg_gpio
; //このIOが実装されています。(!npd-> clk_on)npd-> clk_on = s3c_fimc_clk_on; if(!npd-> clk_off)npd-> clk_off = s3c_fimc_clk_off; #ifが定義されている(CONFIG_CPU_S5PV210_EVT1) dev.platform_data = npd;}} 1、FIMC1static構造体リソースs3c_fimc1_resource [] = {[0] = {.start = S5P_PA_FIMC1、.end = S5P_PA_FIMC1 + S5P_SZ_FIMC1 - 1、.flags = IORESOURCE_MEM、{1、{1}。開始= 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、#定義されている場合(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:プラットフォームデータ用のメモリがありません\\ n"、__func __); else {if(!npd-> cfg_gpio) )npd-> cfg_gpio = s3c_fimc1_cfg_gpio;
//(この場合は!!npd-> clk_on)npd-> clk_on = s3c_fimc_clk_on; //if(!npd-> clk_off)npd-> clk_off = s3c_fimc_clk_off; #ifが定義されている(CONFIG_CPU_S5PV210_EVT1) 2、FIMC2static構造体リソースs3c_fimc2_resource [] = {[0] = {.start = S5P_PA_FIMC2、.end = S5P_PA_FIMC2 + S5P_SZ_FIMC2 - 1、.flags = IORESOURCE_MEM、}、[1] = {.stIM2、IR =}。 = 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、#定義されている場合(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:プラットフォームデータ用のメモリがありません\\ n"、__func __); else {if(!npd-> cfg_gpio) )npd-> cfg_gpio = s3c_fimc2_cfg_gpio
; //if(!npd-> clk_on)npd-> clk_on = s3c_fimc_clk_on; //if(!npd-> clk_off)npd-> clk_off = s3c_fimc_clk_off; #ifが定義されている(CONFIG_CPU_S5PV210_EVT1)


Copyright © Windowsの知識 All Rights Reserved