From f1fd603e9a6ff7ae7f966acc586b58e67286247e Mon Sep 17 00:00:00 2001 From: Wang Panzhenzhuan Date: Wed, 21 Feb 2024 09:41:10 +0800 Subject: [PATCH] media: i2c: gc05a2: adjust power sequence to suit spec 1. adjust power sequence to suit spec. 2. fix bayer pattern to suit setting. Signed-off-by: Wang Panzhenzhuan Change-Id: Ic62aa778c051607df0313722e0963b2a1f9ae3a5 --- drivers/media/i2c/gc05a2.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/media/i2c/gc05a2.c b/drivers/media/i2c/gc05a2.c index f323061635c0..233063592e03 100644 --- a/drivers/media/i2c/gc05a2.c +++ b/drivers/media/i2c/gc05a2.c @@ -5,6 +5,9 @@ * Copyright (C) 2023 Rockchip Electronics Co., Ltd. * * V0.0X01.0X01 init first version. + * V0.0X01.0X01 update sensor driver. + * 1. adjust power sequence to suit spec. + * 2. fix bayer pattern to suit setting. */ #include @@ -84,7 +87,7 @@ #define OF_CAMERA_PINCTRL_STATE_SLEEP "rockchip,camera_sleep" #define GC05A2_NAME "gc05a2" -#define GC05A2_MEDIA_BUS_FMT MEDIA_BUS_FMT_SRGGB10_1X10 +#define GC05A2_MEDIA_BUS_FMT MEDIA_BUS_FMT_SGRBG10_1X10 static const char * const gc05a2_supply_names[] = { "avdd", /* Analog power */ @@ -1185,14 +1188,16 @@ static int __gc05a2_power_on(struct gc05a2 *gc05a2) dev_err(dev, "Failed to enable xvclk\n"); return ret; } - if (!IS_ERR(gc05a2->reset_gpio)) - gpiod_set_value_cansleep(gc05a2->reset_gpio, 0); ret = regulator_bulk_enable(GC05A2_NUM_SUPPLIES, gc05a2->supplies); if (ret < 0) { dev_err(dev, "Failed to enable regulators\n"); goto disable_clk; } + usleep_range(2000, 2100); + + if (!IS_ERR(gc05a2->reset_gpio)) + gpiod_set_value_cansleep(gc05a2->reset_gpio, 0); usleep_range(1000, 1100); if (!IS_ERR(gc05a2->reset_gpio))