[v2,02/21] dt-bindings: display: tegra: vi: add 'vip' property and example
Commit Message
The Tegra20 VI peripheral can receive parallel input from the VIP parallel
input module. Add it to the allowed properties and augment the existing
nvidia,tegra20-vi example to show a 'vip' property.
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
---
Changed in v2 (suggested by Krzysztof Kozlowski):
- rename "i2c3" -> "ic2"
- add review tag
---
.../display/tegra/nvidia,tegra20-vi.yaml | 68 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 69 insertions(+)
Comments
On Mon, Nov 28, 2022 at 04:23:17PM +0100, Luca Ceresoli wrote:
> The Tegra20 VI peripheral can receive parallel input from the VIP parallel
> input module. Add it to the allowed properties and augment the existing
> nvidia,tegra20-vi example to show a 'vip' property.
>
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
>
> ---
>
> Changed in v2 (suggested by Krzysztof Kozlowski):
> - rename "i2c3" -> "ic2"
> - add review tag
> ---
> .../display/tegra/nvidia,tegra20-vi.yaml | 68 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 69 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> index 782a4b10150a..5b5583c2b562 100644
> --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> @@ -74,6 +74,22 @@ properties:
> avdd-dsi-csi-supply:
> description: DSI/CSI power supply. Must supply 1.2 V.
>
> + vip:
> + $ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
> +
> + ports:
> + $ref: /schemas/graph.yaml#/properties/ports
> +
> + properties:
> + port@0:
> + $ref: /schemas/graph.yaml#/properties/port
> + description:
> + Input from the VIP (parallel input capture) module
> +
> + properties:
> + endpoint:
> + $ref: /schemas/graph.yaml#/properties/endpoint
You can drop 'endpoint'. You only need port nodes if there's no extra
properties in the endpoints.
> +
> patternProperties:
> "^csi@[0-9a-f]+$":
> type: object
> @@ -109,6 +125,22 @@ examples:
> #include <dt-bindings/clock/tegra20-car.h>
> #include <dt-bindings/interrupt-controller/arm-gic.h>
>
> + i2c {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + camera@48 {
> + compatible = "aptina,mt9v111";
> + reg = <0x48>;
> + clocks = <&camera_clk>;
> +
> + port {
> + mt9v111_out: endpoint {
> + remote-endpoint = <&vi_vip_in>;
> + };
> + };
> + };
> + };
> +
> vi@54080000 {
> compatible = "nvidia,tegra20-vi";
> reg = <0x54080000 0x00040000>;
> @@ -116,6 +148,42 @@ examples:
> clocks = <&tegra_car TEGRA20_CLK_VI>;
> resets = <&tegra_car 100>;
> reset-names = "vi";
> +
> + vip {
> + compatible = "nvidia,tegra20-vip";
> + #address-cells = <1>;
> + #size-cells = <0>;
> + channel@0 {
> + reg = <0>;
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + vi_vip_in: endpoint {
> + remote-endpoint = <&mt9v111_out>;
> + };
> + };
> + port@1 {
> + reg = <1>;
> + vi_vip_out: endpoint {
> + remote-endpoint = <&vi_in>;
> + };
> + };
> + };
> + };
> + };
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> + port@0 {
> + reg = <0>;
> + vi_in: endpoint {
> + remote-endpoint = <&vi_vip_out>;
> + };
> + };
> + };
> };
>
> - |
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 92c762f85f17..0c97ce22735d 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -20320,6 +20320,7 @@ M: Luca Ceresoli <luca.ceresoli@bootlin.com>
> L: linux-media@vger.kernel.org
> L: linux-tegra@vger.kernel.org
> S: Maintained
> +F: Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> F: Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.yaml
>
> TEGRA XUSB PADCTL DRIVER
> --
> 2.34.1
>
>
Hello Rob,
On Thu, 1 Dec 2022 17:16:36 -0600
Rob Herring <robh@kernel.org> wrote:
> On Mon, Nov 28, 2022 at 04:23:17PM +0100, Luca Ceresoli wrote:
> > The Tegra20 VI peripheral can receive parallel input from the VIP parallel
> > input module. Add it to the allowed properties and augment the existing
> > nvidia,tegra20-vi example to show a 'vip' property.
> >
> > Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> > Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
> >
> > ---
> >
> > Changed in v2 (suggested by Krzysztof Kozlowski):
> > - rename "i2c3" -> "ic2"
> > - add review tag
> > ---
> > .../display/tegra/nvidia,tegra20-vi.yaml | 68 +++++++++++++++++++
> > MAINTAINERS | 1 +
> > 2 files changed, 69 insertions(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> > index 782a4b10150a..5b5583c2b562 100644
> > --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> > +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
> > @@ -74,6 +74,22 @@ properties:
> > avdd-dsi-csi-supply:
> > description: DSI/CSI power supply. Must supply 1.2 V.
> >
> > + vip:
> > + $ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
> > +
> > + ports:
> > + $ref: /schemas/graph.yaml#/properties/ports
> > +
> > + properties:
> > + port@0:
> > + $ref: /schemas/graph.yaml#/properties/port
> > + description:
> > + Input from the VIP (parallel input capture) module
> > +
> > + properties:
> > + endpoint:
> > + $ref: /schemas/graph.yaml#/properties/endpoint
>
> You can drop 'endpoint'. You only need port nodes if there's no extra
> properties in the endpoints.
Oh, nice, will remove in v3.
Krzysztof, can I keep your Reviewed-by after this change?
On 02/12/2022 09:11, Luca Ceresoli wrote:
> Hello Rob,
>
> On Thu, 1 Dec 2022 17:16:36 -0600
> Rob Herring <robh@kernel.org> wrote:
>
>> On Mon, Nov 28, 2022 at 04:23:17PM +0100, Luca Ceresoli wrote:
>>> The Tegra20 VI peripheral can receive parallel input from the VIP parallel
>>> input module. Add it to the allowed properties and augment the existing
>>> nvidia,tegra20-vi example to show a 'vip' property.
>>>
>>> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>> Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
>>>
>>> ---
>>>
>>> Changed in v2 (suggested by Krzysztof Kozlowski):
>>> - rename "i2c3" -> "ic2"
>>> - add review tag
>>> ---
>>> .../display/tegra/nvidia,tegra20-vi.yaml | 68 +++++++++++++++++++
>>> MAINTAINERS | 1 +
>>> 2 files changed, 69 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
>>> index 782a4b10150a..5b5583c2b562 100644
>>> --- a/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
>>> +++ b/Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
>>> @@ -74,6 +74,22 @@ properties:
>>> avdd-dsi-csi-supply:
>>> description: DSI/CSI power supply. Must supply 1.2 V.
>>>
>>> + vip:
>>> + $ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
>>> +
>>> + ports:
>>> + $ref: /schemas/graph.yaml#/properties/ports
>>> +
>>> + properties:
>>> + port@0:
>>> + $ref: /schemas/graph.yaml#/properties/port
>>> + description:
>>> + Input from the VIP (parallel input capture) module
>>> +
>>> + properties:
>>> + endpoint:
>>> + $ref: /schemas/graph.yaml#/properties/endpoint
>>
>> You can drop 'endpoint'. You only need port nodes if there's no extra
>> properties in the endpoints.
>
> Oh, nice, will remove in v3.
>
> Krzysztof, can I keep your Reviewed-by after this change?
Yes.
Best regards,
Krzysztof
@@ -74,6 +74,22 @@ properties:
avdd-dsi-csi-supply:
description: DSI/CSI power supply. Must supply 1.2 V.
+ vip:
+ $ref: /schemas/display/tegra/nvidia,tegra20-vip.yaml
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/properties/port
+ description:
+ Input from the VIP (parallel input capture) module
+
+ properties:
+ endpoint:
+ $ref: /schemas/graph.yaml#/properties/endpoint
+
patternProperties:
"^csi@[0-9a-f]+$":
type: object
@@ -109,6 +125,22 @@ examples:
#include <dt-bindings/clock/tegra20-car.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ camera@48 {
+ compatible = "aptina,mt9v111";
+ reg = <0x48>;
+ clocks = <&camera_clk>;
+
+ port {
+ mt9v111_out: endpoint {
+ remote-endpoint = <&vi_vip_in>;
+ };
+ };
+ };
+ };
+
vi@54080000 {
compatible = "nvidia,tegra20-vi";
reg = <0x54080000 0x00040000>;
@@ -116,6 +148,42 @@ examples:
clocks = <&tegra_car TEGRA20_CLK_VI>;
resets = <&tegra_car 100>;
reset-names = "vi";
+
+ vip {
+ compatible = "nvidia,tegra20-vip";
+ #address-cells = <1>;
+ #size-cells = <0>;
+ channel@0 {
+ reg = <0>;
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ vi_vip_in: endpoint {
+ remote-endpoint = <&mt9v111_out>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ vi_vip_out: endpoint {
+ remote-endpoint = <&vi_in>;
+ };
+ };
+ };
+ };
+ };
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ port@0 {
+ reg = <0>;
+ vi_in: endpoint {
+ remote-endpoint = <&vi_vip_out>;
+ };
+ };
+ };
};
- |
@@ -20320,6 +20320,7 @@ M: Luca Ceresoli <luca.ceresoli@bootlin.com>
L: linux-media@vger.kernel.org
L: linux-tegra@vger.kernel.org
S: Maintained
+F: Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vi.yaml
F: Documentation/devicetree/bindings/display/tegra/nvidia,tegra20-vip.yaml
TEGRA XUSB PADCTL DRIVER