65 lines
1.3 KiB
C
Executable File
65 lines
1.3 KiB
C
Executable File
#include <linux/export.h>
|
|
#include <linux/init.h>
|
|
#include <linux/module.h>
|
|
#include <linux/kernel.h>
|
|
|
|
#include "xmedia_type.h"
|
|
#include "xmedia_errcode.h"
|
|
#include "drv_isp_export.h"
|
|
#include "adp_isp.h"
|
|
|
|
typedef struct {
|
|
xmedia_u32 sensor_num;
|
|
xmedia_u32 clk_chn;
|
|
} adp_isp_cfg;
|
|
|
|
static adp_isp_cfg g_cfg[] = {
|
|
{ 0, 0 },
|
|
};
|
|
|
|
xmedia_s32 adp_isp_set_mclk(xmedia_u32 sensor_num, xmedia_bool enable, xmedia_sensor_clock_freq clk)
|
|
{
|
|
xmedia_s32 i;
|
|
xmedia_s32 num = sizeof(g_cfg) / sizeof(adp_isp_cfg);
|
|
|
|
for (i = 0; i < num; i++) {
|
|
if (g_cfg[i].sensor_num == sensor_num) {
|
|
return drv_isp_set_mclk(g_cfg[i].clk_chn, enable, clk);
|
|
}
|
|
}
|
|
|
|
return XMEDIA_ERRCODE_INVALID_PARAM;
|
|
}
|
|
|
|
EXPORT_SYMBOL(adp_isp_set_mclk);
|
|
|
|
xmedia_s32 adp_isp_set_i2c(xmedia_u32 sensor_num, xmedia_sensor_bus_type bus_type, adp_isp_i2c_callback *i2c_callback)
|
|
{
|
|
isp_i2c_callback i2c_cb = { 0 };
|
|
|
|
if (i2c_callback == XMEDIA_NULL) {
|
|
return XMEDIA_ERRCODE_INVALID_PARAM;
|
|
}
|
|
|
|
i2c_cb.pfn_i2c_write = i2c_callback->pfn_i2c_write;
|
|
|
|
return drv_isp_register_i2c(&i2c_cb);
|
|
}
|
|
|
|
EXPORT_SYMBOL(adp_isp_set_i2c);
|
|
|
|
static int __init adp_isp_init(void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
module_init(adp_isp_init);
|
|
|
|
static void __exit adp_isp_exit(void)
|
|
{
|
|
return;
|
|
}
|
|
|
|
module_exit(adp_isp_exit);
|
|
|
|
MODULE_LICENSE("GPL"); |