Lines Matching refs:rk628
236 struct rk628 *rk628_i2c_register(struct i2c_client *client) in rk628_i2c_register()
238 struct rk628 *rk628; in rk628_i2c_register() local
242 rk628 = devm_kzalloc(dev, sizeof(*rk628), GFP_KERNEL); in rk628_i2c_register()
243 if (!rk628) in rk628_i2c_register()
246 rk628->client = client; in rk628_i2c_register()
247 rk628->dev = dev; in rk628_i2c_register()
254 rk628->regmap[i] = devm_regmap_init_i2c(client, config); in rk628_i2c_register()
255 if (IS_ERR(rk628->regmap[i])) { in rk628_i2c_register()
256 ret = PTR_ERR(rk628->regmap[i]); in rk628_i2c_register()
263 return rk628; in rk628_i2c_register()
313 static void rk628_post_process_scaler_init(struct rk628 *rk628, in rk628_post_process_scaler_init() argument
342 dev_dbg(rk628->dev, "dsp_frame_vst=%d, dsp_frame_hst=%d\n", in rk628_post_process_scaler_init()
360 dev_dbg(rk628->dev, "horizontal scale down\n"); in rk628_post_process_scaler_init()
365 dev_dbg(rk628->dev, "horizontal no scale\n"); in rk628_post_process_scaler_init()
370 dev_dbg(rk628->dev, "horizontal scale up\n"); in rk628_post_process_scaler_init()
388 dev_dbg(rk628->dev, "vertical scale down\n"); in rk628_post_process_scaler_init()
393 dev_dbg(rk628->dev, "vertical no scale\n"); in rk628_post_process_scaler_init()
398 dev_dbg(rk628->dev, "vertical scale up\n"); in rk628_post_process_scaler_init()
401 rk628_i2c_update_bits(rk628, GRF_RGB_DEC_CON0, in rk628_post_process_scaler_init()
403 rk628_i2c_write(rk628, GRF_SCALER_CON0, in rk628_post_process_scaler_init()
409 rk628_i2c_write(rk628, GRF_SCALER_CON1, in rk628_post_process_scaler_init()
412 rk628_i2c_write(rk628, GRF_SCALER_CON2, in rk628_post_process_scaler_init()
415 rk628_i2c_write(rk628, GRF_SCALER_CON3, in rk628_post_process_scaler_init()
418 rk628_i2c_write(rk628, GRF_SCALER_CON4, in rk628_post_process_scaler_init()
421 rk628_i2c_write(rk628, GRF_SCALER_CON5, in rk628_post_process_scaler_init()
424 rk628_i2c_write(rk628, GRF_SCALER_CON6, in rk628_post_process_scaler_init()
427 rk628_i2c_write(rk628, GRF_SCALER_CON7, in rk628_post_process_scaler_init()
430 rk628_i2c_write(rk628, GRF_SCALER_CON8, in rk628_post_process_scaler_init()
435 void rk628_post_process_en(struct rk628 *rk628, in rk628_post_process_en() argument
451 dev_info(rk628->dev, "src %dx%d clock:%lu\n", in rk628_post_process_en()
453 dev_info(rk628->dev, "dst %dx%d clock:%lu\n", in rk628_post_process_en()
457 rk628_control_assert(rk628, RGU_DECODER); in rk628_post_process_en()
459 rk628_control_deassert(rk628, RGU_DECODER); in rk628_post_process_en()
462 rk628_clk_set_rate(rk628, CGU_CLK_RX_READ, src->pixelclock); in rk628_post_process_en()
463 rk628_control_assert(rk628, RGU_CLK_RX); in rk628_post_process_en()
465 rk628_control_deassert(rk628, RGU_CLK_RX); in rk628_post_process_en()
468 rk628_clk_set_rate(rk628, CGU_SCLK_VOP, dst->pixelclock); in rk628_post_process_en()
469 rk628_control_assert(rk628, RGU_VOP); in rk628_post_process_en()
471 rk628_control_deassert(rk628, RGU_VOP); in rk628_post_process_en()
474 rk628_post_process_scaler_init(rk628, src, dst); in rk628_post_process_en()