Message ID | e11ba0cf836d6f27935f58b7987e792026ab0233.1730172244.git.Sandor.yu@nxp.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Initial support Cadence MHDP8501(HDMI/DP) for i.MX8MQ | expand |
On Tue, Oct 29, 2024 at 02:02:11PM +0800, Sandor Yu wrote: > + interrupts: > + items: > + - description: Hotplug cable plugin. > + - description: Hotplug cable plugout. > + > + interrupt-names: > + items: > + - const: plug_in > + - const: plug_out > + > + data-lanes: > + $ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes > + minItems: 4 > + maxItems: 4 > + description: Lane reordering for HDMI or DisplayPort interface. Please look how existing bindings do it. data-lanes is a property of port. Otherwise why would you like this to be applied to the input? Best regards, Krzysztof
> > On Tue, Oct 29, 2024 at 02:02:11PM +0800, Sandor Yu wrote: > > + interrupts: > > + items: > > + - description: Hotplug cable plugin. > > + - description: Hotplug cable plugout. > > + > > + interrupt-names: > > + items: > > + - const: plug_in > > + - const: plug_out > > + > > + data-lanes: > > + $ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes > > + minItems: 4 > > + maxItems: 4 > > + description: Lane reordering for HDMI or DisplayPort interface. > > Please look how existing bindings do it. data-lanes is a property of port. > Otherwise why would you like this to be applied to the input? 'lane reordering' is a feature of the MHDP IP, and different boards have different mappings. Benjamin comments in v16, the imx8mq-zii-ultra board's lane mapping differs from the default in my driver, so we need to treat it as an input. As data-lanes is a property of port, so there is no exist property could be reused, How about revert 'data-lanes' back to my previous implementation of 'lane-mapping'? B.R Sandor > > Best regards, > Krzysztof
On 29/10/2024 08:17, Sandor Yu wrote: >> >> On Tue, Oct 29, 2024 at 02:02:11PM +0800, Sandor Yu wrote: >>> + interrupts: >>> + items: >>> + - description: Hotplug cable plugin. >>> + - description: Hotplug cable plugout. >>> + >>> + interrupt-names: >>> + items: >>> + - const: plug_in >>> + - const: plug_out >>> + >>> + data-lanes: >>> + $ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes >>> + minItems: 4 >>> + maxItems: 4 >>> + description: Lane reordering for HDMI or DisplayPort interface. >> >> Please look how existing bindings do it. data-lanes is a property of port. >> Otherwise why would you like this to be applied to the input? > > 'lane reordering' is a feature of the MHDP IP, and different boards have different mappings. Yeah, and? > > Benjamin comments in v16, the imx8mq-zii-ultra board's lane mapping differs from the default in my driver, > so we need to treat it as an input. But HDMI is not your input port. At least that's what few lines below! This is confusing. > > As data-lanes is a property of port, so there is no exist property could be reused, data-lanes, really, what is the problem here? > How about revert 'data-lanes' back to my previous implementation of 'lane-mapping'? No. Best regards, Krzysztof
> > On 29/10/2024 08:17, Sandor Yu wrote: > >> > >> On Tue, Oct 29, 2024 at 02:02:11PM +0800, Sandor Yu wrote: > >>> + interrupts: > >>> + items: > >>> + - description: Hotplug cable plugin. > >>> + - description: Hotplug cable plugout. > >>> + > >>> + interrupt-names: > >>> + items: > >>> + - const: plug_in > >>> + - const: plug_out > >>> + > >>> + data-lanes: > >>> + $ref: > /schemas/media/video-interfaces.yaml#/properties/data-lanes > >>> + minItems: 4 > >>> + maxItems: 4 > >>> + description: Lane reordering for HDMI or DisplayPort interface. > >> > >> Please look how existing bindings do it. data-lanes is a property of port. > >> Otherwise why would you like this to be applied to the input? > > > > 'lane reordering' is a feature of the MHDP IP, and different boards have > different mappings. > > Yeah, and? > > > > > Benjamin comments in v16, the imx8mq-zii-ultra board's lane mapping > > differs from the default in my driver, so we need to treat it as an input. > > But HDMI is not your input port. At least that's what few lines below! > This is confusing. > > > > > As data-lanes is a property of port, so there is no exist property > > could be reused, > > data-lanes, really, what is the problem here? > > > How about revert 'data-lanes' back to my previous implementation of > 'lane-mapping'? > > No. I believe I understand now. The HDMI driver has two ports, and I will move the 'data-lanes' property to the endpoint of output port. B.R Sandor
diff --git a/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8501.yaml b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8501.yaml new file mode 100644 index 0000000000000..e4b900ecf1ac9 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/cdns,mhdp8501.yaml @@ -0,0 +1,112 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/cdns,mhdp8501.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Cadence MHDP8501 DP/HDMI bridge + +maintainers: + - Sandor Yu <Sandor.yu@nxp.com> + +description: + Cadence MHDP8501 DisplayPort/HDMI interface. + +properties: + compatible: + enum: + - fsl,imx8mq-mhdp8501 + + reg: + maxItems: 1 + + clocks: + maxItems: 1 + description: MHDP8501 DP/HDMI APB clock. + + phys: + maxItems: 1 + description: + phandle to the DP/HDMI PHY + + interrupts: + items: + - description: Hotplug cable plugin. + - description: Hotplug cable plugout. + + interrupt-names: + items: + - const: plug_in + - const: plug_out + + data-lanes: + $ref: /schemas/media/video-interfaces.yaml#/properties/data-lanes + minItems: 4 + maxItems: 4 + description: Lane reordering for HDMI or DisplayPort interface. + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: + Input port from display controller output. + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: + Output port to DisplayPort or HDMI connector. + + required: + - port@0 + - port@1 + +required: + - compatible + - reg + - clocks + - interrupts + - interrupt-names + - phys + - data-lanes + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/imx8mq-clock.h> + #include <dt-bindings/interrupt-controller/arm-gic.h> + + mhdp: display-bridge@32c00000 { + compatible = "fsl,imx8mq-mhdp8501"; + reg = <0x32c00000 0x100000>; + interrupts = <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>, + <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; + interrupt-names = "plug_in", "plug_out"; + clocks = <&clk IMX8MQ_CLK_DISP_APB_ROOT>; + phys = <&mdhp_phy>; + data-lanes = <1 2 3 4>; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + mhdp_in: endpoint { + remote-endpoint = <&dcss_out>; + }; + }; + + port@1 { + reg = <1>; + + mhdp_out: endpoint { + remote-endpoint = <&dp_connector>; + }; + }; + }; + };
Add bindings for Cadence MHDP8501 DisplayPort/HDMI bridge. Signed-off-by: Sandor Yu <Sandor.yu@nxp.com> --- v17->v18: - remove lane-mapping and replace it with data-lanes - remove r-b tag as property changed. v16->v17: - Add lane-mapping property v9->v16: *No change .../display/bridge/cdns,mhdp8501.yaml | 112 ++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/cdns,mhdp8501.yaml