All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sylwester Nawrocki <s.nawrocki@samsung.com>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Cc: linux-media@vger.kernel.org,
	Hans Verkuil <hans.verkuil@cisco.com>,
	Lars-Peter Clausen <lars@metafoo.de>,
	devicetree@vger.kernel.org
Subject: Re: [PATCH v4 47/49] adv7604: Add endpoint properties to DT bindings
Date: Thu, 17 Apr 2014 16:44:40 +0200	[thread overview]
Message-ID: <534FE8D8.3070700@samsung.com> (raw)
In-Reply-To: <1397744000-23967-48-git-send-email-laurent.pinchart@ideasonboard.com>

On 17/04/14 16:13, Laurent Pinchart wrote:
> Add support for the hsync-active, vsync-active and pclk-sample
> properties to the DT bindings and control BT.656 mode implicitly.
> 
> Cc: devicetree@vger.kernel.org
> Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
> Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> Acked-by: Hans Verkuil <hans.verkuil@cisco.com>

Thanks, the patch looks good to me.

Acked-by: Sylwester Nawrocki <s.nawrocki@samsung.com>

> ---
>  .../devicetree/bindings/media/i2c/adv7604.txt      | 13 +++++++++
>  drivers/media/i2c/adv7604.c                        | 34 ++++++++++++++++++++--
>  2 files changed, 45 insertions(+), 2 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/media/i2c/adv7604.txt b/Documentation/devicetree/bindings/media/i2c/adv7604.txt
> index 2efb48f..c27cede 100644
> --- a/Documentation/devicetree/bindings/media/i2c/adv7604.txt
> +++ b/Documentation/devicetree/bindings/media/i2c/adv7604.txt
> @@ -33,6 +33,19 @@ Optional Properties:
>  
>    - reset-gpios: Reference to the GPIO connected to the device's reset pin.
>  
> +Optional Endpoint Properties:
> +
> +  The following three properties are defined in video-interfaces.txt and are
> +  valid for source endpoints only.
> +
> +  - hsync-active: Horizontal synchronization polarity. Defaults to active low.
> +  - vsync-active: Vertical synchronization polarity. Defaults to active low.
> +  - pclk-sample: Pixel clock polarity. Defaults to output on the falling edge.
> +
> +  If none of hsync-active, vsync-active and pclk-sample is specified the
> +  endpoint will use embedded BT.656 synchronization.
> +
> +
>  Example:
>  
>  	hdmi_receiver@4c {
> diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
> index fd0c646..63f036f 100644
> --- a/drivers/media/i2c/adv7604.c
> +++ b/drivers/media/i2c/adv7604.c
> @@ -41,6 +41,7 @@
>  #include <media/v4l2-ctrls.h>
>  #include <media/v4l2-device.h>
>  #include <media/v4l2-dv-timings.h>
> +#include <media/v4l2-of.h>
>  
>  static int debug;
>  module_param(debug, int, 0644);
> @@ -2679,6 +2680,37 @@ MODULE_DEVICE_TABLE(of, adv7604_of_id);
>  
>  static int adv7604_parse_dt(struct adv7604_state *state)
>  {
> +	struct v4l2_of_endpoint bus_cfg;
> +	struct device_node *endpoint;
> +	struct device_node *np;
> +	unsigned int flags;
> +
> +	np = state->i2c_clients[ADV7604_PAGE_IO]->dev.of_node;
> +
> +	/* Parse the endpoint. */
> +	endpoint = of_graph_get_next_endpoint(np, NULL);
> +	if (!endpoint)
> +		return -EINVAL;
> +
> +	v4l2_of_parse_endpoint(endpoint, &bus_cfg);
> +	of_node_put(endpoint);
> +
> +	flags = bus_cfg.bus.parallel.flags;
> +
> +	if (flags & V4L2_MBUS_HSYNC_ACTIVE_HIGH)
> +		state->pdata.inv_hs_pol = 1;
> +
> +	if (flags & V4L2_MBUS_VSYNC_ACTIVE_HIGH)
> +		state->pdata.inv_vs_pol = 1;
> +
> +	if (flags & V4L2_MBUS_PCLK_SAMPLE_RISING)
> +		state->pdata.inv_llc_pol = 1;
> +
> +	if (bus_cfg.bus_type == V4L2_MBUS_BT656) {
> +		state->pdata.insert_av_codes = 1;
> +		state->pdata.op_656_range = 1;
> +	}
> +
>  	/* Disable the interrupt for now as no DT-based board uses it. */
>  	state->pdata.int1_config = ADV7604_INT1_CONFIG_DISABLED;
>  
> @@ -2701,9 +2733,7 @@ static int adv7604_parse_dt(struct adv7604_state *state)
>  	state->pdata.disable_cable_det_rst = 0;
>  	state->pdata.default_input = -1;
>  	state->pdata.blank_data = 1;
> -	state->pdata.op_656_range = 1;
>  	state->pdata.alt_data_sat = 1;
> -	state->pdata.insert_av_codes = 1;
>  	state->pdata.op_format_mode_sel = ADV7604_OP_FORMAT_MODE0;
>  	state->pdata.bus_order = ADV7604_BUS_ORDER_RGB;
>  

-- 
Regards,
Sylwester

  reply	other threads:[~2014-04-17 14:44 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-17 14:12 [PATCH v4 00/49] ADV7611 support Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 01/49] v4l: Add UYVY10_2X10 and VYUY10_2X10 media bus pixel codes Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 02/49] v4l: Add UYVY10_1X20 and VYUY10_1X20 " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 03/49] v4l: Add 12-bit YUV 4:2:0 " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 04/49] v4l: Add 12-bit YUV 4:2:2 " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 05/49] v4l: Add pad-level DV timings subdev operations Laurent Pinchart
