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 <randy.wang@rock-chips.com>
Change-Id: Ic62aa778c051607df0313722e0963b2a1f9ae3a5
This commit is contained in:
Wang Panzhenzhuan
2024-02-21 09:41:10 +08:00
committed by Tao Huang
parent 44f70fc15b
commit f1fd603e9a

View File

@@ -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 <linux/clk.h>
@@ -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))