Lines Matching refs:ptn_bridge

51 static int ptn3460_read_bytes(struct ptn3460_bridge *ptn_bridge, char addr,
56 ret = i2c_master_send(ptn_bridge->client, &addr, 1);
62 ret = i2c_master_recv(ptn_bridge->client, buf, len);
71 static int ptn3460_write_byte(struct ptn3460_bridge *ptn_bridge, char addr,
80 ret = i2c_master_send(ptn_bridge->client, buf, ARRAY_SIZE(buf));
89 static int ptn3460_select_edid(struct ptn3460_bridge *ptn_bridge)
95 ret = ptn3460_write_byte(ptn_bridge, PTN3460_EDID_SRAM_LOAD_ADDR,
96 ptn_bridge->edid_emulation);
104 ptn_bridge->edid_emulation << PTN3460_EDID_EMULATION_SELECTION;
106 ret = ptn3460_write_byte(ptn_bridge, PTN3460_EDID_EMULATION_ADDR, val);
117 struct ptn3460_bridge *ptn_bridge = bridge_to_ptn3460(bridge);
120 if (ptn_bridge->enabled)
123 gpiod_set_value(ptn_bridge->gpio_pd_n, 1);
125 gpiod_set_value(ptn_bridge->gpio_rst_n, 0);
127 gpiod_set_value(ptn_bridge->gpio_rst_n, 1);
136 ret = ptn3460_select_edid(ptn_bridge);
140 ptn_bridge->enabled = true;
145 struct ptn3460_bridge *ptn_bridge = bridge_to_ptn3460(bridge);
147 if (!ptn_bridge->enabled)
150 ptn_bridge->enabled = false;
152 gpiod_set_value(ptn_bridge->gpio_rst_n, 1);
153 gpiod_set_value(ptn_bridge->gpio_pd_n, 0);
160 struct ptn3460_bridge *ptn_bridge = bridge_to_ptn3460(bridge);
165 power_off = !ptn_bridge->enabled;
166 ptn3460_pre_enable(&ptn_bridge->bridge);
174 ret = ptn3460_read_bytes(ptn_bridge, PTN3460_EDID_ADDR, edid,
184 ptn3460_disable(&ptn_bridge->bridge);
191 struct ptn3460_bridge *ptn_bridge = connector_to_ptn3460(connector);
195 edid = ptn3460_get_edid(&ptn_bridge->bridge, connector);
218 struct ptn3460_bridge *ptn_bridge = bridge_to_ptn3460(bridge);
222 ret = drm_bridge_attach(bridge->encoder, ptn_bridge->panel_bridge,
235 ptn_bridge->connector.polled = DRM_CONNECTOR_POLL_HPD;
236 ret = drm_connector_init(bridge->dev, &ptn_bridge->connector,
242 drm_connector_helper_add(&ptn_bridge->connector,
244 drm_connector_register(&ptn_bridge->connector);
245 drm_connector_attach_encoder(&ptn_bridge->connector,
248 drm_helper_hpd_irq_event(ptn_bridge->connector.dev);
264 struct ptn3460_bridge *ptn_bridge;
269 ptn_bridge = devm_kzalloc(dev, sizeof(*ptn_bridge), GFP_KERNEL);
270 if (!ptn_bridge) {
282 ptn_bridge->panel_bridge = panel_bridge;
283 ptn_bridge->client = client;
285 ptn_bridge->gpio_pd_n = devm_gpiod_get(&client->dev, "powerdown",
287 if (IS_ERR(ptn_bridge->gpio_pd_n)) {
288 ret = PTR_ERR(ptn_bridge->gpio_pd_n);
297 ptn_bridge->gpio_rst_n = devm_gpiod_get(&client->dev, "reset",
299 if (IS_ERR(ptn_bridge->gpio_rst_n)) {
300 ret = PTR_ERR(ptn_bridge->gpio_rst_n);
306 &ptn_bridge->edid_emulation);
312 ptn_bridge->bridge.funcs = &ptn3460_bridge_funcs;
313 ptn_bridge->bridge.ops = DRM_BRIDGE_OP_EDID;
314 ptn_bridge->bridge.type = DRM_MODE_CONNECTOR_LVDS;
315 ptn_bridge->bridge.of_node = dev->of_node;
316 drm_bridge_add(&ptn_bridge->bridge);
318 i2c_set_clientdata(client, ptn_bridge);
325 struct ptn3460_bridge *ptn_bridge = i2c_get_clientdata(client);
327 drm_bridge_remove(&ptn_bridge->bridge);