2014-10-22 15:34:36

by Jean-Michel Hautbois

[permalink] [raw]
Subject: [PATCH] adv7604: Add DT parsing support

This patch adds support for DT parsing of ADV7604 as well as ADV7611.
It needs to be improved in order to get ports parsing too.

Signed-off-by: Jean-Michel Hautbois <[email protected]>
---
Documentation/devicetree/bindings/media/i2c/adv7604.txt | 1 +
drivers/media/i2c/adv7604.c | 1 +
2 files changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/media/i2c/adv7604.txt b/Documentation/devicetree/bindings/media/i2c/adv7604.txt
index c27cede..5c8b3e6 100644
--- a/Documentation/devicetree/bindings/media/i2c/adv7604.txt
+++ b/Documentation/devicetree/bindings/media/i2c/adv7604.txt
@@ -10,6 +10,7 @@ Required Properties:

- compatible: Must contain one of the following
- "adi,adv7611" for the ADV7611
+ - "adi,adv7604" for the ADV7604

- reg: I2C slave address

diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
index 47795ff..421035f 100644
--- a/drivers/media/i2c/adv7604.c
+++ b/drivers/media/i2c/adv7604.c
@@ -2677,6 +2677,7 @@ MODULE_DEVICE_TABLE(i2c, adv7604_i2c_id);

static struct of_device_id adv7604_of_id[] __maybe_unused = {
{ .compatible = "adi,adv7611", .data = &adv7604_chip_info[ADV7611] },
+ { .compatible = "adi,adv7604", .data = &adv7604_chip_info[ADV7604] },
{ }
};
MODULE_DEVICE_TABLE(of, adv7604_of_id);
--
2.1.2


2014-10-22 23:53:59

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] adv7604: Add DT parsing support

Hi Jean-Michel,

Thank you for the patch.

On Wednesday 22 October 2014 17:34:21 Jean-Michel Hautbois wrote:
> This patch adds support for DT parsing of ADV7604 as well as ADV7611.
> It needs to be improved in order to get ports parsing too.

Let's improve it then :-) The DT bindings as proposed by this patch are
incomplete, that's just asking for trouble.

How would you model the adv7604 ports ?

> Signed-off-by: Jean-Michel Hautbois <[email protected]>
> ---
> Documentation/devicetree/bindings/media/i2c/adv7604.txt | 1 +
> drivers/media/i2c/adv7604.c | 1 +
> 2 files changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/media/i2c/adv7604.txt
> b/Documentation/devicetree/bindings/media/i2c/adv7604.txt index
> c27cede..5c8b3e6 100644
> --- a/Documentation/devicetree/bindings/media/i2c/adv7604.txt
> +++ b/Documentation/devicetree/bindings/media/i2c/adv7604.txt
> @@ -10,6 +10,7 @@ Required Properties:
>
> - compatible: Must contain one of the following
> - "adi,adv7611" for the ADV7611
> + - "adi,adv7604" for the ADV7604

Please switch the two lines to keep them alphabetically sorted.
>
> - reg: I2C slave address
>
> diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
> index 47795ff..421035f 100644
> --- a/drivers/media/i2c/adv7604.c
> +++ b/drivers/media/i2c/adv7604.c
> @@ -2677,6 +2677,7 @@ MODULE_DEVICE_TABLE(i2c, adv7604_i2c_id);
>
> static struct of_device_id adv7604_of_id[] __maybe_unused = {
> { .compatible = "adi,adv7611", .data = &adv7604_chip_info[ADV7611] },
> + { .compatible = "adi,adv7604", .data = &adv7604_chip_info[ADV7604] },

Same comment here.

> { }
> };
> MODULE_DEVICE_TABLE(of, adv7604_of_id);

--
Regards,

Laurent Pinchart

2014-10-23 05:52:09

by Jean-Michel Hautbois

[permalink] [raw]
Subject: Re: [PATCH] adv7604: Add DT parsing support

Hi Laurent,

