提交 bf9c8227 编写于 作者: I Ian Molton 提交者: Mauro Carvalho Chehab

[media] media: adv7604: ability to read default input port from DT

Adds support to the adv7604 driver for specifying the default input
port in the Device tree. If no value is provided, the driver will be
unable to select an input without help from userspace.
Tested-by: NWilliam Towle <william.towle@codethink.co.uk>
Signed-off-by: NIan Molton <ian.molton@codethink.co.uk>
Signed-off-by: NHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: NMauro Carvalho Chehab <mchehab@osg.samsung.com>
上级 6a219f15
...@@ -47,6 +47,7 @@ Optional Endpoint Properties: ...@@ -47,6 +47,7 @@ Optional Endpoint Properties:
If none of hsync-active, vsync-active and pclk-sample is specified the If none of hsync-active, vsync-active and pclk-sample is specified the
endpoint will use embedded BT.656 synchronization. endpoint will use embedded BT.656 synchronization.
- default-input: Select which input is selected after reset.
Example: Example:
...@@ -60,6 +61,8 @@ Example: ...@@ -60,6 +61,8 @@ Example:
#address-cells = <1>; #address-cells = <1>;
#size-cells = <0>; #size-cells = <0>;
default-input = <0>;
port@0 { port@0 {
reg = <0>; reg = <0>;
}; };
......
...@@ -2772,6 +2772,7 @@ static int adv76xx_parse_dt(struct adv76xx_state *state) ...@@ -2772,6 +2772,7 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
struct device_node *endpoint; struct device_node *endpoint;
struct device_node *np; struct device_node *np;
unsigned int flags; unsigned int flags;
u32 v;
np = state->i2c_clients[ADV76XX_PAGE_IO]->dev.of_node; np = state->i2c_clients[ADV76XX_PAGE_IO]->dev.of_node;
...@@ -2781,6 +2782,12 @@ static int adv76xx_parse_dt(struct adv76xx_state *state) ...@@ -2781,6 +2782,12 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
return -EINVAL; return -EINVAL;
v4l2_of_parse_endpoint(endpoint, &bus_cfg); v4l2_of_parse_endpoint(endpoint, &bus_cfg);
if (!of_property_read_u32(endpoint, "default-input", &v))
state->pdata.default_input = v;
else
state->pdata.default_input = -1;
of_node_put(endpoint); of_node_put(endpoint);
flags = bus_cfg.bus.parallel.flags; flags = bus_cfg.bus.parallel.flags;
...@@ -2819,7 +2826,6 @@ static int adv76xx_parse_dt(struct adv76xx_state *state) ...@@ -2819,7 +2826,6 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
/* Hardcode the remaining platform data fields. */ /* Hardcode the remaining platform data fields. */
state->pdata.disable_pwrdnb = 0; state->pdata.disable_pwrdnb = 0;
state->pdata.disable_cable_det_rst = 0; state->pdata.disable_cable_det_rst = 0;
state->pdata.default_input = -1;
state->pdata.blank_data = 1; state->pdata.blank_data = 1;
state->pdata.alt_data_sat = 1; state->pdata.alt_data_sat = 1;
state->pdata.op_format_mode_sel = ADV7604_OP_FORMAT_MODE0; state->pdata.op_format_mode_sel = ADV7604_OP_FORMAT_MODE0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册