Lines Matching refs:rk1000
106 static int rk1000_tv_write_block(struct rk1000_tve *rk1000, in rk1000_tv_write_block() argument
112 ret = regmap_write(rk1000->tvemap, reg + i, buf[i]); in rk1000_tv_write_block()
120 static int rk1000_control_write_block(struct rk1000_tve *rk1000, in rk1000_control_write_block() argument
126 ret = regmap_write(rk1000->ctlmap, reg + i, buf[i]); in rk1000_control_write_block()
134 static int rk1000_mode_set(struct rk1000_tve *rk1000) in rk1000_mode_set() argument
139 switch (rk1000->mode) { in rk1000_mode_set()
141 dev_dbg(rk1000->dev, "rk1000 PAL\n"); in rk1000_mode_set()
146 dev_dbg(rk1000->dev, "rk1000 NTSC\n"); in rk1000_mode_set()
151 dev_dbg(rk1000->dev, "mode select err\n"); in rk1000_mode_set()
155 ret = rk1000_tv_write_block(rk1000, 0, tv_regs, 6); in rk1000_mode_set()
157 dev_err(rk1000->dev, "rk1000_tv_write_block err!\n"); in rk1000_mode_set()
161 ret = rk1000_control_write_block(rk1000, 0x03, control_regs, 2); in rk1000_mode_set()
163 dev_err(rk1000->dev, "rk1000 control write block err\n"); in rk1000_mode_set()
170 static int rk1000_tve_disable(struct rk1000_tve *rk1000) in rk1000_tve_disable() argument
176 ret = rk1000_tv_write_block(rk1000, TVE_POWCR, &val, 1); in rk1000_tve_disable()
181 static int rk1000_tve_enable(struct rk1000_tve *rk1000) in rk1000_tve_enable() argument
186 dev_dbg(rk1000->dev, "%s\n", __func__); in rk1000_tve_enable()
187 ret = rk1000_mode_set(rk1000); in rk1000_tve_enable()
192 ret = rk1000_tv_write_block(rk1000, TVE_POWCR, &val, 1); in rk1000_tve_enable()
210 struct rk1000_tve *rk1000 = connector_to_rk1000(connector); in rk1000_get_modes() local
218 dev_err(rk1000->dev, "mode duplicate failed\n"); in rk1000_get_modes()
221 if (rk1000->preferred_mode == count) in rk1000_get_modes()
238 struct rk1000_tve *rk1000 = connector_to_rk1000(connector); in rk1000_best_encoder() local
240 return rk1000->encoder; in rk1000_best_encoder()
264 struct rk1000_tve *rk1000; in rk1000_bridge_mode_set() local
266 rk1000 = bridge_to_rk1000(bridge); in rk1000_bridge_mode_set()
267 dev_dbg(rk1000->dev, "encoder mode set:%s\n", adjusted_mode->name); in rk1000_bridge_mode_set()
270 rk1000->mode = CVBS_PAL; in rk1000_bridge_mode_set()
272 rk1000->mode = CVBS_NTSC; in rk1000_bridge_mode_set()
278 struct rk1000_tve *rk1000 = bridge_to_rk1000(bridge); in rk1000_bridge_enable() local
280 dev_dbg(rk1000->dev, "%s\n", __func__); in rk1000_bridge_enable()
281 ret = rk1000_tve_enable(rk1000); in rk1000_bridge_enable()
283 dev_err(rk1000->dev, "rk1000 enable failed\n"); in rk1000_bridge_enable()
288 struct rk1000_tve *rk1000 = bridge_to_rk1000(bridge); in rk1000_bridge_disable() local
290 dev_dbg(rk1000->dev, "%s\n", __func__); in rk1000_bridge_disable()
291 rk1000_tve_disable(rk1000); in rk1000_bridge_disable()
297 struct rk1000_tve *rk1000 = bridge_to_rk1000(bridge); in rk1000_bridge_attach() local
301 dev_err(rk1000->dev, "Parent encoder object not found\n"); in rk1000_bridge_attach()
305 rk1000->encoder = bridge->encoder; in rk1000_bridge_attach()
306 drm_connector_helper_add(&rk1000->connector, in rk1000_bridge_attach()
309 ret = drm_connector_init(bridge->dev, &rk1000->connector, in rk1000_bridge_attach()
313 dev_err(rk1000->dev, "Failed to initialize connector\n"); in rk1000_bridge_attach()
316 ret = drm_connector_attach_encoder(&rk1000->connector, in rk1000_bridge_attach()
319 dev_err(rk1000->dev, "rk1000 attach failed ret:%d", ret); in rk1000_bridge_attach()
321 rk1000->sub_dev.connector = &rk1000->connector; in rk1000_bridge_attach()
322 rk1000->sub_dev.of_node = rk1000->dev->of_node; in rk1000_bridge_attach()
323 rockchip_drm_register_sub_dev(&rk1000->sub_dev); in rk1000_bridge_attach()
330 struct rk1000_tve *rk1000 = bridge_to_rk1000(bridge); in rk1000_bridge_detach() local
332 rockchip_drm_unregister_sub_dev(&rk1000->sub_dev); in rk1000_bridge_detach()
349 struct rk1000_tve *rk1000; in rk1000_probe() local
352 rk1000 = devm_kzalloc(&client->dev, sizeof(*rk1000), GFP_KERNEL); in rk1000_probe()
353 if (!rk1000) in rk1000_probe()
357 rk1000->client = client; in rk1000_probe()
358 rk1000->dev = &client->dev; in rk1000_probe()
359 rk1000->mode = CVBS_PAL; in rk1000_probe()
361 rk1000->tvemap = devm_regmap_init_i2c(client, in rk1000_probe()
363 if (IS_ERR(rk1000->tvemap)) { in rk1000_probe()
364 ret = PTR_ERR(rk1000->tvemap); in rk1000_probe()
365 dev_err(rk1000->dev, "Failed to initialize tve regmap: %d\n", in rk1000_probe()
372 dev_err(rk1000->dev, "rk1000 can't find control node\n"); in rk1000_probe()
378 dev_err(rk1000->dev, "rk1000 can't find control client\n"); in rk1000_probe()
382 rk1000->ctlmap = devm_regmap_init_i2c(ctl_client, in rk1000_probe()
384 if (IS_ERR(rk1000->ctlmap)) { in rk1000_probe()
385 ret = PTR_ERR(rk1000->ctlmap); in rk1000_probe()
386 dev_err(rk1000->dev, "Failed to initialize ctl regmap: %d\n", in rk1000_probe()
392 &rk1000->preferred_mode); in rk1000_probe()
394 rk1000->preferred_mode = 0; in rk1000_probe()
395 } else if (rk1000->preferred_mode > 1) { in rk1000_probe()
396 dev_err(rk1000->dev, "rk1000 tve mode value invalid\n"); in rk1000_probe()
400 rk1000->bridge.funcs = &rk1000_bridge_funcs; in rk1000_probe()
401 rk1000->bridge.of_node = rk1000->dev->of_node; in rk1000_probe()
403 drm_bridge_add(&rk1000->bridge); in rk1000_probe()
405 i2c_set_clientdata(client, rk1000); in rk1000_probe()
406 dev_dbg(rk1000->dev, "rk1000 probe ok\n"); in rk1000_probe()
413 struct rk1000_tve *rk1000 = i2c_get_clientdata(client); in rk1000_remove() local
415 drm_bridge_remove(&rk1000->bridge); in rk1000_remove()