mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-09 12:17:12 +09:00
rk3066b: update M701 config to support camera/gsenor/rk610codec
This commit is contained in:
@@ -20,7 +20,10 @@ CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_MODULE_FORCE_UNLOAD=y
|
||||
CONFIG_ARCH_RK30=y
|
||||
CONFIG_DDR_SDRAM_FREQ=300
|
||||
# CONFIG_DDR_TEST is not set
|
||||
CONFIG_RK_CLOCK_PROC=y
|
||||
# CONFIG_RK_CONSOLE_THREAD is not set
|
||||
CONFIG_ARCH_RK3066B=y
|
||||
CONFIG_MACH_RK3066B_M701=y
|
||||
CONFIG_FIQ_DEBUGGER=y
|
||||
@@ -178,6 +181,8 @@ CONFIG_BT_HCIUART_H4=y
|
||||
CONFIG_BT_HCIUART_LL=y
|
||||
CONFIG_BT_HCIBCM4325=y
|
||||
CONFIG_BT_AUTOSLEEP=y
|
||||
CONFIG_CFG80211=y
|
||||
CONFIG_MAC80211=y
|
||||
CONFIG_RFKILL=y
|
||||
CONFIG_RFKILL_RK=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
@@ -204,8 +209,7 @@ CONFIG_NETDEVICES=y
|
||||
CONFIG_PHYLIB=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
CONFIG_WLAN_80211=y
|
||||
CONFIG_RKWIFI=y
|
||||
CONFIG_RTL8188EU=y
|
||||
CONFIG_USB_USBNET=y
|
||||
CONFIG_PPP=y
|
||||
CONFIG_PPP_MULTILINK=y
|
||||
@@ -234,26 +238,13 @@ CONFIG_TABLET_USB_HANWANG=y
|
||||
CONFIG_TABLET_USB_KBTAB=y
|
||||
CONFIG_TABLET_USB_WACOM=y
|
||||
CONFIG_INPUT_TOUCHSCREEN=y
|
||||
CONFIG_TOUCHSCREEN_FT5306=y
|
||||
CONFIG_TOUCHSCREEN_FT5306_AV=y
|
||||
CONFIG_INPUT_MISC=y
|
||||
CONFIG_INPUT_KEYCHORD=y
|
||||
CONFIG_INPUT_UINPUT=y
|
||||
CONFIG_COMPASS_AK8975=y
|
||||
CONFIG_GS_MMA8452=y
|
||||
CONFIG_GS_LIS3DH=y
|
||||
CONFIG_GYRO_L3G4200D=y
|
||||
CONFIG_LS_CM3217=y
|
||||
CONFIG_GS_MMA7660=y
|
||||
CONFIG_SENSOR_DEVICE=y
|
||||
CONFIG_GSENSOR_DEVICE=y
|
||||
CONFIG_GS_KXTIK=y
|
||||
CONFIG_COMPASS_DEVICE=y
|
||||
CONFIG_GYROSCOPE_DEVICE=y
|
||||
CONFIG_LIGHT_DEVICE=y
|
||||
CONFIG_LS_AL3006=y
|
||||
CONFIG_LS_STK3171=y
|
||||
CONFIG_PROXIMITY_DEVICE=y
|
||||
CONFIG_PS_AL3006=y
|
||||
CONFIG_PS_STK3171=y
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_CONSOLE_TRANSLATIONS is not set
|
||||
# CONFIG_LEGACY_PTYS is not set
|
||||
@@ -270,7 +261,6 @@ CONFIG_I2C1_CONTROLLER_RK30=y
|
||||
CONFIG_I2C2_CONTROLLER_RK30=y
|
||||
CONFIG_I2C3_CONTROLLER_RK30=y
|
||||
CONFIG_I2C4_CONTROLLER_RK30=y
|
||||
CONFIG_GPIO_WM831X=y
|
||||
CONFIG_EXPANDED_GPIO_NUM=0
|
||||
CONFIG_EXPANDED_GPIO_IRQ_NUM=0
|
||||
CONFIG_SPI_FPGA_GPIO_NUM=0
|
||||
@@ -279,18 +269,16 @@ CONFIG_POWER_SUPPLY=y
|
||||
CONFIG_TEST_POWER=y
|
||||
# CONFIG_HWMON is not set
|
||||
CONFIG_MFD_TPS65910=y
|
||||
CONFIG_MFD_WM831X_I2C=y
|
||||
CONFIG_MFD_TPS65090=y
|
||||
CONFIG_MFD_RK610=y
|
||||
CONFIG_REGULATOR=y
|
||||
CONFIG_REGULATOR_TPS65910=y
|
||||
CONFIG_REGULATOR_WM831X=y
|
||||
CONFIG_RK30_PWM_REGULATOR=y
|
||||
CONFIG_MEDIA_SUPPORT=y
|
||||
CONFIG_VIDEO_DEV=y
|
||||
CONFIG_SOC_CAMERA=y
|
||||
CONFIG_SOC_CAMERA_OV2659=y
|
||||
CONFIG_SOC_CAMERA_OV5642=y
|
||||
CONFIG_SOC_CAMERA_HI253=y
|
||||
CONFIG_SOC_CAMERA_HI704=y
|
||||
CONFIG_VIDEO_RK29=y
|
||||
CONFIG_VIDEO_RK29_CAMMEM_ION=y
|
||||
CONFIG_ION=y
|
||||
@@ -301,10 +289,10 @@ CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
||||
CONFIG_BACKLIGHT_CLASS_DEVICE=y
|
||||
# CONFIG_BACKLIGHT_GENERIC is not set
|
||||
CONFIG_DISPLAY_SUPPORT=y
|
||||
CONFIG_LCD_B101EW05=y
|
||||
CONFIG_LCD_HSD07PFW1=y
|
||||
CONFIG_FB_ROCKCHIP=y
|
||||
CONFIG_LCDC_RK31=y
|
||||
CONFIG_LCDC1_RK31=y
|
||||
CONFIG_LCDC_RK3066B=y
|
||||
CONFIG_LCDC1_RK3066B=y
|
||||
CONFIG_RGA_RK30=y
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
@@ -398,7 +386,6 @@ CONFIG_LEDS_GPIO=y
|
||||
CONFIG_SWITCH=y
|
||||
CONFIG_SWITCH_GPIO=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_WM831X=y
|
||||
CONFIG_TPS65910_RTC=y
|
||||
CONFIG_STAGING=y
|
||||
CONFIG_ANDROID=y
|
||||
|
||||
443
arch/arm/mach-rk30/board-rk3066b-m701-camera.c
Normal file
443
arch/arm/mach-rk30/board-rk3066b-m701-camera.c
Normal file
@@ -0,0 +1,443 @@
|
||||
#ifdef CONFIG_VIDEO_RK29
|
||||
/*---------------- Camera Sensor Macro Define Begin ------------------------*/
|
||||
/*---------------- Camera Sensor Configuration Macro Begin ------------------------*/
|
||||
#define CONFIG_SENSOR_0 RK29_CAM_SENSOR_HI253 /* back camera sensor */
|
||||
#define CONFIG_SENSOR_IIC_ADDR_0 0x40
|
||||
#define CONFIG_SENSOR_IIC_ADAPTER_ID_0 4
|
||||
#define CONFIG_SENSOR_ORIENTATION_0 90
|
||||
#define CONFIG_SENSOR_POWER_PIN_0 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_RESET_PIN_0 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERDN_PIN_0 RK30_PIN3_PB5
|
||||
#define CONFIG_SENSOR_FALSH_PIN_0 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_0 RK29_CAM_POWERACTIVE_L
|
||||
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_0 RK29_CAM_RESETACTIVE_L
|
||||
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_0 RK29_CAM_POWERDNACTIVE_H
|
||||
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_0 RK29_CAM_FLASHACTIVE_L
|
||||
|
||||
#define CONFIG_SENSOR_QCIF_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_240X160_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_QVGA_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_CIF_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_VGA_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_480P_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_SVGA_FPS_FIXED_0 15000
|
||||
#define CONFIG_SENSOR_720P_FPS_FIXED_0 30000
|
||||
|
||||
#define CONFIG_SENSOR_01 RK29_CAM_SENSOR_OV5642 /* back camera sensor 1 */
|
||||
#define CONFIG_SENSOR_IIC_ADDR_01 0x00
|
||||
#define CONFIG_SENSOR_IIC_ADAPTER_ID_01 4
|
||||
#define CONFIG_SENSOR_ORIENTATION_01 90
|
||||
#define CONFIG_SENSOR_POWER_PIN_01 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_RESET_PIN_01 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERDN_PIN_01 RK30_PIN1_PD6
|
||||
#define CONFIG_SENSOR_FALSH_PIN_01 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_01 RK29_CAM_POWERACTIVE_L
|
||||
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_01 RK29_CAM_RESETACTIVE_L
|
||||
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_01 RK29_CAM_POWERDNACTIVE_H
|
||||
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_01 RK29_CAM_FLASHACTIVE_L
|
||||
|
||||
#define CONFIG_SENSOR_QCIF_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_240X160_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_QVGA_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_CIF_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_VGA_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_480P_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_SVGA_FPS_FIXED_01 15000
|
||||
#define CONFIG_SENSOR_720P_FPS_FIXED_01 30000
|
||||
|
||||
#define CONFIG_SENSOR_02 RK29_CAM_SENSOR_OV5640 /* back camera sensor 2 */
|
||||
#define CONFIG_SENSOR_IIC_ADDR_02 0x00
|
||||
#define CONFIG_SENSOR_CIF_INDEX_02 0
|
||||
#define CONFIG_SENSOR_IIC_ADAPTER_ID_02 4
|
||||
#define CONFIG_SENSOR_ORIENTATION_02 90
|
||||
#define CONFIG_SENSOR_POWER_PIN_02 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_RESET_PIN_02 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERDN_PIN_02 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_FALSH_PIN_02 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_02 RK29_CAM_POWERACTIVE_L
|
||||
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_02 RK29_CAM_RESETACTIVE_L
|
||||
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_02 RK29_CAM_POWERDNACTIVE_H
|
||||
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_02 RK29_CAM_FLASHACTIVE_L
|
||||
|
||||
#define CONFIG_SENSOR_QCIF_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_240X160_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_QVGA_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_CIF_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_VGA_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_480P_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_SVGA_FPS_FIXED_02 15000
|
||||
#define CONFIG_SENSOR_720P_FPS_FIXED_02 30000
|
||||
|
||||
#define CONFIG_SENSOR_1 RK29_CAM_SENSOR_HI704 /* front camera sensor 0 */
|
||||
#define CONFIG_SENSOR_IIC_ADDR_1 0x60
|
||||
#define CONFIG_SENSOR_IIC_ADAPTER_ID_1 4
|
||||
#define CONFIG_SENSOR_ORIENTATION_1 270
|
||||
#define CONFIG_SENSOR_POWER_PIN_1 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_RESET_PIN_1 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERDN_PIN_1 RK30_PIN3_PB4
|
||||
#define CONFIG_SENSOR_FALSH_PIN_1 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_1 RK29_CAM_POWERACTIVE_L
|
||||
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_1 RK29_CAM_RESETACTIVE_L
|
||||
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_1 RK29_CAM_POWERDNACTIVE_H
|
||||
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_1 RK29_CAM_FLASHACTIVE_L
|
||||
|
||||
#define CONFIG_SENSOR_QCIF_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_240X160_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_QVGA_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_CIF_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_VGA_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_480P_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_SVGA_FPS_FIXED_1 15000
|
||||
#define CONFIG_SENSOR_720P_FPS_FIXED_1 30000
|
||||
|
||||
#define CONFIG_SENSOR_11 RK29_CAM_SENSOR_OV2659 /* front camera sensor 1 */
|
||||
#define CONFIG_SENSOR_IIC_ADDR_11 0x00
|
||||
#define CONFIG_SENSOR_IIC_ADAPTER_ID_11 3
|
||||
#define CONFIG_SENSOR_ORIENTATION_11 270
|
||||
#define CONFIG_SENSOR_POWER_PIN_11 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_RESET_PIN_11 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERDN_PIN_11 INVALID_GPIO//RK30_PIN1_PB7
|
||||
#define CONFIG_SENSOR_FALSH_PIN_11 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_11 RK29_CAM_POWERACTIVE_L
|
||||
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_11 RK29_CAM_RESETACTIVE_L
|
||||
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_11 RK29_CAM_POWERDNACTIVE_H
|
||||
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_11 RK29_CAM_FLASHACTIVE_L
|
||||
|
||||
#define CONFIG_SENSOR_QCIF_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_240X160_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_QVGA_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_CIF_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_VGA_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_480P_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_SVGA_FPS_FIXED_11 15000
|
||||
#define CONFIG_SENSOR_720P_FPS_FIXED_11 30000
|
||||
|
||||
#define CONFIG_SENSOR_12 RK29_CAM_SENSOR_OV2659//RK29_CAM_SENSOR_OV2655 /* front camera sensor 2 */
|
||||
#define CONFIG_SENSOR_IIC_ADDR_12 0x00
|
||||
#define CONFIG_SENSOR_IIC_ADAPTER_ID_12 3
|
||||
#define CONFIG_SENSOR_ORIENTATION_12 270
|
||||
#define CONFIG_SENSOR_POWER_PIN_12 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_RESET_PIN_12 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERDN_PIN_12 INVALID_GPIO//RK30_PIN1_PB7
|
||||
#define CONFIG_SENSOR_FALSH_PIN_12 INVALID_GPIO
|
||||
#define CONFIG_SENSOR_POWERACTIVE_LEVEL_12 RK29_CAM_POWERACTIVE_L
|
||||
#define CONFIG_SENSOR_RESETACTIVE_LEVEL_12 RK29_CAM_RESETACTIVE_L
|
||||
#define CONFIG_SENSOR_POWERDNACTIVE_LEVEL_12 RK29_CAM_POWERDNACTIVE_H
|
||||
#define CONFIG_SENSOR_FLASHACTIVE_LEVEL_12 RK29_CAM_FLASHACTIVE_L
|
||||
|
||||
#define CONFIG_SENSOR_QCIF_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_240X160_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_QVGA_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_CIF_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_VGA_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_480P_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_SVGA_FPS_FIXED_12 15000
|
||||
#define CONFIG_SENSOR_720P_FPS_FIXED_12 30000
|
||||
|
||||
|
||||
#endif //#ifdef CONFIG_VIDEO_RK29
|
||||
/*---------------- Camera Sensor Configuration Macro End------------------------*/
|
||||
#include "../../../drivers/media/video/rk30_camera.c"
|
||||
/*---------------- Camera Sensor Macro Define End ---------*/
|
||||
|
||||
#define PMEM_CAM_SIZE PMEM_CAM_NECESSARY
|
||||
/*****************************************************************************************
|
||||
* camera devices
|
||||
* author: ddl@rock-chips.com
|
||||
*****************************************************************************************/
|
||||
#ifdef CONFIG_VIDEO_RK29
|
||||
#define CONFIG_SENSOR_POWER_IOCTL_USR 1 //define this refer to your board layout
|
||||
#define CONFIG_SENSOR_RESET_IOCTL_USR 0
|
||||
#define CONFIG_SENSOR_POWERDOWN_IOCTL_USR 0
|
||||
#define CONFIG_SENSOR_FLASH_IOCTL_USR 0
|
||||
|
||||
static void rk_cif_power(int on)
|
||||
{
|
||||
struct regulator *ldo_18,*ldo_28;
|
||||
ldo_28 = regulator_get(NULL, "ldo7"); // vcc28_cif
|
||||
ldo_18 = regulator_get(NULL, "ldo1"); // vcc18_cif
|
||||
if (ldo_28 == NULL || IS_ERR(ldo_28) || ldo_18 == NULL || IS_ERR(ldo_18)){
|
||||
printk("get cif ldo failed!\n");
|
||||
return;
|
||||
}
|
||||
if(on == 0){
|
||||
regulator_disable(ldo_28);
|
||||
regulator_put(ldo_28);
|
||||
regulator_disable(ldo_18);
|
||||
regulator_put(ldo_18);
|
||||
mdelay(500);
|
||||
}
|
||||
else{
|
||||
regulator_set_voltage(ldo_28, 2800000, 2800000);
|
||||
regulator_enable(ldo_28);
|
||||
// printk("%s set ldo7 vcc28_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_28));
|
||||
regulator_put(ldo_28);
|
||||
|
||||
regulator_set_voltage(ldo_18, 1800000, 1800000);
|
||||
// regulator_set_suspend_voltage(ldo, 1800000);
|
||||
regulator_enable(ldo_18);
|
||||
// printk("%s set ldo1 vcc18_cif=%dmV end\n", __func__, regulator_get_voltage(ldo_18));
|
||||
regulator_put(ldo_18);
|
||||
}
|
||||
}
|
||||
|
||||
#if CONFIG_SENSOR_POWER_IOCTL_USR
|
||||
static int sensor_power_usr_cb (struct rk29camera_gpio_res *res,int on)
|
||||
{
|
||||
//#error "CONFIG_SENSOR_POWER_IOCTL_USR is 1, sensor_power_usr_cb function must be writed!!";
|
||||
rk_cif_power(on);
|
||||
}
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_RESET_IOCTL_USR
|
||||
static int sensor_reset_usr_cb (struct rk29camera_gpio_res *res,int on)
|
||||
{
|
||||
#error "CONFIG_SENSOR_RESET_IOCTL_USR is 1, sensor_reset_usr_cb function must be writed!!";
|
||||
}
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_POWERDOWN_IOCTL_USR
|
||||
static int sensor_powerdown_usr_cb (struct rk29camera_gpio_res *res,int on)
|
||||
{
|
||||
#error "CONFIG_SENSOR_POWERDOWN_IOCTL_USR is 1, sensor_powerdown_usr_cb function must be writed!!";
|
||||
}
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_FLASH_IOCTL_USR
|
||||
static int sensor_flash_usr_cb (struct rk29camera_gpio_res *res,int on)
|
||||
{
|
||||
#error "CONFIG_SENSOR_FLASH_IOCTL_USR is 1, sensor_flash_usr_cb function must be writed!!";
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct rk29camera_platform_ioctl_cb sensor_ioctl_cb = {
|
||||
#if CONFIG_SENSOR_POWER_IOCTL_USR
|
||||
.sensor_power_cb = sensor_power_usr_cb,
|
||||
#else
|
||||
.sensor_power_cb = NULL,
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_RESET_IOCTL_USR
|
||||
.sensor_reset_cb = sensor_reset_usr_cb,
|
||||
#else
|
||||
.sensor_reset_cb = NULL,
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_POWERDOWN_IOCTL_USR
|
||||
.sensor_powerdown_cb = sensor_powerdown_usr_cb,
|
||||
#else
|
||||
.sensor_powerdown_cb = NULL,
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_FLASH_IOCTL_USR
|
||||
.sensor_flash_cb = sensor_flash_usr_cb,
|
||||
#else
|
||||
.sensor_flash_cb = NULL,
|
||||
#endif
|
||||
};
|
||||
|
||||
#if CONFIG_SENSOR_IIC_ADDR_0
|
||||
static struct reginfo_t rk_init_data_sensor_reg_0[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
static struct reginfo_t rk_init_data_sensor_winseqreg_0[] ={
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
#endif
|
||||
|
||||
#if CONFIG_SENSOR_IIC_ADDR_1
|
||||
static struct reginfo_t rk_init_data_sensor_reg_1[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
static struct reginfo_t rk_init_data_sensor_winseqreg_1[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_01
|
||||
static struct reginfo_t rk_init_data_sensor_reg_01[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
static struct reginfo_t rk_init_data_sensor_winseqreg_01[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_02
|
||||
static struct reginfo_t rk_init_data_sensor_reg_02[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
static struct reginfo_t rk_init_data_sensor_winseqreg_02[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_11
|
||||
static struct reginfo_t rk_init_data_sensor_reg_11[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
static struct reginfo_t rk_init_data_sensor_winseqreg_11[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_12
|
||||
static struct reginfo_t rk_init_data_sensor_reg_12[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
static struct reginfo_t rk_init_data_sensor_winseqreg_12[] =
|
||||
{
|
||||
{0x0000, 0x00,0,0}
|
||||
};
|
||||
#endif
|
||||
static rk_sensor_user_init_data_s rk_init_data_sensor[RK_CAM_NUM] =
|
||||
{
|
||||
#if CONFIG_SENSOR_IIC_ADDR_0
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = rk_init_data_sensor_reg_0,
|
||||
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_0,
|
||||
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_0) / sizeof(struct reginfo_t),
|
||||
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_0) / sizeof(struct reginfo_t),
|
||||
},
|
||||
#else
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = NULL,
|
||||
.rk_sensor_init_winseq = NULL,
|
||||
.rk_sensor_winseq_size = 0,
|
||||
.rk_sensor_init_data_size = 0,
|
||||
},
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_1
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = rk_init_data_sensor_reg_1,
|
||||
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_1,
|
||||
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_1) / sizeof(struct reginfo_t),
|
||||
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_1) / sizeof(struct reginfo_t),
|
||||
},
|
||||
#else
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = NULL,
|
||||
.rk_sensor_init_winseq = NULL,
|
||||
.rk_sensor_winseq_size = 0,
|
||||
.rk_sensor_init_data_size = 0,
|
||||
},
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_01
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = rk_init_data_sensor_reg_01,
|
||||
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_01,
|
||||
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_01) / sizeof(struct reginfo_t),
|
||||
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_01) / sizeof(struct reginfo_t),
|
||||
},
|
||||
#else
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = NULL,
|
||||
.rk_sensor_init_winseq = NULL,
|
||||
.rk_sensor_winseq_size = 0,
|
||||
.rk_sensor_init_data_size = 0,
|
||||
},
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_02
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = rk_init_data_sensor_reg_02,
|
||||
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_02,
|
||||
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_02) / sizeof(struct reginfo_t),
|
||||
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_02) / sizeof(struct reginfo_t),
|
||||
},
|
||||
#else
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = NULL,
|
||||
.rk_sensor_init_winseq = NULL,
|
||||
.rk_sensor_winseq_size = 0,
|
||||
.rk_sensor_init_data_size = 0,
|
||||
},
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_11
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = rk_init_data_sensor_reg_11,
|
||||
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_11,
|
||||
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_11) / sizeof(struct reginfo_t),
|
||||
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_11) / sizeof(struct reginfo_t),
|
||||
},
|
||||
#else
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = NULL,
|
||||
.rk_sensor_init_winseq = NULL,
|
||||
.rk_sensor_winseq_size = 0,
|
||||
.rk_sensor_init_data_size = 0,
|
||||
},
|
||||
#endif
|
||||
#if CONFIG_SENSOR_IIC_ADDR_12
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = rk_init_data_sensor_reg_12,
|
||||
.rk_sensor_init_winseq = rk_init_data_sensor_winseqreg_12,
|
||||
.rk_sensor_winseq_size = sizeof(rk_init_data_sensor_winseqreg_12) / sizeof(struct reginfo_t),
|
||||
.rk_sensor_init_data_size = sizeof(rk_init_data_sensor_reg_12) / sizeof(struct reginfo_t),
|
||||
},
|
||||
#else
|
||||
{
|
||||
.rk_sensor_init_width = INVALID_VALUE,
|
||||
.rk_sensor_init_height = INVALID_VALUE,
|
||||
.rk_sensor_init_bus_param = INVALID_VALUE,
|
||||
.rk_sensor_init_pixelcode = INVALID_VALUE,
|
||||
.rk_sensor_init_data = NULL,
|
||||
.rk_sensor_init_winseq = NULL,
|
||||
.rk_sensor_winseq_size = 0,
|
||||
.rk_sensor_init_data_size = 0,
|
||||
},
|
||||
#endif
|
||||
|
||||
};
|
||||
#include "../../../drivers/media/video/rk30_camera.c"
|
||||
|
||||
#endif /* CONFIG_VIDEO_RK29 */
|
||||
@@ -75,7 +75,7 @@
|
||||
#define RK30_FB0_MEM_SIZE 8*SZ_1M
|
||||
#endif
|
||||
|
||||
#include "board-rk3066b-sdk-camera.c"
|
||||
#include "board-rk3066b-m701-camera.c"
|
||||
#include "board-rk3066b-m701-key.c"
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_GT8XX)
|
||||
@@ -132,23 +132,24 @@ struct goodix_platform_data goodix_info = {
|
||||
#define TOUCH_INT_PIN RK30_PIN0_PD4
|
||||
#define TOUCH_PWR_PIN RK30_PIN2_PB4
|
||||
|
||||
static int ft5x0x_init_platform_hw(void)
|
||||
static int ft5306_init_platform_hw(void)
|
||||
{
|
||||
|
||||
rk30_mux_api_set(GPIO2C0_LCDC1DATA16_SMCADDR0_TRACECLK_NAME, GPIO2C_GPIO2C0);
|
||||
rk30_mux_api_set(GPIO0D4_SPI1RXD_NAME, GPIO0D_GPIO0D4);
|
||||
rk30_mux_api_set(GPIO2B4_LCDC1DATA12_SMCDATA12_TRACEDATA12_NAME, GPIO2B_GPIO2B4);
|
||||
//printk("%s:0x%x,0x%x\n",__func__,rk30_mux_api_get(GPIO2C0_LCDC1DATA16_SMCADDR0_TRACECLK_NAME),rk30_mux_api_get(GPIO2B4_LCDC1DATA12_SMCDATA12_TRACEDATA12_NAME));
|
||||
|
||||
printk("==ft5x0x_init_platform_hw =\n");
|
||||
printk("ft5306_init_platform_hw \n");
|
||||
if(gpio_request(TOUCH_RESET_PIN,NULL) != 0){
|
||||
gpio_free(TOUCH_RESET_PIN);
|
||||
printk("ft5606_init_platform_hw gpio_request error\n");
|
||||
printk("ft5306_init_platform_hw gpio_request error\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
if(gpio_request(TOUCH_INT_PIN,NULL) != 0){
|
||||
gpio_free(TOUCH_INT_PIN);
|
||||
printk("ift5606_init_platform_hw gpio_request error\n");
|
||||
printk("ift5306_init_platform_hw gpio_request error\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
||||
@@ -162,33 +163,36 @@ static int ft5x0x_init_platform_hw(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
void ft5x0x_exit_platform_hw(void)
|
||||
void ft5306_exit_platform_hw(void)
|
||||
{
|
||||
printk("ft5606_exit_platform_hw\n");
|
||||
gpio_free(TOUCH_RESET_PIN);
|
||||
gpio_free(TOUCH_INT_PIN);
|
||||
}
|
||||
|
||||
int ft5x0x_platform_sleep(void)
|
||||
int ft5306_platform_sleep(void)
|
||||
{
|
||||
printk("ft5606_platform_sleep\n");
|
||||
gpio_set_value(TOUCH_RESET_PIN,GPIO_LOW);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ft5x0x_platform_wakeup(void)
|
||||
int ft5306_platform_wakeup(void)
|
||||
{
|
||||
printk("ft5606_platform_wakeup\n");
|
||||
gpio_set_value(TOUCH_RESET_PIN,GPIO_HIGH);
|
||||
msleep(300);
|
||||
gpio_direction_output(TOUCH_RESET_PIN,GPIO_LOW);
|
||||
mdelay(300);
|
||||
gpio_set_value(TOUCH_RESET_PIN,GPIO_HIGH);
|
||||
mdelay(200);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct ft5606_platform_data ft5x0x_info = {
|
||||
.init_platform_hw= ft5x0x_init_platform_hw,
|
||||
.exit_platform_hw= ft5x0x_exit_platform_hw,
|
||||
.platform_sleep = ft5x0x_platform_sleep,
|
||||
.platform_wakeup = ft5x0x_platform_wakeup,
|
||||
struct ft5606_platform_data ft5306_info = {
|
||||
|
||||
.init_platform_hw= ft5306_init_platform_hw,
|
||||
.exit_platform_hw= ft5306_exit_platform_hw,
|
||||
.platform_sleep= ft5306_platform_sleep,
|
||||
.platform_wakeup= ft5306_platform_wakeup,
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -450,26 +454,27 @@ struct platform_device rk30_device_sew868 = {
|
||||
#endif
|
||||
|
||||
|
||||
/*MMA7660 gsensor*/
|
||||
#if defined (CONFIG_GS_MMA7660)
|
||||
#define MMA7660_INT_PIN RK30_PIN4_PC0
|
||||
static int gs_init_platform_hw(void)
|
||||
#define MMA7660_INT_PIN RK30_PIN3_PD7
|
||||
|
||||
static int mma7660_init_platform_hw(void)
|
||||
{
|
||||
rk30_mux_api_set(GPIO4C0_SMCDATA0_TRACEDATA0_NAME, GPIO4C_GPIO4C0);
|
||||
if(gpio_request(MMA7660_INT_PIN, NULL) != 0){
|
||||
if(gpio_request(MMA7660_INT_PIN, NULL) != 0){
|
||||
gpio_free(MMA7660_INT_PIN);
|
||||
printk("gsensor gpio_request error\n");
|
||||
return -EIO;
|
||||
}
|
||||
//gpio_direction_input(MMA7660_INT_PIN);
|
||||
gpio_pull_updown(MMA7660_INT_PIN, 1);
|
||||
return 0;
|
||||
//gpio_direction_input(MMA7660_INT_PIN);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static struct gs_platform_data mma7660_info = {
|
||||
.model= 7660,
|
||||
.swap_xy = 0,
|
||||
.init_platform_hw= gs_init_platform_hw,
|
||||
static struct sensor_platform_data mma7660_info = {
|
||||
.type = SENSOR_TYPE_ACCEL,
|
||||
.irq_enable = 1,
|
||||
.poll_delay_ms = 30,
|
||||
.init_platform_hw = mma7660_init_platform_hw,
|
||||
.orientation = {0, 1, 0, 0, 0, -1, 1, 0, 0},
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -578,11 +583,14 @@ static struct sensor_platform_data cm3217_info = {
|
||||
|
||||
#ifdef CONFIG_FB_ROCKCHIP
|
||||
|
||||
#define LCD_CS_PIN INVALID_GPIO
|
||||
#define LCD_CS_PIN RK30_PIN2_PB6
|
||||
#define LCD_CS_VALUE GPIO_HIGH
|
||||
|
||||
#define LCD_EN_PIN RK30_PIN0_PB0
|
||||
#define LCD_EN_VALUE GPIO_HIGH
|
||||
#define LCD_EN_VALUE GPIO_LOW
|
||||
|
||||
#define LCD_STB_PIN RK30_PIN2_PB3
|
||||
#define LCD_STB_VALUE GPIO_HIGH
|
||||
|
||||
static int rk_fb_io_init(struct rk29_fb_setting_info *fb_setting)
|
||||
{
|
||||
@@ -617,6 +625,22 @@ static int rk_fb_io_init(struct rk29_fb_setting_info *fb_setting)
|
||||
gpio_direction_output(LCD_EN_PIN, LCD_EN_VALUE);
|
||||
}
|
||||
}
|
||||
|
||||
if(LCD_STB_PIN !=INVALID_GPIO)
|
||||
{
|
||||
ret = gpio_request(LCD_STB_PIN, NULL);
|
||||
if (ret != 0)
|
||||
{
|
||||
gpio_free(LCD_STB_PIN);
|
||||
printk(KERN_ERR "request lcd en pin fail!\n");
|
||||
return -1;
|
||||
}
|
||||
else
|
||||
{
|
||||
gpio_direction_output(LCD_STB_PIN, LCD_STB_VALUE);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
static int rk_fb_io_disable(void)
|
||||
@@ -1448,7 +1472,7 @@ static struct i2c_board_info __initdata i2c2_info[] = {
|
||||
.addr = 0x38,
|
||||
.flags = 0,
|
||||
.irq = RK30_PIN0_PD4,
|
||||
.platform_data = &ft5x0x_info,
|
||||
.platform_data = &ft5306_info,
|
||||
},
|
||||
#endif
|
||||
#if defined (CONFIG_LS_CM3217)
|
||||
@@ -1580,9 +1604,9 @@ static struct dvfs_arm_table dvfs_cpu_logic_table[] = {
|
||||
#if 0
|
||||
{.frequency = 252 * 1000, .cpu_volt = 1075 * 1000, .logic_volt = 1125 * 1000},//0.975V/1.000V
|
||||
#endif
|
||||
{.frequency = 504 * 1000, .cpu_volt = 975 * 1000, .logic_volt = 1000 * 1000},//0.975V/1.000V
|
||||
{.frequency = 816 * 1000, .cpu_volt = 1000 * 1000, .logic_volt = 1000 * 1000},//1.000V/1.025V
|
||||
{.frequency = 1200 * 1000, .cpu_volt = 1025 * 1000, .logic_volt = 1000 * 1000},//1.100V/1.050V
|
||||
{.frequency = 504 * 1000, .cpu_volt = 1100 * 1000, .logic_volt = 1100 * 1000},//0.975V/1.000V
|
||||
{.frequency = 816 * 1000, .cpu_volt = 1100 * 1000, .logic_volt = 1100 * 1000},//1.000V/1.025V
|
||||
{.frequency = 1200 * 1000, .cpu_volt = 1100 * 1000, .logic_volt = 1100 * 1000},//1.100V/1.050V
|
||||
#if 0
|
||||
{.frequency = 1008 * 1000, .cpu_volt = 1125 * 1000, .logic_volt = 1150 * 1000},//1.025V/1.050V
|
||||
{.frequency = 1272 * 1000, .cpu_volt = 1225 * 1000, .logic_volt = 1200 * 1000},//1.150V/1.100V
|
||||
|
||||
Reference in New Issue
Block a user