#define CONFIG_SENSOR_0 RK29_CAM_SENSOR_OV5642 /* back camera sensor */
#define CONFIG_SENSOR_IIC_ADDR_0 0x78
#define CONFIG_SENSOR_IIC_ADAPTER_ID_0 1
+#define CONFIG_SENSOR_ORIENTATION_0 0
#define CONFIG_SENSOR_POWER_PIN_0 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_0 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_0 RK29_PIN6_PB7
#define CONFIG_SENSOR_1 RK29_CAM_SENSOR_OV2659 /* front camera sensor */
#define CONFIG_SENSOR_IIC_ADDR_1 0x60
#define CONFIG_SENSOR_IIC_ADAPTER_ID_1 1
+#define CONFIG_SENSOR_ORIENTATION_1 0
#define CONFIG_SENSOR_POWER_PIN_1 INVALID_GPIO
#define CONFIG_SENSOR_RESET_PIN_1 INVALID_GPIO
#define CONFIG_SENSOR_POWERDN_PIN_1 RK29_PIN5_PD7
unsigned int gpio_flash;
unsigned int gpio_flag;
unsigned int gpio_init;
+ unsigned int orientation;
const char *dev_name;
};
.gpio_flash = CONFIG_SENSOR_FALSH_PIN_0,\r
.gpio_flag = (CONFIG_SENSOR_POWERACTIVE_LEVEL_0|CONFIG_SENSOR_RESETACTIVE_LEVEL_0|CONFIG_SENSOR_POWERDNACTIVE_LEVEL_0|CONFIG_SENSOR_FLASHACTIVE_LEVEL_0),\r
.gpio_init = 0,\r
+ .orientation = CONFIG_SENSOR_ORIENTATION_0,\r
.dev_name = SENSOR_DEVICE_NAME_0,\r
}, {\r
.gpio_reset = CONFIG_SENSOR_RESET_PIN_1,\r
.gpio_flash = CONFIG_SENSOR_FALSH_PIN_1,\r
.gpio_flag = (CONFIG_SENSOR_POWERACTIVE_LEVEL_1|CONFIG_SENSOR_RESETACTIVE_LEVEL_1|CONFIG_SENSOR_POWERDNACTIVE_LEVEL_1|CONFIG_SENSOR_FLASHACTIVE_LEVEL_1),\r
.gpio_init = 0,\r
+ .orientation = CONFIG_SENSOR_ORIENTATION_1,\r
.dev_name = SENSOR_DEVICE_NAME_1,\r
}\r
},\r
}\r
break;\r
}\r
-\r
default:\r
{\r
printk("%s cmd(0x%x) is unknown!\n",__FUNCTION__, cmd);\r
printk(KERN_WARNING"rk29xx_camera: " fmt , ## arg); } while (0)
#define RK29CAMERA_TR(format, ...) printk(KERN_ERR format, ## __VA_ARGS__)
-#define RK29CAMERA_DG(format, ...) dprintk(0, format, ## __VA_ARGS__)
+#define RK29CAMERA_DG(format, ...) dprintk(1, format, ## __VA_ARGS__)
// VIP Reg Offset
#define RK29_VIP_AHBR_CTRL 0x00
static int rk29_camera_querycap(struct soc_camera_host *ici,
struct v4l2_capability *cap)
{
- /* cap->name is set by the firendly caller:-> */
- strlcpy(cap->card, rk29_cam_driver_description, sizeof(cap->card));
+ struct rk29_camera_dev *pcdev = ici->priv;
+ char orientation[5];
+
+ strlcpy(cap->card, dev_name(pcdev->icd->pdev), sizeof(cap->card));
+ if (strcmp(dev_name(pcdev->icd->pdev), pcdev->pdata->gpio_res[0].dev_name) == 0) {
+ sprintf(orientation,"-%d",pcdev->pdata->gpio_res[0].orientation);
+ } else {
+ sprintf(orientation,"-%d",pcdev->pdata->gpio_res[1].orientation);
+ }
+ strcat(cap->card,orientation);
cap->version = RK29_CAM_VERSION_CODE;
cap->capabilities = V4L2_CAP_VIDEO_CAPTURE | V4L2_CAP_STREAMING;