camsys_drv: v0.0x21.0
authordalon.zhang <dalon.zhang@rock-chips.com>
Wed, 29 Jul 2015 07:49:34 +0000 (15:49 +0800)
committerdalon.zhang <dalon.zhang@rock-chips.com>
Wed, 29 Jul 2015 07:49:34 +0000 (15:49 +0800)
arch/arm64/boot/dts/rk3368.dtsi
drivers/media/video/rk_camsys/camsys_internal.h
drivers/media/video/rk_camsys/camsys_marvin.c

index 7586427950b5886e1d6e322abd7e4b85d71cb1da..5182ec3240e2791bb8ebf4bd74b58b1ceb701858 100755 (executable)
                interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
                clocks = <&clk_gates16 0>, <&clk_gates16 14>, <&clk_isp>, <&clk_isp>, <&pclk_isp>, <&clk_vip>, <&clk_vip_pll>, <&clk_gates17 4>, <&clk_gates22 11>, <&pd_isp>, <&clk_gates16 9>;
                clock-names = "aclk_isp", "hclk_isp", "clk_isp", "clk_isp_jpe", "pclkin_isp", "clk_cif_out", "clk_cif_pll", "hclk_mipiphy1", "pclk_dphyrx", "pd_isp", "clk_vio0_noc";
-               pinctrl-names = "default", "isp_dvp8bit2", "isp_dvp10bit", "isp_dvp12bit", "isp_dvp8bit0", "isp_mipi_fl", "isp_mipi_fl_prefl","isp_flash_as_gpio","isp_flash_as_trigger_out";
+               pinctrl-names = "default", "isp_dvp8bit2", "isp_dvp10bit", "isp_dvp12bit", "isp_dvp8bit0", "isp_dvp8bit4", "isp_mipi_fl", "isp_mipi_fl_prefl","isp_flash_as_gpio","isp_flash_as_trigger_out";
                pinctrl-0 = <&cif_clkout>;
                pinctrl-1 = <&cif_clkout &isp_dvp_d2d9>;
                pinctrl-2 = <&cif_clkout &isp_dvp_d2d9 &isp_dvp_d0d1>;
                pinctrl-3 = <&cif_clkout &isp_dvp_d2d9 &isp_dvp_d0d1 &isp_dvp_d10d11>;
                pinctrl-4 = <&cif_clkout &isp_dvp_d0d7>;
-               pinctrl-5 = <&cif_clkout>;
-               pinctrl-6 = <&cif_clkout &isp_prelight>;
-               pinctrl-7 = <&isp_flash_trigger_as_gpio>;
-               pinctrl-8 = <&isp_flash_trigger>;
+               pinctrl-5 = <&cif_clkout &isp_dvp_d4d11>;
+               pinctrl-6 = <&cif_clkout>;
+               pinctrl-7 = <&cif_clkout &isp_prelight>;
+               pinctrl-8 = <&isp_flash_trigger_as_gpio>;
+               pinctrl-9 = <&isp_flash_trigger>;
                rockchip,isp,mipiphy = <2>;
                rockchip,isp,cifphy = <1>;
                rockchip,isp,mipiphy1,reg = <0xff964000 0x4000>;
                                                <1 GPIO_A5 RK_FUNC_1 &pcfg_pull_none>;//cif_data7
                        };
 
+                       isp_dvp_d4d11: isp-dvp-d4d11 {
+                               rockchip,pins =
+                                               <1 GPIO_A2 RK_FUNC_1 &pcfg_pull_none>,//cif_data4
+                                               <1 GPIO_A3 RK_FUNC_1 &pcfg_pull_none>,//cif_data5
+                                               <1 GPIO_A4 RK_FUNC_1 &pcfg_pull_none>,//cif_data6
+                                               <1 GPIO_A5 RK_FUNC_1 &pcfg_pull_none>,//cif_data7
+                                               <1 GPIO_A6 RK_FUNC_1 &pcfg_pull_none>,//cif_data8
+                                               <1 GPIO_A7 RK_FUNC_1 &pcfg_pull_none>,//cif_data9
+                                               <1 GPIO_B6 RK_FUNC_1 &pcfg_pull_none>,//cif_data10
+                                               <1 GPIO_B7 RK_FUNC_1 &pcfg_pull_none>;//cif_data11
+                       };
+
                        isp_shutter: isp-shutter {
                                rockchip,pins = <3 GPIO_C3 RK_FUNC_2 &pcfg_pull_none>, //SHUTTEREN
                                                <3 GPIO_C6 RK_FUNC_2 &pcfg_pull_none>;//SHUTTERTRIG
index 4987a36a96f89454e089cd45c465c78ab256066c..4154acf7ba4feb0a76acd86679759ff4e5345dc7 100755 (executable)
                 1) GPIO(gpio7 GPIO_B5) is EBUSY when register after factory reset, but after power on ,it's normal.
 *v0.0x20.0:
          1) rk3368 camera: hold vio0 noc clock during the camera work, fixed isp iommu stall failed.
+*v0.0x21.0:
+         1) add isp-dvp-d4d11 iomux support.
 */
-#define CAMSYS_DRIVER_VERSION                   KERNEL_VERSION(0,0x20,0)
+#define CAMSYS_DRIVER_VERSION                   KERNEL_VERSION(0,0x21,0)
 
 
 #define CAMSYS_PLATFORM_DRV_NAME                "RockChip-CamSys"
index a841b03af965df0456699f131129f094e6e5e940..abad592f54af7a9b0d8565441d486971d49b30d9 100755 (executable)
@@ -37,7 +37,9 @@ static int camsys_mrv_iomux_cb(camsys_extdev_t *extdev,void *ptr)
                     strcpy(state_str,"isp_dvp8bit0");
                 } else if (extdev->phy.info.cif.cifio == CamSys_SensorBit0_CifBit2) {
                     strcpy(state_str,"isp_dvp8bit2");
-                } else {
+                } else if (extdev->phy.info.cif.cifio == CamSys_SensorBit0_CifBit4) {
+                    strcpy(state_str,"isp_dvp8bit4");
+                }else {
                     camsys_err("extdev->phy.info.cif.cifio: 0x%x is invalidate!", extdev->phy.info.cif.cifio);
                     goto fail;
                 }