Genio500 Android13 Camera移植經驗分享

Camera現在是使用比較廣泛的外設,現在基於:MT8385,Android版本:Android12,內核版本:kernel-4.19來實現移植ov13855。

1. MiPi 硬體引腳配置,配置路徑:

vendor\mediatek\proprietary\custom\tb8788p1_64_wifi_k419\hal\imgsensor_src\cfg_setting_imgsensor.cpp

static CUSTOM_CFG gCustomCfg[] = {
{
.sensorIdx = IMGSENSOR_SENSOR_IDX_MAIN,
.mclk = CUSTOM_CFG_MCLK_2,
.port = CUSTOM_CFG_CSI_PORT_1,
.dir = CUSTOM_CFG_DIR_REAR,
.bitOrder = CUSTOM_CFG_BITORDER_9_2,
.orientation = 90,
.horizontalFov = 67,
.verticalFov = 49
},
{
.sensorIdx = IMGSENSOR_SENSOR_IDX_SUB,
.mclk = CUSTOM_CFG_MCLK_3,
.port = CUSTOM_CFG_CSI_PORT_2,
.dir = CUSTOM_CFG_DIR_FRONT,
.bitOrder = CUSTOM_CFG_BITORDER_9_2,
.orientation = 270,
.horizontalFov = 63,
.verticalFov = 40
},

2.配置mclk上電時序

kernel-4.19/drivers/misc/mediatek/imgsensor/src/mt6771/camera_project/tb8788p1_64_wifi_k419/camera_hw/imgsensor_cfg_table.c

struct IMGSENSOR_HW_CFG imgsensor_custom_config[] = {
{
IMGSENSOR_SENSOR_IDX_MAIN,
IMGSENSOR_I2C_DEV_0,
{
{IMGSENSOR_HW_PIN_MCLK, IMGSENSOR_HW_ID_MCLK},
{IMGSENSOR_HW_PIN_AVDD, IMGSENSOR_HW_ID_REGULATOR},

{IMGSENSOR_HW_PIN_DOVDD, IMGSENSOR_HW_ID_REGULATOR},
{IMGSENSOR_HW_PIN_DVDD, IMGSENSOR_HW_ID_REGULATOR},
{IMGSENSOR_HW_PIN_PDN, IMGSENSOR_HW_ID_GPIO},
{IMGSENSOR_HW_PIN_RST, IMGSENSOR_HW_ID_GPIO},
{IMGSENSOR_HW_PIN_NONE, IMGSENSOR_HW_ID_NONE},
},
},
{
IMGSENSOR_SENSOR_IDX_SUB,
IMGSENSOR_I2C_DEV_1,
{
{IMGSENSOR_HW_PIN_MCLK, IMGSENSOR_HW_ID_MCLK},
{IMGSENSOR_HW_PIN_AVDD, IMGSENSOR_HW_ID_REGULATOR},
{IMGSENSOR_HW_PIN_DOVDD, IMGSENSOR_HW_ID_REGULATOR},
{IMGSENSOR_HW_PIN_DVDD, IMGSENSOR_HW_ID_REGULATOR},
{IMGSENSOR_HW_PIN_PDN, IMGSENSOR_HW_ID_GPIO},
{IMGSENSOR_HW_PIN_RST, IMGSENSOR_HW_ID_GPIO},
{IMGSENSOR_HW_PIN_NONE, IMGSENSOR_HW_ID_NONE},
},
},



#if defined(OV13855_MIPI_RAW)
{
SENSOR_DRVNAME_OV13855_MIPI_RAW,
{
{SensorMCLK, Vol_High, 0},
{PDN, Vol_Low, 0},
{RST, Vol_Low, 0},
{DOVDD, Vol_1800, 1},
{AVDD, Vol_2800, 1},
{DVDD, Vol_1200, 5},
{AFVDD, Vol_2800, 1},
{PDN, Vol_High, 1},
{RST, Vol_High, 2}
},
},
#endif

3.driver放置路徑:drivers/misc/mediatek/imgsensor/src/common/v1_1/imgsensor_sensor_list.c

#if defined(OV13855_MIPI_RAW)
{OV13855_SENSOR_ID, SENSOR_DRVNAME_OV13855_MIPI_RAW,OV13855_MIPI_RAW_SensorInit},
#endif

drivers/misc/mediatek/imgsensor/src/common/v1_1/imgsensor_sensor_list.h

UINT32 OV13855_MIPI_RAW_SensorInit(struct SENSOR_FUNCTION_STRUCT **pfFunc);

drivers/misc/mediatek/imgsensor/inc/kd_imgsensor.h

#define OV13855_SENSOR_ID                       0xD855

alps/device/mediateksample/tb8788p1_64_wifi_k419/ProjectConfig.mk

CUSTOM_HAL_IMGSENSOR = ov13855_mipi_raw

kernel-4.19\arch\arm64\configs\tb8788p1_64_wifi_k419_debug_defconfig

CONFIG_CUSTOM_KERNEL_IMGSENSOR="ov13855_mipi_raw"

以上就是Camera在kernel4.19上的移植步驟,具體的可以參考MTK_MT8385_Legacy_Camera_Sensor_Driver_Porting_User_Guide_v1.4。

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論