From 2604a38ab45fef071b54515f4edd0c5e7c245a70 Mon Sep 17 00:00:00 2001 From: Wang Xiaobin Date: Mon, 9 Oct 2023 10:05:54 +0800 Subject: [PATCH] media: i2c: add cam-tb-setup Thunder boot related camera parameters. Signed-off-by: Wang Xiaobin Change-Id: I221e22041677325842a3d192c232fbff9d1bc992 --- drivers/media/i2c/Makefile | 1 + drivers/media/i2c/cam-tb-setup.c | 97 ++++++++++++++++++++++++++++++++ drivers/media/i2c/cam-tb-setup.h | 33 +++++++++++ 3 files changed, 131 insertions(+) create mode 100644 drivers/media/i2c/cam-tb-setup.c create mode 100644 drivers/media/i2c/cam-tb-setup.h diff --git a/drivers/media/i2c/Makefile b/drivers/media/i2c/Makefile index 11c344f93afe..5067b36b3390 100644 --- a/drivers/media/i2c/Makefile +++ b/drivers/media/i2c/Makefile @@ -236,3 +236,4 @@ obj-$(CONFIG_SDR_MAX2175) += max2175.o obj-$(CONFIG_VIDEO_OTP_EEPROM) += otp_eeprom.o obj-$(CONFIG_VIDEO_PREISP_DUMMY_SENSOR) += preisp-dummy.o +obj-$(CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP) += cam-tb-setup.o diff --git a/drivers/media/i2c/cam-tb-setup.c b/drivers/media/i2c/cam-tb-setup.c new file mode 100644 index 000000000000..e300dc62731c --- /dev/null +++ b/drivers/media/i2c/cam-tb-setup.c @@ -0,0 +1,97 @@ +// SPDX-License-Identifier: GPL-2.0 +// Copyright (c) 2023 Rockchip Electronics Co., Ltd + +#include +#include +#include +#include "cam-tb-setup.h" + +static u32 rk_cam_w; +static u32 rk_cam_h; +static u32 rk_cam_hdr; +static u32 rk_cam_fps; + +static int __init rk_cam_w_setup(char *str) +{ + int ret = 0; + unsigned long val = 0; + + ret = kstrtoul(str, 0, &val); + if (!ret) + rk_cam_w = (u32)val; + else + pr_err("get rk_cam_w fail\n"); + + return 0; +} + +u32 get_rk_cam_w(void) +{ + return rk_cam_w; +} +EXPORT_SYMBOL(get_rk_cam_w); + +static int __init rk_cam_h_setup(char *str) +{ + int ret = 0; + unsigned long val = 0; + + ret = kstrtoul(str, 0, &val); + if (!ret) + rk_cam_h = (u32)val; + else + pr_err("get rk_cam_h fail\n"); + + return 0; +} + +u32 get_rk_cam_h(void) +{ + return rk_cam_h; +} +EXPORT_SYMBOL(get_rk_cam_h); + +static int __init rk_cam_hdr_setup(char *str) +{ + int ret = 0; + unsigned long val = 0; + + ret = kstrtoul(str, 0, &val); + if (!ret) + rk_cam_hdr = (u32)val; + else + pr_err("get rk_cam_hdr fail\n"); + + return 0; +} + +u32 get_rk_cam_hdr(void) +{ + return rk_cam_hdr; +} +EXPORT_SYMBOL(get_rk_cam_hdr); + +static int __init __maybe_unused rk_cam_fps_setup(char *str) +{ + int ret = 0; + unsigned long val = 0; + + ret = kstrtoul(str, 0, &val); + if (!ret) + rk_cam_fps = (u32)val; + else + pr_err("get rk_cam_fps fail\n"); + + return 0; +} + +u32 get_rk_cam_fps(void) +{ + return rk_cam_fps; +} +EXPORT_SYMBOL(get_rk_cam_fps); + +__setup("rk_cam_w=", rk_cam_w_setup); +__setup("rk_cam_h=", rk_cam_h_setup); +__setup("rk_cam_hdr=", rk_cam_hdr_setup); +__setup("rk_cam_fps=", rk_cam_fps_setup); diff --git a/drivers/media/i2c/cam-tb-setup.h b/drivers/media/i2c/cam-tb-setup.h new file mode 100644 index 000000000000..61afc32c20b7 --- /dev/null +++ b/drivers/media/i2c/cam-tb-setup.h @@ -0,0 +1,33 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (C) 2023 Rockchip Electronics Co., Ltd. */ + +#ifndef CAM_TB_SETUP_H +#define CAM_TB_SETUP_H + +#include + +#ifdef CONFIG_VIDEO_ROCKCHIP_THUNDER_BOOT_ISP +u32 get_rk_cam_w(void); +u32 get_rk_cam_h(void); +u32 get_rk_cam_hdr(void); +u32 get_rk_cam_fps(void); +#else +static inline u32 get_rk_cam_w(void) +{ + return 0; +} +static inline u32 get_rk_cam_h(void) +{ + return 0; +} +static inline u32 get_rk_cam_hdr(void) +{ + return 0; +} +static inline u32 get_rk_cam_fps(void) +{ + return 0; +} +#endif + +#endif