*/
struct exynos_platform_fimc_is_sensor {
int (*gpio_cfg)(struct platform_device *pdev, u32 scenario, u32 enable);
- int (*iclk_cfg)(struct platform_device *pdev, u32 scenario, u32 channel);
- int (*iclk_on)(struct platform_device *pdev,u32 scenario, u32 channel);
- int (*iclk_off)(struct platform_device *pdev, u32 scenario, u32 channel);
- int (*mclk_on)(struct platform_device *pdev, u32 scenario, u32 channel);
- int (*mclk_off)(struct platform_device *pdev, u32 scenario, u32 channel);
+ int (*iclk_cfg)(struct device *dev, u32 scenario, u32 channel);
+ int (*iclk_on)(struct device *dev,u32 scenario, u32 channel);
+ int (*iclk_off)(struct device *dev, u32 scenario, u32 channel);
+ int (*mclk_on)(struct device *dev, u32 scenario, u32 channel);
+ int (*mclk_off)(struct device *dev, u32 scenario, u32 channel);
struct exynos_sensor_pin pin_ctrls[SENSOR_SCENARIO_MAX][GPIO_SCENARIO_MAX][GPIO_CTRL_MAX];
char sensor_name[FIMC_IS_MAX_NAME_LEN];
u32 scenario;
extern int exynos_fimc_is_sensor_pins_cfg(struct platform_device *pdev,
u32 scenario,
u32 enable);
-extern int exynos_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_iclk_cfg(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_sensor_iclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_iclk_on(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_sensor_iclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_iclk_off(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_sensor_mclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_mclk_on(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_sensor_mclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_sensor_mclk_off(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_companion_iclk_cfg(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_iclk_cfg(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_companion_iclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_iclk_on(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_companion_iclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_iclk_off(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_companion_mclk_on(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_mclk_on(struct device *dev,
u32 scenario,
u32 channel);
-extern int exynos_fimc_is_companion_mclk_off(struct platform_device *pdev,
+extern int exynos_fimc_is_companion_mclk_off(struct device *dev,
u32 scenario,
u32 channel);
struct exynos_platform_fimc_is {
int hw_ver;
struct exynos_fimc_is_subip_info *subip_info;
- int (*cfg_gpio)(struct platform_device *pdev, int channel, bool flag_on);
- int (*clk_cfg)(struct platform_device *pdev);
- int (*clk_on)(struct platform_device *pdev);
- int (*clk_off)(struct platform_device *pdev);
- int (*print_clk)(struct platform_device *pdev);
- int (*print_cfg)(struct platform_device *pdev, u32 channel);
- int (*print_pwr)(struct platform_device *pdev);
+ int (*cfg_gpio)(struct device *dev, int channel, bool flag_on);
+ int (*clk_cfg)(struct device *dev);
+ int (*clk_on)(struct device *dev);
+ int (*clk_off)(struct device *dev);
+ int (*print_clk)(struct device *dev);
+ int (*print_cfg)(struct device *dev, u32 channel);
+ int (*print_pwr)(struct device *dev);
u32 companion_spi_channel;
bool use_two_spi_line;
extern struct device *fimc_is_dev;
-extern void exynos_fimc_is_set_platdata(struct exynos_platform_fimc_is *pd);
-
-int fimc_is_set_parent_dt(struct platform_device *pdev,
- const char *child, const char *parent);
-int fimc_is_set_rate_dt(struct platform_device *pdev,
- const char *conid, unsigned int rate);
-unsigned int fimc_is_get_rate_dt(struct platform_device *pdev,
- const char *conid);
-unsigned int fimc_is_enable_dt(struct platform_device *pdev,
- const char *conid);
-void fimc_is_disable_dt(struct platform_device *pdev,
- const char *conid);
+int fimc_is_set_parent_dt(struct device *dev, const char *child,
+ const char *parent);
+int fimc_is_set_rate_dt(struct device *dev, const char *conid,
+ unsigned int rate);
+unsigned int fimc_is_get_rate_dt(struct device *dev, const char *conid);
+unsigned int fimc_is_enable_dt(struct device *dev, const char *conid);
+void fimc_is_disable_dt(struct device *dev, const char *conid);
/* platform specific clock functions */
/* exynos 5 */
-extern int exynos_fimc_is_cfg_clk(struct platform_device *pdev);
-extern int exynos_fimc_is_cfg_cam_clk(struct platform_device *pdev);
-extern int exynos_fimc_is_clk_on(struct platform_device *pdev);
-extern int exynos_fimc_is_clk_off(struct platform_device *pdev);
-extern int exynos_fimc_is_print_clk(struct platform_device *pdev);
-
-extern int exynos_fimc_is_print_cfg(struct platform_device *pdev, u32 channel);
-extern int exynos_fimc_is_print_pwr(struct platform_device *pdev);
+extern int exynos_fimc_is_cfg_clk(struct device *dev);
+extern int exynos_fimc_is_cfg_cam_clk(struct device *dev);
+extern int exynos_fimc_is_clk_on(struct device *dev);
+extern int exynos_fimc_is_clk_off(struct device *dev);
+extern int exynos_fimc_is_print_clk(struct device *dev);
+
+extern int exynos_fimc_is_print_cfg(struct device *dev, u32 channel);
+extern int exynos_fimc_is_print_pwr(struct device *dev);
#endif /* EXYNOS_FIMC_IS_H_ */
goto p_err;
}
- ret = pdata->mclk_on(pdev, pdata->scenario, pdata->mclk_ch);
+ ret = pdata->mclk_on(&pdev->dev, pdata->scenario, pdata->mclk_ch);
if (ret) {
err("mclk_on failed(%d)", ret);
goto p_err;
goto p_err;
}
- ret = pdata->mclk_off(pdev, pdata->scenario, pdata->mclk_ch);
+ ret = pdata->mclk_off(&pdev->dev, pdata->scenario, pdata->mclk_ch);
if (ret) {
err("mclk_off failed(%d)", ret);
goto p_err;
goto p_err;
}
- ret = pdata->iclk_cfg(pdev, pdata->scenario, 0);
+ ret = pdata->iclk_cfg(&pdev->dev, pdata->scenario, 0);
if (ret) {
err("iclk_cfg failed(%d)", ret);
goto p_err;
}
- ret = pdata->iclk_on(pdev, pdata->scenario, 0);
+ ret = pdata->iclk_on(&pdev->dev, pdata->scenario, 0);
if (ret) {
err("iclk_on failed(%d)", ret);
goto p_err;
goto p_err;
}
- ret = pdata->iclk_off(pdev, pdata->scenario, 0);
+ ret = pdata->iclk_off(&pdev->dev, pdata->scenario, 0);
if (ret) {
err("iclk_off failed(%d)", ret);
goto p_err;
return -EINVAL;
}
-
device = kzalloc(sizeof(struct fimc_is_device_companion), GFP_KERNEL);
- if (!device) {
- err("fimc_is_device_companion is NULL");
+ if (!device)
return -ENOMEM;
- }
init_waitqueue_head(&device->init_wait_queue);
ret = fimc_is_hw_enum(device->interface);
if (ret) {
merr("fimc_is_itf_enum failed(%d)", device, ret);
- CALL_POPS(device, print_pwr, device->pdev);
- CALL_POPS(device, print_clk, device->pdev);
+ CALL_POPS(device, print_pwr, &device->pdev->dev);
+ CALL_POPS(device, print_clk, &device->pdev->dev);
}
return ret;
&device->margin_height);
if (ret) {
merr("fimc_is_hw_open failed", device);
- CALL_POPS(device, print_cfg, device->pdev,
+ CALL_POPS(device, print_cfg, &device->pdev->dev,
fimc_is_sensor_g_instance(device->sensor));
ret = -EINVAL;
goto p_err;
ret = fimc_is_hw_stream_on(device->interface, device->instance);
if (ret) {
merr("fimc_is_hw_stream_on failed(%d)", device, ret);
- CALL_POPS(device, print_clk, device->pdev);
+ CALL_POPS(device, print_clk, &device->pdev->dev);
}
p_err:
goto p_err;
}
- ret = pdata->mclk_on(device->pdev, pdata->scenario, pdata->mclk_ch);
+ ret = pdata->mclk_on(&device->pdev->dev, pdata->scenario, pdata->mclk_ch);
if (ret) {
merr("mclk_on failed(%d)", device, ret);
goto p_err;
goto p_err;
}
- ret = pdata->mclk_off(device->pdev, pdata->scenario, pdata->mclk_ch);
+ ret = pdata->mclk_off(&device->pdev->dev, pdata->scenario, pdata->mclk_ch);
if (ret) {
merr("mclk_off failed(%d)", device, ret);
goto p_err;
goto p_err;
}
- ret = pdata->iclk_cfg(core->pdev, pdata->scenario, pdata->csi_ch);
+ ret = pdata->iclk_cfg(&core->pdev->dev, pdata->scenario, pdata->csi_ch);
if (ret) {
merr("iclk_cfg failed(%d)", device, ret);
goto p_err;
}
- ret = pdata->iclk_on(core->pdev, pdata->scenario, pdata->csi_ch);
+ ret = pdata->iclk_on(&core->pdev->dev, pdata->scenario, pdata->csi_ch);
if (ret) {
merr("iclk_on failed(%d)", device, ret);
goto p_err;
goto p_err;
}
- ret = pdata->iclk_off(core->pdev, pdata->scenario, pdata->csi_ch);
+ ret = pdata->iclk_off(&core->pdev->dev, pdata->scenario, pdata->csi_ch);
if (ret) {
merr("iclk_off failed(%d)", device, ret);
goto p_err;
int fimc_is_runtime_suspend(struct device *dev)
{
- struct platform_device *pdev = to_platform_device(dev);
- struct fimc_is_core *core
- = (struct fimc_is_core *)platform_get_drvdata(pdev);
+ struct fimc_is_core *core = dev_get_drvdata(dev);
BUG_ON(!core);
BUG_ON(!core->pdata);
BUG_ON(!core->pdata->clk_off);
pr_info("FIMC_IS runtime suspend in\n");
-
- if (CALL_POPS(core, clk_off, pdev) < 0)
+ if (CALL_POPS(core, clk_off, dev) < 0)
warn("clk_off failed\n");
pr_info("FIMC_IS runtime suspend out\n");
int fimc_is_runtime_resume(struct device *dev)
{
+ struct fimc_is_core *core = dev_get_drvdata(dev);
int ret = 0;
- struct platform_device *pdev = to_platform_device(dev);
- struct fimc_is_core *core
- = (struct fimc_is_core *)platform_get_drvdata(pdev);
pm_stay_awake(dev);
pr_info("FIMC_IS runtime resume in\n");
*/
/* Low clock setting */
- if (CALL_POPS(core, clk_cfg, core->pdev) < 0) {
+ if (CALL_POPS(core, clk_cfg, dev) < 0) {
err("clk_cfg failed\n");
ret = -EINVAL;
goto p_err;
}
/* Clock on */
- if (CALL_POPS(core, clk_on, core->pdev) < 0) {
+ if (CALL_POPS(core, clk_on, dev) < 0) {
err("clk_on failed\n");
ret = -EINVAL;
goto p_err;
atomic_read(&itf->sensor_check[i]));
/* print sensor clk , pwr state */
- CALL_POPS(core, print_clk, device->pdev);
- CALL_POPS(core, print_pwr, device->pdev);
+ CALL_POPS(core, print_clk, &device->pdev->dev);
+ CALL_POPS(core, print_pwr, &device->pdev->dev);
/* print sensor info */
merr("sensor fcount : %d , framerate : %d\n", sensor,
struct fimc_is_video *video;
struct fimc_is_video_ctx *vctx;
struct fimc_is_device_companion *device;
- struct platform_device *fimc_is_pdev;
struct fimc_is_core *core;
/* HACK: ugly workaround to prevent systemd/udev messing in driver state */
if (strcmp("v4l_id", current->comm) == 0)
return -EINVAL;
- fimc_is_pdev = to_platform_device(fimc_is_dev);
- exynos_fimc_is_cfg_cam_clk(fimc_is_pdev);
+ exynos_fimc_is_cfg_cam_clk(fimc_is_dev);
vctx = NULL;
video = video_drvdata(file);
if (device != NULL) {
fimc_is_hw_logdump(device->interface);
fimc_is_hw_regdump(device->interface);
- CALL_POPS(device, print_clk, device->pdev);
+ CALL_POPS(device, print_clk, &device->pdev->dev);
}
if (ctrl->value) {
err("BUG_ON from HAL");
#include "exynos-fimc-is.h"
#include "exynos-fimc-is-sensor.h"
-int exynos5430_fimc_is_companion_iclk_div_max(struct platform_device *pdev)
+int exynos5430_fimc_is_companion_iclk_div_max(struct device *dev)
{
/* SCLK */
/* SCLK_SPI0 */
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0", "oscclk");
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_a", 1);
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_b", 1);
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0", "oscclk");
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_a", 1);
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_b", 1);
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0_user", "oscclk");
return 0;
}
-int exynos5430_fimc_is_companion_iclk_cfg(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_companion_iclk_cfg(struct device *dev, u32 scenario,
+ u32 channel)
{
int ret = 0;
pr_info("clk_cfg:(ch%d),scenario(%d)\n", channel, scenario);
/* SCLK_SPI0_ISP */
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0", "mout_bus_pll_user");
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_a", 200 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi0_b", 100 * 1000000);
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi0_user", "sclk_isp_spi0_top");
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0", "mout_bus_pll_user");
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_a", 200 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi0_b", 100 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi0_user", "sclk_isp_spi0_top");
/* I2C */
/* CMU TOP */
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam1_333", 333 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam1_333", 333 * 1000000);
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
/* MPWM */
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_166", 167 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_83", 84 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_mpwm", 84 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam1_166", 167 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam1_83", 84 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_mpwm", 84 * 1000000);
return ret;
}
-int exynos5430_fimc_is_companion_iclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_companion_iclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
/* SCLK clock enable */
- fimc_is_enable_dt(pdev, "gate_isp_spi0");
+ fimc_is_enable_dt(dev, "gate_isp_spi0");
return 0;
}
-int exynos5430_fimc_is_companion_iclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_companion_iclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_companion_iclk_div_max(pdev);
+ exynos5430_fimc_is_companion_iclk_div_max(dev);
/* SCLK clock disable */
- fimc_is_disable_dt(pdev, "gate_isp_spi0");
+ fimc_is_disable_dt(dev, "gate_isp_spi0");
return 0;
}
-int exynos5430_fimc_is_companion_mclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_companion_mclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
u32 frequency;
char mux_name[30];
snprintf(div_b_name, sizeof(div_b_name), "dout_sclk_isp_sensor%d_b", channel);
snprintf(sclk_name, sizeof(sclk_name), "sclk_isp_sensor%d", channel);
- fimc_is_set_parent_dt(pdev, mux_name, "oscclk");
- fimc_is_set_rate_dt(pdev, div_a_name, 24 * 1000000);
- fimc_is_set_rate_dt(pdev, div_b_name, 24 * 1000000);
- frequency = fimc_is_get_rate_dt(pdev, sclk_name);
+ fimc_is_set_parent_dt(dev, mux_name, "oscclk");
+ fimc_is_set_rate_dt(dev, div_a_name, 24 * 1000000);
+ fimc_is_set_rate_dt(dev, div_b_name, 24 * 1000000);
+ frequency = fimc_is_get_rate_dt(dev, sclk_name);
pr_info("%s(%d, mclk : %d)\n", __func__, channel, frequency);
return 0;
}
-int exynos5430_fimc_is_companion_mclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_companion_mclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
pr_debug("%s\n", __func__);
}
/* Wrapper functions */
-int exynos_fimc_is_companion_iclk_cfg(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_companion_iclk_cfg(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_companion_iclk_cfg(pdev, scenario, channel);
+ exynos5430_fimc_is_companion_iclk_cfg(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_companion_iclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_companion_iclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_companion_iclk_on(pdev, scenario, channel);
+ exynos5430_fimc_is_companion_iclk_on(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_companion_iclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_companion_iclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_companion_iclk_off(pdev, scenario, channel);
+ exynos5430_fimc_is_companion_iclk_off(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_companion_mclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_companion_mclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_companion_mclk_on(pdev, scenario, channel);
+ exynos5430_fimc_is_companion_mclk_on(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_companion_mclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_companion_mclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_companion_mclk_off(pdev, scenario, channel);
+ exynos5430_fimc_is_companion_mclk_off(dev, scenario, channel);
return 0;
}
}
-int exynos5430_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_sensor_iclk_cfg(struct device *dev, u32 scenario,
+ u32 channel)
{
int ret = 0;
switch (channel) {
case 0:
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "oscclk");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
/* MIPI-CSIS0 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis0", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis0", 1);
/* FIMC-LITE0 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_a", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_a", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_a", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_a", 1);
/* FIMC-LITE3 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_d", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_d", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_d", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_d", 1);
/* ASYNC, FLITE, 3AA, SMMU, QE ... */
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_400", 1);
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_200", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam0_50", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam0_400", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam0_200", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam0_50", 1);
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
/* MIPI-CSIS0 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis0", 552 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis0", 552 * 1000000);
/* FIMC-LITE0 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_a", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_a", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_a", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_a", 276 * 1000000);
/* FIMC-LITE3 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_d", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_d", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_d", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_d", 276 * 1000000);
/* ASYNC, FLITE, 3AA, SMMU, QE ... */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_400", 400 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_200", 200 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam0_50", 50 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam0_400", 400 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam0_200", 200 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam0_50", 50 * 1000000);
/* FIMC-LITE2 PIXELASYNC */
- fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c_init", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_pixelasync_lite_c", 1);
- fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c", 1);
+ fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c_init", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_pixelasync_lite_c", 1);
+ fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c", 1);
/* FIMC-LITE2 PIXELASYNC */
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
- fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
+ fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
- fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
+ fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
break;
case 1:
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "oscclk");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
/* MIPI-CSIS1 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis1", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis1", 1);
/* FIMC-LITE1 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_b", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_b", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_b", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_b", 1);
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
/* MIPI-CSIS1 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_a", "mout_aclk_cam0_400_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis1", 552 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis1_a", "mout_aclk_cam0_400_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis1", 552 * 1000000);
/* FIMC-LITE1 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_a", "mout_aclk_cam0_400_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_b", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_b", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_a", "mout_aclk_cam0_400_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_b", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_b", 276 * 1000000);
break;
case 2:
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "oscclk");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
/* MIPI-CSIS2 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis2_a", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis2_a", 1);
/* FIMC-LITE2 */
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_c", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_c", 1);
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_c", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_c", 1);
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user", "aclk_cam1_552");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user", "aclk_cam1_552");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
/* MIPI-CSIS2 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis2_a", 333 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis2_a", 333 * 1000000);
break;
default:
pr_err("channel is invalid(%d)\n", channel);
return ret;
}
-int exynos5430_fimc_is_sensor_iclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_sensor_iclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
switch (channel) {
case 0:
- fimc_is_enable_dt(pdev, "aclk_csis0");
- fimc_is_enable_dt(pdev, "pclk_csis0");
- fimc_is_enable_dt(pdev, "gate_lite_a");
- fimc_is_enable_dt(pdev, "gate_lite_d");
+ fimc_is_enable_dt(dev, "aclk_csis0");
+ fimc_is_enable_dt(dev, "pclk_csis0");
+ fimc_is_enable_dt(dev, "gate_lite_a");
+ fimc_is_enable_dt(dev, "gate_lite_d");
break;
case 1:
- fimc_is_enable_dt(pdev, "aclk_csis1");
- fimc_is_enable_dt(pdev, "pclk_csis1");
- fimc_is_enable_dt(pdev, "gate_lite_b");
+ fimc_is_enable_dt(dev, "aclk_csis1");
+ fimc_is_enable_dt(dev, "pclk_csis1");
+ fimc_is_enable_dt(dev, "gate_lite_b");
break;
case 2:
- fimc_is_enable_dt(pdev, "gate_csis2");
- fimc_is_enable_dt(pdev, "gate_lite_c");
+ fimc_is_enable_dt(dev, "gate_csis2");
+ fimc_is_enable_dt(dev, "gate_lite_c");
break;
default:
pr_err("channel is invalid(%d)\n", channel);
return 0;
}
-int exynos5430_fimc_is_sensor_iclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_sensor_iclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
switch (channel) {
case 0:
- fimc_is_disable_dt(pdev, "aclk_csis0");
- fimc_is_disable_dt(pdev, "pclk_csis0");
- fimc_is_disable_dt(pdev, "gate_lite_a");
- fimc_is_disable_dt(pdev, "gate_lite_d");
+ fimc_is_disable_dt(dev, "aclk_csis0");
+ fimc_is_disable_dt(dev, "pclk_csis0");
+ fimc_is_disable_dt(dev, "gate_lite_a");
+ fimc_is_disable_dt(dev, "gate_lite_d");
break;
case 1:
- fimc_is_disable_dt(pdev, "aclk_csis1");
- fimc_is_disable_dt(pdev, "pclk_csis1");
- fimc_is_disable_dt(pdev, "gate_lite_b");
+ fimc_is_disable_dt(dev, "aclk_csis1");
+ fimc_is_disable_dt(dev, "pclk_csis1");
+ fimc_is_disable_dt(dev, "gate_lite_b");
break;
case 2:
- fimc_is_disable_dt(pdev, "gate_csis2");
- fimc_is_disable_dt(pdev, "gate_lite_c");
+ fimc_is_disable_dt(dev, "gate_csis2");
+ fimc_is_disable_dt(dev, "gate_lite_c");
break;
default:
pr_err("channel is invalid(%d)\n", channel);
return 0;
}
-int exynos5430_fimc_is_sensor_mclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_sensor_mclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
u32 frequency;
char mux_name[30];
snprintf(div_b_name, sizeof(div_b_name), "dout_sclk_isp_sensor%d_b", channel);
snprintf(sclk_name, sizeof(sclk_name), "sclk_isp_sensor%d", channel);
- fimc_is_set_parent_dt(pdev, mux_name, "oscclk");
- fimc_is_set_rate_dt(pdev, div_a_name, 24 * 1000000);
- fimc_is_set_rate_dt(pdev, div_b_name, 24 * 1000000);
- frequency = fimc_is_get_rate_dt(pdev, sclk_name);
+ fimc_is_set_parent_dt(dev, mux_name, "oscclk");
+ fimc_is_set_rate_dt(dev, div_a_name, 24 * 1000000);
+ fimc_is_set_rate_dt(dev, div_b_name, 24 * 1000000);
+ frequency = fimc_is_get_rate_dt(dev, sclk_name);
pr_info("%s(%d, mclk : %d)\n", __func__, channel, frequency);
return 0;
}
-int exynos5430_fimc_is_sensor_mclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos5430_fimc_is_sensor_mclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
char mux_name[30];
char div_a_name[30];
snprintf(div_b_name, sizeof(div_b_name), "dout_sclk_isp_sensor%d_b", channel);
snprintf(sclk_name, sizeof(sclk_name), "sclk_isp_sensor%d", channel);
- fimc_is_set_parent_dt(pdev, mux_name, "oscclk");
- fimc_is_set_rate_dt(pdev, div_a_name, 24 * 1000000);
- fimc_is_set_rate_dt(pdev, div_b_name, 24 * 1000000);
- fimc_is_get_rate_dt(pdev, sclk_name);
+ fimc_is_set_parent_dt(dev, mux_name, "oscclk");
+ fimc_is_set_rate_dt(dev, div_a_name, 24 * 1000000);
+ fimc_is_set_rate_dt(dev, div_b_name, 24 * 1000000);
+ fimc_is_get_rate_dt(dev, sclk_name);
return 0;
}
/* Wrapper functions */
-int exynos_fimc_is_sensor_iclk_cfg(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_sensor_iclk_cfg(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_sensor_iclk_cfg(pdev, scenario, channel);
+ exynos5430_fimc_is_sensor_iclk_cfg(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_sensor_iclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_sensor_iclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_sensor_iclk_on(pdev, scenario, channel);
+ exynos5430_fimc_is_sensor_iclk_on(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_sensor_iclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_sensor_iclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_sensor_iclk_off(pdev, scenario, channel);
+ exynos5430_fimc_is_sensor_iclk_off(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_sensor_mclk_on(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_sensor_mclk_on(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_sensor_mclk_on(pdev, scenario, channel);
+ exynos5430_fimc_is_sensor_mclk_on(dev, scenario, channel);
return 0;
}
-int exynos_fimc_is_sensor_mclk_off(struct platform_device *pdev,
- u32 scenario,
- u32 channel)
+int exynos_fimc_is_sensor_mclk_off(struct device *dev, u32 scenario,
+ u32 channel)
{
- exynos5430_fimc_is_sensor_mclk_off(pdev, scenario, channel);
+ exynos5430_fimc_is_sensor_mclk_off(dev, scenario, channel);
return 0;
}
/*------------------------------------------------------*/
/* Common control */
/*------------------------------------------------------*/
-int exynos_fimc_is_print_cfg(struct platform_device *pdev, u32 channel)
+int exynos_fimc_is_print_cfg(struct device *dev, u32 channel)
{
pr_debug("%s\n", __func__);
}
/* utility function to set parent with DT */
-int fimc_is_set_parent_dt(struct platform_device *pdev,
- const char *child, const char *parent)
+int fimc_is_set_parent_dt(struct device *dev, const char *child,
+ const char *parent)
{
struct clk *p;
struct clk *c;
- p = devm_clk_get(&pdev->dev, parent);
+ p = devm_clk_get(dev, parent);
if (IS_ERR(p)) {
pr_err("%s: could not lookup clock : %s\n", __func__, parent);
return -EINVAL;
}
- c = devm_clk_get(&pdev->dev, child);
+ c = devm_clk_get(dev, child);
if (IS_ERR(c)) {
pr_err("%s: could not lookup clock : %s\n", __func__, child);
return -EINVAL;
}
/* utility function to set rate with DT */
-int fimc_is_set_rate_dt(struct platform_device *pdev,
- const char *conid, unsigned int rate)
+int fimc_is_set_rate_dt(struct device *dev, const char *conid,
+ unsigned int rate)
{
struct clk *target;
- target = devm_clk_get(&pdev->dev, conid);
+ target = devm_clk_get(dev, conid);
if (IS_ERR(target)) {
pr_err("%s: could not lookup clock : %s\n", __func__, conid);
return -EINVAL;
}
/* utility function to get rate with DT */
-unsigned int fimc_is_get_rate_dt(struct platform_device *pdev,
- const char *conid)
+unsigned int fimc_is_get_rate_dt(struct device *dev, const char *conid)
{
struct clk *target;
unsigned int rate_target;
- target = devm_clk_get(&pdev->dev, conid);
+ target = devm_clk_get(dev, conid);
if (IS_ERR(target)) {
pr_err("%s: could not lookup clock : %s\n", __func__, conid);
return -EINVAL;
}
/* utility function to eable with DT */
-unsigned int fimc_is_enable_dt(struct platform_device *pdev,
- const char *conid)
+unsigned int fimc_is_enable_dt(struct device *dev, const char *conid)
{
struct clk *target;
- target = devm_clk_get(&pdev->dev, conid);
+ target = devm_clk_get(dev, conid);
if (IS_ERR(target)) {
pr_err("%s: could not lookup clock : %s\n", __func__, conid);
return -EINVAL;
}
/* utility function to disable with DT */
-void fimc_is_disable_dt(struct platform_device *pdev,
- const char *conid)
+void fimc_is_disable_dt(struct device *dev, const char *conid)
{
struct clk *target;
- target = devm_clk_get(&pdev->dev, conid);
+ target = devm_clk_get(dev, conid);
if (IS_ERR(target)) {
pr_err("%s: could not lookup clock : %s\n", __func__, conid);
}
clk_unprepare(target);
}
-static int exynos5430_cfg_clk_isp_pll_on(struct platform_device *pdev)
+static int exynos5430_cfg_clk_isp_pll_on(struct device *dev)
{
pr_info("%s\n", __func__);
- fimc_is_enable_dt(pdev, "fout_isp_pll");
- fimc_is_set_parent_dt(pdev, "mout_isp_pll", "fout_isp_pll");
+ fimc_is_enable_dt(dev, "fout_isp_pll");
+ fimc_is_set_parent_dt(dev, "mout_isp_pll", "fout_isp_pll");
return 0;
}
-static int exynos5430_cfg_clk_isp_pll_off(struct platform_device *pdev)
+static int exynos5430_cfg_clk_isp_pll_off(struct device *dev)
{
pr_info("%s\n", __func__);
- fimc_is_set_parent_dt(pdev, "mout_isp_pll", "fin_pll");
- fimc_is_disable_dt(pdev, "fout_isp_pll");
+ fimc_is_set_parent_dt(dev, "mout_isp_pll", "fin_pll");
+ fimc_is_disable_dt(dev, "fout_isp_pll");
return 0;
}
-int exynos5430_cfg_clk_div_max(struct platform_device *pdev)
+int exynos5430_cfg_clk_div_max(struct device *dev)
{
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "oscclk");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "oscclk");
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "oscclk");
/* MIPI-CSIS PHY */
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "oscclk");
/* SCLK */
/* SCLK_UART */
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_uart", "oscclk");
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_uart", 1);
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_uart_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_uart", "oscclk");
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_uart", 1);
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_uart_user", "oscclk");
/* CAM1 */
/* C-A5 */
- fimc_is_set_rate_dt(pdev, "dout_atclk_cam1", 1);
- fimc_is_set_rate_dt(pdev, "dout_pclk_dbg_cam1", 1);
+ fimc_is_set_rate_dt(dev, "dout_atclk_cam1", 1);
+ fimc_is_set_rate_dt(dev, "dout_pclk_dbg_cam1", 1);
- fimc_is_set_parent_dt(pdev, "mout_aclk_isp_400_user", "oscclk");
- fimc_is_set_parent_dt(pdev, "mout_aclk_isp_dis_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_isp_400_user", "oscclk");
+ fimc_is_set_parent_dt(dev, "mout_aclk_isp_dis_400_user", "oscclk");
return 0;
}
-int exynos5430_cfg_clk_sclk(struct platform_device *pdev)
+int exynos5430_cfg_clk_sclk(struct device *dev)
{
/* SCLK_SPI1 */
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi1", "mout_bus_pll_user");
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi1_a", 275 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_spi1_b", 46 * 1000000);
- fimc_is_set_parent_dt(pdev, "mout_sclk_isp_spi1_user", "sclk_isp_spi1_top");
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi1", "mout_bus_pll_user");
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi1_a", 275 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_spi1_b", 46 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_sclk_isp_spi1_user", "sclk_isp_spi1_top");
return 0;
}
-int exynos5430_cfg_clk_cam0(struct platform_device *pdev)
+int exynos5430_cfg_clk_cam0(struct device *dev)
{
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
- fimc_is_set_parent_dt(pdev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_552_user", "aclk_cam0_552");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400_user", "aclk_cam0_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_333_user", "aclk_cam0_333");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s4", "phyclk_rxbyteclkhs0_s4");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2a", "phyclk_rxbyteclkhs0_s2a");
+ fimc_is_set_parent_dt(dev, "mout_phyclk_rxbyteclkhs0_s2b", "phyclk_rxbyteclkhs0_s2b");
/* LITE A */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_a", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_a", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_a_b", "mout_aclk_lite_a_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_a", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_a", 276 * 1000000);
/* LITE B */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_b", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_b", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_b_b", "mout_aclk_lite_b_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_b", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_b", 276 * 1000000);
/* LITE D */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_d", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_d", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_d_b", "mout_aclk_lite_d_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_d", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_d", 276 * 1000000);
/* LITE C PIXELASYNC */
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
- fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_init_b", "mout_sclk_pixelasync_lite_c_init_a");
+ fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c_init", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_pixelasync_lite_c", 276 * 1000000);
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
- fimc_is_set_rate_dt(pdev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_sclk_pixelasync_lite_c_b", "mout_aclk_cam0_333_user");
+ fimc_is_set_rate_dt(dev, "dout_sclk_pixelasync_lite_c", 333 * 1000000);
/* 3AA 0 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_3aa0_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_3aa0_b", "mout_aclk_3aa0_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_3aa0", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_3aa0", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_3aa0_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_3aa0_b", "mout_aclk_3aa0_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_3aa0", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_3aa0", 276 * 1000000);
/* 3AA 0 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_3aa1_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_3aa1_b", "mout_aclk_3aa1_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_3aa1", 552 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_3aa1", 276 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_3aa1_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_3aa1_b", "mout_aclk_3aa1_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_3aa1", 552 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_3aa1", 276 * 1000000);
/* CSI 0 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis0", 552 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis0_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis0_b", "mout_aclk_csis0_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis0", 552 * 1000000);
/* CSI 1 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_a", "mout_aclk_cam0_552_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis1", 552 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis1_a", "mout_aclk_cam0_552_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis1_b", "mout_aclk_csis1_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis1", 552 * 1000000);
/* CAM0 400 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_400", 413 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_aclk_cam0_200", 207 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam0_50", 52 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam0_400", "mout_aclk_cam0_400_user");
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam0_400", 413 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_aclk_cam0_200", 207 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam0_50", 52 * 1000000);
return 0;
}
-int exynos5430_cfg_clk_cam1(struct platform_device *pdev)
+int exynos5430_cfg_clk_cam1(struct device *dev)
{
- struct fimc_is_core *core = platform_get_drvdata(pdev);
+ struct fimc_is_core *core = dev_get_drvdata(dev);
/*
* It's not clear to me why, but the front camera doesn't work properly
* (only empty buffers dequeued) when this ACLK_CAM1_552_USER mux is
*/
/* USER_MUX_SEL */
if (core->id == 0)
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_552_user",
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_552_user",
"aclk_cam1_552");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_400_user", "aclk_cam1_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
/* C-A5 */
- fimc_is_set_rate_dt(pdev, "dout_atclk_cam1", 276 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_dbg_cam1", 138 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_atclk_cam1", 276 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_dbg_cam1", 138 * 1000000);
/* LITE A */
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_c_a", "mout_aclk_cam1_400_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_lite_c_b", "mout_aclk_cam1_333_user");
- fimc_is_set_rate_dt(pdev, "dout_aclk_lite_c", 333 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_lite_c", 166 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_c_a", "mout_aclk_cam1_400_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_lite_c_b", "mout_aclk_cam1_333_user");
+ fimc_is_set_rate_dt(dev, "dout_aclk_lite_c", 333 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_lite_c", 166 * 1000000);
/* FD */
- fimc_is_set_parent_dt(pdev, "mout_aclk_fd_a", "mout_aclk_cam1_400_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_fd_b", "mout_aclk_fd_a");
- fimc_is_set_rate_dt(pdev, "dout_aclk_fd", 413 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_fd", 207 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_fd_a", "mout_aclk_cam1_400_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_fd_b", "mout_aclk_fd_a");
+ fimc_is_set_rate_dt(dev, "dout_aclk_fd", 413 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_fd", 207 * 1000000);
/* CSI 2 */
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
- fimc_is_set_parent_dt(pdev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
- fimc_is_set_rate_dt(pdev, "dout_aclk_csis2_a", 333 * 1000000);
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis2_a", "mout_aclk_cam1_400_user");
+ fimc_is_set_parent_dt(dev, "mout_aclk_csis2_b", "mout_aclk_cam1_333_user");
+ fimc_is_set_rate_dt(dev, "dout_aclk_csis2_a", 333 * 1000000);
/* MPWM */
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_166", 167 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_83", 84 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_sclk_isp_mpwm", 84 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam1_166", 167 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam1_83", 84 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_sclk_isp_mpwm", 84 * 1000000);
/* CAM1 QE CLK GATE */
- fimc_is_enable_dt(pdev, "gate_bts_fd");
- fimc_is_disable_dt(pdev, "gate_bts_fd");
+ fimc_is_enable_dt(dev, "gate_bts_fd");
+ fimc_is_disable_dt(dev, "gate_bts_fd");
return 0;
}
-int exynos5430_cfg_clk_cam1_spi(struct platform_device *pdev)
+int exynos5430_cfg_clk_cam1_spi(struct device *dev)
{
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
+ fimc_is_set_parent_dt(dev, "mout_aclk_cam1_333_user", "aclk_cam1_333");
/* SPI */
- fimc_is_set_rate_dt(pdev, "dout_pclk_cam1_83", 84 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_cam1_83", 84 * 1000000);
return 0;
}
-int exynos5430_cfg_clk_isp(struct platform_device *pdev)
+int exynos5430_cfg_clk_isp(struct device *dev)
{
/* CMU_ISP */
/* USER_MUX_SEL */
- fimc_is_set_parent_dt(pdev, "mout_aclk_isp_400_user", "aclk_isp_400");
- fimc_is_set_parent_dt(pdev, "mout_aclk_isp_dis_400_user", "aclk_isp_dis_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_isp_400_user", "aclk_isp_400");
+ fimc_is_set_parent_dt(dev, "mout_aclk_isp_dis_400_user", "aclk_isp_dis_400");
/* ISP */
- fimc_is_set_rate_dt(pdev, "dout_aclk_isp_c_200", 207 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_aclk_isp_d_200", 207 * 1000000);
- fimc_is_set_rate_dt(pdev, "dout_pclk_isp", 83 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_aclk_isp_c_200", 207 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_aclk_isp_d_200", 207 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_isp", 83 * 1000000);
/* DIS */
- fimc_is_set_rate_dt(pdev, "dout_pclk_isp_dis", 207 * 1000000);
+ fimc_is_set_rate_dt(dev, "dout_pclk_isp_dis", 207 * 1000000);
/* ISP QE CLK GATE */
- fimc_is_enable_dt(pdev, "gate_bts_3dnr");
- fimc_is_enable_dt(pdev, "gate_bts_dis1");
- fimc_is_enable_dt(pdev, "gate_bts_dis0");
- fimc_is_enable_dt(pdev, "gate_bts_scalerc");
- fimc_is_enable_dt(pdev, "gate_bts_drc");
- fimc_is_disable_dt(pdev, "gate_bts_3dnr");
- fimc_is_disable_dt(pdev, "gate_bts_dis1");
- fimc_is_disable_dt(pdev, "gate_bts_dis0");
- fimc_is_disable_dt(pdev, "gate_bts_scalerc");
- fimc_is_disable_dt(pdev, "gate_bts_drc");
+ fimc_is_enable_dt(dev, "gate_bts_3dnr");
+ fimc_is_enable_dt(dev, "gate_bts_dis1");
+ fimc_is_enable_dt(dev, "gate_bts_dis0");
+ fimc_is_enable_dt(dev, "gate_bts_scalerc");
+ fimc_is_enable_dt(dev, "gate_bts_drc");
+ fimc_is_disable_dt(dev, "gate_bts_3dnr");
+ fimc_is_disable_dt(dev, "gate_bts_dis1");
+ fimc_is_disable_dt(dev, "gate_bts_dis0");
+ fimc_is_disable_dt(dev, "gate_bts_scalerc");
+ fimc_is_disable_dt(dev, "gate_bts_drc");
return 0;
}
-int exynos5430_fimc_is_cfg_clk(struct platform_device *pdev)
+int exynos5430_fimc_is_cfg_clk(struct device *dev)
{
pr_debug("%s\n", __func__);
- exynos5430_cfg_clk_isp_pll_on(pdev);
- exynos5430_cfg_clk_div_max(pdev);
+ exynos5430_cfg_clk_isp_pll_on(dev);
+ exynos5430_cfg_clk_div_max(dev);
/* initialize Clocks */
- exynos5430_cfg_clk_sclk(pdev);
- exynos5430_cfg_clk_cam0(pdev);
- exynos5430_cfg_clk_cam1(pdev);
- exynos5430_cfg_clk_isp(pdev);
+ exynos5430_cfg_clk_sclk(dev);
+ exynos5430_cfg_clk_cam0(dev);
+ exynos5430_cfg_clk_cam1(dev);
+ exynos5430_cfg_clk_isp(dev);
return 0;
}
-static int exynos_fimc_is_sensor_iclk_init(struct platform_device *pdev)
+static int exynos_fimc_is_sensor_iclk_init(struct device *dev)
{
- fimc_is_enable_dt(pdev, "aclk_csis0");
- fimc_is_enable_dt(pdev, "pclk_csis0");
- fimc_is_enable_dt(pdev, "aclk_csis1");
- fimc_is_enable_dt(pdev, "pclk_csis1");
- fimc_is_enable_dt(pdev, "gate_csis2");
- fimc_is_enable_dt(pdev, "gate_lite_a");
- fimc_is_enable_dt(pdev, "gate_lite_b");
- fimc_is_enable_dt(pdev, "gate_lite_d");
- fimc_is_enable_dt(pdev, "gate_lite_c");
- fimc_is_enable_dt(pdev, "gate_lite_freecnt");
+ fimc_is_enable_dt(dev, "aclk_csis0");
+ fimc_is_enable_dt(dev, "pclk_csis0");
+ fimc_is_enable_dt(dev, "aclk_csis1");
+ fimc_is_enable_dt(dev, "pclk_csis1");
+ fimc_is_enable_dt(dev, "gate_csis2");
+ fimc_is_enable_dt(dev, "gate_lite_a");
+ fimc_is_enable_dt(dev, "gate_lite_b");
+ fimc_is_enable_dt(dev, "gate_lite_d");
+ fimc_is_enable_dt(dev, "gate_lite_c");
+ fimc_is_enable_dt(dev, "gate_lite_freecnt");
return 0;
}
-static int exynos_fimc_is_sensor_iclk_deinit(struct platform_device *pdev)
+static int exynos_fimc_is_sensor_iclk_deinit(struct device *dev)
{
- fimc_is_disable_dt(pdev, "aclk_csis0");
- fimc_is_disable_dt(pdev, "pclk_csis0");
- fimc_is_disable_dt(pdev, "aclk_csis1");
- fimc_is_disable_dt(pdev, "pclk_csis1");
- fimc_is_disable_dt(pdev, "gate_csis2");
- fimc_is_disable_dt(pdev, "gate_lite_a");
- fimc_is_disable_dt(pdev, "gate_lite_b");
- fimc_is_disable_dt(pdev, "gate_lite_d");
- fimc_is_disable_dt(pdev, "gate_lite_c");
- fimc_is_disable_dt(pdev, "gate_lite_freecnt");
+ fimc_is_disable_dt(dev, "aclk_csis0");
+ fimc_is_disable_dt(dev, "pclk_csis0");
+ fimc_is_disable_dt(dev, "aclk_csis1");
+ fimc_is_disable_dt(dev, "pclk_csis1");
+ fimc_is_disable_dt(dev, "gate_csis2");
+ fimc_is_disable_dt(dev, "gate_lite_a");
+ fimc_is_disable_dt(dev, "gate_lite_b");
+ fimc_is_disable_dt(dev, "gate_lite_d");
+ fimc_is_disable_dt(dev, "gate_lite_c");
+ fimc_is_disable_dt(dev, "gate_lite_freecnt");
return 0;
}
-int exynos5430_fimc_is_clk_on(struct platform_device *pdev)
+int exynos5430_fimc_is_clk_on(struct device *dev)
{
pr_debug("%s\n", __func__);
- exynos_fimc_is_sensor_iclk_init(pdev);
- exynos_fimc_is_sensor_iclk_deinit(pdev);
+ exynos_fimc_is_sensor_iclk_init(dev);
+ exynos_fimc_is_sensor_iclk_deinit(dev);
return 0;
}
-int exynos5430_fimc_is_clk_off(struct platform_device *pdev)
+int exynos5430_fimc_is_clk_off(struct device *dev)
{
pr_debug("%s\n", __func__);
- exynos5430_cfg_clk_div_max(pdev);
- exynos5430_cfg_clk_isp_pll_off(pdev);
+ exynos5430_cfg_clk_div_max(dev);
+ exynos5430_cfg_clk_isp_pll_off(dev);
return 0;
}
-int exynos5430_fimc_is_print_clk(struct platform_device *pdev)
+int exynos5430_fimc_is_print_clk(struct device *dev)
{
pr_debug("%s\n", __func__);
return 0;
}
-int exynos5430_fimc_is_print_pwr(struct platform_device *pdev)
+int exynos5430_fimc_is_print_pwr(struct device *dev)
{
pr_debug("%s\n", __func__);
/* Wrapper functions */
-int exynos_fimc_is_cfg_clk(struct platform_device *pdev)
+int exynos_fimc_is_cfg_clk(struct device *dev)
{
- exynos5430_fimc_is_cfg_clk(pdev);
+ exynos5430_fimc_is_cfg_clk(dev);
return 0;
}
-int exynos_fimc_is_cfg_cam_clk(struct platform_device *pdev)
+int exynos_fimc_is_cfg_cam_clk(struct device *dev)
{
- exynos5430_cfg_clk_sclk(pdev);
- exynos5430_cfg_clk_cam1_spi(pdev);
+ exynos5430_cfg_clk_sclk(dev);
+ exynos5430_cfg_clk_cam1_spi(dev);
return 0;
}
-int exynos_fimc_is_clk_on(struct platform_device *pdev)
+int exynos_fimc_is_clk_on(struct device *dev)
{
- exynos5430_fimc_is_clk_on(pdev);
+ exynos5430_fimc_is_clk_on(dev);
return 0;
}
-int exynos_fimc_is_clk_off(struct platform_device *pdev)
+int exynos_fimc_is_clk_off(struct device *dev)
{
- exynos5430_fimc_is_clk_off(pdev);
+ exynos5430_fimc_is_clk_off(dev);
return 0;
}
-int exynos_fimc_is_print_clk(struct platform_device *pdev)
+int exynos_fimc_is_print_clk(struct device *dev)
{
- exynos5430_fimc_is_print_clk(pdev);
+ exynos5430_fimc_is_print_clk(dev);
return 0;
}
-int exynos_fimc_is_print_pwr(struct platform_device *pdev)
+int exynos_fimc_is_print_pwr(struct device *dev)
{
- exynos5430_fimc_is_print_pwr(pdev);
+ exynos5430_fimc_is_print_pwr(dev);
return 0;
}