2014-05-13 16:51   ` Mauro Carvalho Chehab
2014-05-13 21:23     ` Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 06/49] ad9389b: Add pad-level DV timings operations Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 07/49] adv7511: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 08/49] adv7842: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 09/49] s5p-tv: hdmi: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 10/49] s5p-tv: hdmiphy: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 11/49] ths8200: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 12/49] tvp7002: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 13/49] media: bfin_capture: Switch to pad-level DV operations Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 14/49] media: davinci: vpif: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 15/49] media: staging: davinci: vpfe: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 16/49] s5p-tv: mixer: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 17/49] ad9389b: Remove deprecated video-level DV timings operations Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 18/49] adv7511: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 19/49] adv7842: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 20/49] s5p-tv: hdmi: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 21/49] s5p-tv: hdmiphy: Remove deprecated video-level DV timings operation Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 22/49] ths8200: Remove deprecated video-level DV timings operations Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 23/49] tvp7002: " Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 24/49] v4l: Improve readability by not wrapping ioctl number #define's Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 25/49] v4l: Add support for DV timings ioctls on subdev nodes Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 26/49] v4l: Validate fields in the core code for subdev EDID ioctls Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 27/49] adv7604: Add missing include to linux/types.h Laurent Pinchart
2014-04-17 14:12 ` [PATCH v4 28/49] adv7604: Add support for asynchronous probing Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 29/49] adv7604: Don't put info string arrays on the stack Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 30/49] adv7604: Add 16-bit read functions for CP and HDMI Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 31/49] adv7604: Cache register contents when reading multiple bits Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 32/49] adv7604: Add adv7611 support Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 33/49] adv7604: Remove subdev control handlers Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 34/49] adv7604: Add sink pads Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 35/49] adv7604: Make output format configurable through pad format operations Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 36/49] adv7604: Add pad-level DV timings support Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 37/49] adv7604: Remove deprecated video-level DV timings operations Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 38/49] v4l: subdev: " Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 39/49] adv7604: Inline the to_sd function Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 40/49] adv7604: Store I2C addresses and clients in arrays Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 41/49] adv7604: Replace *_and_or() functions with *_clr_set() Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 42/49] adv7604: Sort headers alphabetically Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 43/49] adv7604: Support hot-plug detect control through a GPIO Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 44/49] adv7604: Specify the default input through platform data Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 45/49] adv7604: Add DT support Laurent Pinchart
2014-04-17 14:39   ` Sylwester Nawrocki
2014-04-17 14:43     ` Laurent Pinchart
2014-04-17 14:52     ` Sylwester Nawrocki
2014-04-17 14:13 ` [PATCH v4 46/49] adv7604: Add LLC polarity configuration Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 47/49] adv7604: Add endpoint properties to DT bindings Laurent Pinchart
2014-04-17 14:44   ` Sylwester Nawrocki [this message]
2014-04-17 14:13 ` [PATCH v4 48/49] adv7604: Set HPD GPIO direction to output Laurent Pinchart
2014-04-17 14:13 ` [PATCH v4 49/49] adv7604: Mark adv7604_of_id table with __maybe_unused Laurent Pinchart

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=534FE8D8.3070700@samsung.com \
    --to=s.nawrocki@samsung.com \
    --cc=devicetree@vger.kernel.org \
    --cc=hans.verkuil@cisco.com \
    --cc=lars@metafoo.de \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-media@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.