Hi Laurent Pinchart, please check my comment below.
Thanks, Xin
On Fri, Oct 11, 2019 at 03:54:18PM +0300, Laurent Pinchart wrote:
Hi Andrzej,
On Fri, Oct 11, 2019 at 01:21:43PM +0200, Andrzej Hajda wrote:
On 11.10.2019 04:21, Xin Ji wrote:
The ANX7625 is an ultra-low power 4K Mobile HD Transmitter designed for portable device. It converts MIPI to DisplayPort 1.3 4K.
You can add support to your board with binding.
Example: anx7625_bridge: encoder@58 { compatible = "analogix,anx7625"; reg = <0x58>; status = "okay"; panel-flags = <1>; enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>; reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>; #address-cells = <1>; #size-cells = <0>;
port@0 { reg = <0>; anx_1_in: endpoint { remote-endpoint = <&mipi_dsi>; }; }; port@3 { reg = <3>; anx_1_out: endpoint { remote-endpoint = <&panel_in>; }; };
};
Signed-off-by: Xin Ji xji@analogixsemi.com
.../bindings/display/bridge/anx7625.yaml | 96 ++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/anx7625.yaml
diff --git a/Documentation/devicetree/bindings/display/bridge/anx7625.yaml b/Documentation/devicetree/bindings/display/bridge/anx7625.yaml new file mode 100644 index 0000000..fc84683 --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/anx7625.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +# Copyright 2019 Analogix Semiconductor, Inc. +%YAML 1.2 +--- +$id: "http://devicetree.org/schemas/display/bridge/anx7625.yaml#" +$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+title: Analogix ANX7625 SlimPort (4K Mobile HD Transmitter)
+maintainers:
- Xin Ji xji@analogixsemi.com
+description: |
- The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
- designed for portable devices.
+properties:
- "#address-cells": true
- "#size-cells": true
- compatible:
- items:
- const: analogix,anx7625
- reg:
- maxItems: 1
- panel-flags:
- description: indicate the panel is internal or external
- maxItems: 1
- interrupts:
- maxItems: 1
- enable-gpios:
- description: used for power on chip control, POWER_EN pin D2.
- maxItems: 1
- reset-gpios:
- description: used for reset chip control, RESET_N pin B7.
- maxItems: 1
- port@0:
- type: object
- description:
A port node pointing to MIPI DSI host port node.
- port@1:
- type: object
- description:
A port node pointing to MIPI DPI host port node.
- port@2:
- type: object
- description:
A port node pointing to external connector port node.
- port@3:
- type: object
- description:
A port node pointing to eDP port node.
Decrypting available product brief[1], there are following physical lines:
Input:
- MIPI DSI/DPI - video data, are DSI and DPI lines shared?
It would be much easier if we could have access to more complete information. I believe the DSI and DPI pins could be muxed, but there should be more DPI pins than DSI pins.
Yes DPI pins more than DSI pins.
I2S - audio data,
I2C - control line,
ALERT/INTP - interrupt,
USB 3.1 SSRc/Tx - for USB forwarding,
Output:
SS1, SS2,
SBU/AUX,
CC1/2.
Having this information I try to understand ports defined by you:
- port@2 you have defined as pointing to external port, but here the
port should be rather subnode of ANX7625 - the chip has CC lines, see beginning of [2].
- port@3 describes SS1, SS2 and SBU/AUX lines together, am I right? In
USB-C binding SBU and SS lines are represented by different ports, different approach, but maybe better in this case.
I believe that, when connected to a DP display (either DP or eDP), the DisplayPort signals are output on SS1 and/or SS2. I this really wonder if we need two separate ports for this, it seems that port@2 and port@3 should be merged.
OK, I will merge the port@2 and port@3, and use a flag to indicate whether the control is external connector control or not.
Maybe it would be good to add 2nd example with USB-C port.
That would help with the discussion, yes.
As we disabled USB-C feature in anx7625, we cannot define a USB-C port.
+required:
- "#address-cells"
- "#size-cells"
- compatible
- reg
- port@0
- port@3
+example:
- |
- anx7625_bridge: encoder@58 {
compatible = "analogix,anx7625";
reg = <0x58>;
status = "okay";
panel-flags = <1>;
enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
anx_1_in: endpoint {
remote-endpoint = <&mipi_dsi>;
};
};
port@3 {
reg = <3>;
anx_1_out: endpoint {
remote-endpoint = <&panel_in>;
};
};
- };
-- Regards,
Laurent Pinchart