Thank you for reviewing,

2014-10-23 1:53 GMT+02:00 Laurent Pinchart <[email protected]>:
> Hi Jean-Michel,
>
> Thank you for the patch.
>
> On Wednesday 22 October 2014 17:34:21 Jean-Michel Hautbois wrote:
>> This patch adds support for DT parsing of ADV7604 as well as ADV7611.
>> It needs to be improved in order to get ports parsing too.
>
> Let's improve it then :-) The DT bindings as proposed by this patch are
> incomplete, that's just asking for trouble.
>
> How would you model the adv7604 ports ?

I am opened to suggestions :).
But it has to remain as simple as possible, ideally allowing for
giving names to the ports.
As done today, it works, ports are parsed but are all the same...

>> Signed-off-by: Jean-Michel Hautbois <[email protected]>
>> ---
>> Documentation/devicetree/bindings/media/i2c/adv7604.txt | 1 +
>> drivers/media/i2c/adv7604.c | 1 +
>> 2 files changed, 2 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/media/i2c/adv7604.txt
>> b/Documentation/devicetree/bindings/media/i2c/adv7604.txt index
>> c27cede..5c8b3e6 100644
>> --- a/Documentation/devicetree/bindings/media/i2c/adv7604.txt
>> +++ b/Documentation/devicetree/bindings/media/i2c/adv7604.txt
>> @@ -10,6 +10,7 @@ Required Properties:
>>
>> - compatible: Must contain one of the following
>> - "adi,adv7611" for the ADV7611
>> + - "adi,adv7604" for the ADV7604
>
> Please switch the two lines to keep them alphabetically sorted.
>>
>> - reg: I2C slave address
>>
>> diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c
>> index 47795ff..421035f 100644
>> --- a/drivers/media/i2c/adv7604.c
>> +++ b/drivers/media/i2c/adv7604.c
>> @@ -2677,6 +2677,7 @@ MODULE_DEVICE_TABLE(i2c, adv7604_i2c_id);
>>
>> static struct of_device_id adv7604_of_id[] __maybe_unused = {
>> { .compatible = "adi,adv7611", .data = &adv7604_chip_info[ADV7611] },
>> + { .compatible = "adi,adv7604", .data = &adv7604_chip_info[ADV7604] },
>
> Same comment here.

Done on my side, but will wait for your suggestions, in order to add
ports parsing ;-).

Thanks,
JM

2014-10-26 23:30:31

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH] adv7604: Add DT parsing support

Hi Jean-Michel,

On Thursday 23 October 2014 07:51:50 Jean-Michel Hautbois wrote:
> 2014-10-23 1:53 GMT+02:00 Laurent Pinchart:
> > On Wednesday 22 October 2014 17:34:21 Jean-Michel Hautbois wrote:
> >> This patch adds support for DT parsing of ADV7604 as well as ADV7611.
> >> It needs to be improved in order to get ports parsing too.
> >
> > Let's improve it then :-) The DT bindings as proposed by this patch are
> > incomplete, that's just asking for trouble.
> >
> > How would you model the adv7604 ports ?
>
> I am opened to suggestions :).
> But it has to remain as simple as possible, ideally allowing for giving
> names to the ports.
> As done today, it works, ports are parsed but are all the same...

The ADV7611 was easy, it had a single HDMI input only. The ADV7612 is easy as
well as it just has two separate HDMI inputs.

The ADV7604 is a more complex beast. The HDMI inputs shouldn't be much of an
issue as they're independent and multiplexed internally. You can just create
one pad per HDMI input.

The analog inputs, however, can't be modeled as easily. A naive approach would
be to create one pad for each of the 12 analog inputs, but the chip has three
separate ADCs and can combine 3 inputs in a single digital video stream. I
don't know how we should model support for that. Lars-Peter, Hans, would you
have a revolutionary idea to same the world today ?

> >> Signed-off-by: Jean-Michel Hautbois <[email protected]>

[...]

--
Regards,

Laurent Pinchart