Skip to contentSkip to conversation

Add initial support for slimport anx7625

PATCH Superseded Xin Ji 2 participants 6 messages Jul 9, 2020 – Aug 19, 2020 1 message not in the archive

Subsystems (4)

v14 of 17 Superseded Latest is v17 →

lore
Share & tools
lore

Xin Ji

author
#0 lore raw

v14 cover Add initial support for slimport anx7625

Hi all,

The following series add support for the Slimport ANX7625 transmitter, a ultra-low power Full-HD 4K MIPI to DP transmitter designed for portable device.

This is the v14 version, any mistakes, please let me know, I will fix it in the next series.

Change history:
v14: Fix comments from Sam and Nicolas
- Check flags at drm_bridge_attach
- Use panel_bridge instead of drm_panel
- Fix not correct return value

v13: Fix comments from Launrent Pinchart and Rob Herring
- Picked up Rob's Reviewed-By
- Add .detect and .get_edid interface in bridge funcs.

v12: Fix comments from Hsin-Yi Wang
- Rebase the code on kernel 5.7, fix DRM interface not match issue.

v11: Fix comments from Rob Herring
- Update commit message.
- Remove unused label.

v10: Fix comments from Rob Herring, Daniel.
- Fix dt_binding_check warning.
- Update description.

v9: Fix comments from Sam, Nicolas, Daniel
- Remove extcon interface.
- Remove DPI support.
- Fix dt_binding_check complains.
- Code clean up and update description.

v8: Fix comments from Nicolas.
- Fix several coding format.
- Update description.

v7:
- Fix critical timing(eg:odd hfp/hbp) in "mode_fixup" interface, enhance MIPI RX tolerance by setting register MIPI_DIGITAL_ADJ_1 to 0x3D.

Xin Ji (2):
dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter DT schema drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP

 .../bindings/display/bridge/analogix,anx7625.yaml  |   95 +
 drivers/gpu/drm/bridge/analogix/Kconfig            |    9 +
 drivers/gpu/drm/bridge/analogix/Makefile           |    1 +
 drivers/gpu/drm/bridge/analogix/anx7625.c          | 1939 ++++++++++++++++++++
 drivers/gpu/drm/bridge/analogix/anx7625.h          |  391 ++++
 5 files changed, 2435 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h
Signature · 1 line
2.7.4
author
#1 lore raw

PATCH v14 1/2 dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter DT schema

anx7625: MIPI to DP transmitter DT schema

---
 .../bindings/display/bridge/analogix,anx7625.yaml  | 95 ++++++++++++++++++++++
 1 file changed, 95 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml new file +95 -0
new file mode 100644
index 0000000..60585a4
@@ -0,0 +1,95 @@
+# 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/analogix,anx7625.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: Analogix ANX7625 SlimPort (4K Mobile HD Transmitter)
+
+maintainers:
+  - Xin Ji <[email protected]>
+
+description: |
+  The ANX7625 is an ultra-low power 4K Mobile HD Transmitter
+  designed for portable devices.
+
+properties:
+  compatible:
+    items:
+      - const: analogix,anx7625
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    description: used for interrupt pin B8.
+    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
+
+  ports:
+    type: object
+
+    properties:
+      port@0:
+        type: object
+        description:
+          Video port for MIPI DSI input.
+
+      port@1:
+        type: object
+        description:
+          Video port for panel or connector.
+
+    required:
+        - port@0
+        - port@1
+
+required:
+  - compatible
+  - reg
+  - ports
+
+additionalProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+
+    i2c0 {
+        #address-cells = <1>;
+        #size-cells = <0>;
+
+        encoder@58 {
+            compatible = "analogix,anx7625";
+            reg = <0x58>;
+            enable-gpios = <&pio 45 GPIO_ACTIVE_HIGH>;
+            reset-gpios = <&pio 73 GPIO_ACTIVE_HIGH>;
+
+            ports {
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                mipi2dp_bridge_in: port@0 {
+                    reg = <0>;
+                    anx7625_in: endpoint {
+                        remote-endpoint = <&mipi_dsi>;
+                    };
+                };
+
+                mipi2dp_bridge_out: port@1 {
+                    reg = <1>;
+                    anx7625_out: endpoint {
+                        remote-endpoint = <&panel_in>;
+                    };
+                };
+            };
+        };
+    };
Signature · 1 line
2.7.4
author
#2 lore raw

PATCH v14 2/2 drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP

In reply to Xin Ji

The ANX7625 is an ultra-low power 4K Mobile HD Transmitter designed for portable device. It converts MIPI DSI/DPI to DisplayPort 1.3 4K.

---
 drivers/gpu/drm/bridge/analogix/Kconfig   |    9 +
 drivers/gpu/drm/bridge/analogix/Makefile  |    1 +
 drivers/gpu/drm/bridge/analogix/anx7625.c | 1939 +++++++++++++++++++++++++++++
 drivers/gpu/drm/bridge/analogix/anx7625.h |  391 ++++++
 4 files changed, 2340 insertions(+)
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h
drivers/gpu/drm/bridge/analogix/Kconfig +9 -0
index e1fa7d8..024ea2a 100644
@@ -25,3 +25,12 @@ config DRM_ANALOGIX_ANX78XX
 config DRM_ANALOGIX_DP
 	tristate
 	depends on DRM
+
+config DRM_ANALOGIX_ANX7625
+	tristate "Analogix Anx7625 MIPI to DP interface support"
+	depends on DRM
+	depends on OF
+	help
+	  ANX7625 is an ultra-low power 4K mobile HD transmitter
+	  designed for portable devices. It converts MIPI/DPI to
+	  DisplayPort1.3 4K.
drivers/gpu/drm/bridge/analogix/Makefile +1 -0
index 97669b3..44da392 100644
@@ -1,5 +1,6 @@
 # SPDX-License-Identifier: GPL-2.0-only
 analogix_dp-objs := analogix_dp_core.o analogix_dp_reg.o analogix-i2c-dptx.o
 obj-$(CONFIG_DRM_ANALOGIX_ANX6345) += analogix-anx6345.o
+obj-$(CONFIG_DRM_ANALOGIX_ANX7625) += anx7625.o
 obj-$(CONFIG_DRM_ANALOGIX_ANX78XX) += analogix-anx78xx.o
 obj-$(CONFIG_DRM_ANALOGIX_DP) += analogix_dp.o
drivers/gpu/drm/bridge/analogix/anx7625.c new file +1939 -0

1,939 lines not on this page · raw message

drivers/gpu/drm/bridge/analogix/anx7625.h new file +391 -0

391 lines not on this page · raw message

Signature · 1 line
2.7.4
#3 lore raw
In reply to Xin Ji

Hi Xin Ji.

Quoted 6 lines · Xin Ji

Hi all,

The following series add support for the Slimport ANX7625 transmitter, a ultra-low power Full-HD 4K MIPI to DP transmitter designed for portable device.

Quoted 8 lines

This is the v14 version, any mistakes, please let me know, I will fix it in the next series.

Change history:
v14: Fix comments from Sam and Nicolas
- Check flags at drm_bridge_attach
- Use panel_bridge instead of drm_panel
- Fix not correct return value

Sorry for ignoring this for so long time.
The patch applies but no longer builds.

I could fix it locally but wanted to know if you have a later version to be applied?

Sam

Quoted 35 lines

v13: Fix comments from Launrent Pinchart and Rob Herring
- Picked up Rob's Reviewed-By
- Add .detect and .get_edid interface in bridge funcs.

v12: Fix comments from Hsin-Yi Wang
- Rebase the code on kernel 5.7, fix DRM interface not match issue.

v11: Fix comments from Rob Herring
- Update commit message.
- Remove unused label.

v10: Fix comments from Rob Herring, Daniel.
- Fix dt_binding_check warning.
- Update description.

v9: Fix comments from Sam, Nicolas, Daniel
- Remove extcon interface.
- Remove DPI support.
- Fix dt_binding_check complains.
- Code clean up and update description.

v8: Fix comments from Nicolas.
- Fix several coding format.
- Update description.

v7:
- Fix critical timing(eg:odd hfp/hbp) in "mode_fixup" interface, enhance MIPI RX tolerance by setting register MIPI_DIGITAL_ADJ_1 to 0x3D.

Xin Ji (2):
dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter DT schema drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP

Quoted 17 lines
 .../bindings/display/bridge/analogix,anx7625.yaml  |   95 +
 drivers/gpu/drm/bridge/analogix/Kconfig            |    9 +
 drivers/gpu/drm/bridge/analogix/Makefile           |    1 +
 drivers/gpu/drm/bridge/analogix/anx7625.c          | 1939 ++++++++++++++++++++
 drivers/gpu/drm/bridge/analogix/anx7625.h          |  391 ++++
 5 files changed, 2435 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h
Signature · 6 lines
2.7.4

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

A message that is not in the archive (sent off-list or not yet received): CAJMQK-h1BLDS_-q9n9vuOyYimqG7qonGsy7f5w8M=A_pffxHBQ@mail.gmail.com

author
#5 lore raw
Quoted 18 lines · Hsin-Yi Wang

I think you missed this email :)

---------- Forwarded message ---------
From: Sam Ravnborg <[email protected]>
Date: Tue, Aug 11, 2020 at 4:35 AM
Subject: Re: [PATCH v14 0/2] Add initial support for slimport anx7625
To: Xin Ji <[email protected]>
Cc: <[email protected]>, Laurent Pinchart <[email protected]>, Andrzej Hajda <[email protected]>, Nicolas Boichat <[email protected]>, Jernej Skrabec <[email protected]>, Nicolas Boichat <[email protected]>, Pi-Hsun Shih <[email protected]>, Jonas Karlman <[email protected]>, David Airlie <[email protected]>, Neil Armstrong <[email protected]>, <[email protected]>, <[email protected]>, Sheng Pan <[email protected]>, Hsin-Yi Wang <[email protected]>, Dan Carpenter <[email protected]>

Hi Sam, I missed this email.

Quoted 19 lines

Hi Xin Ji.

Quoted 6 lines · Xin Ji

Hi all,

The following series add support for the Slimport ANX7625 transmitter, a ultra-low power Full-HD 4K MIPI to DP transmitter designed for portable device.

Quoted 8 lines

This is the v14 version, any mistakes, please let me know, I will fix it in the next series.

Change history:
v14: Fix comments from Sam and Nicolas
- Check flags at drm_bridge_attach
- Use panel_bridge instead of drm_panel
- Fix not correct return value

Quoted 7 lines

Sorry for ignoring this for so long time.
The patch applies but no longer builds.

I could fix it locally but wanted to know if you have a later version to be applied?

Sam

Hi Sam, there is no new version patch. We have another patch for other project, so we will upstream new patch after this patch has been merged.

Thanks,
Xin

Quoted 54 lines
Quoted 54 lines

v13: Fix comments from Launrent Pinchart and Rob Herring
- Picked up Rob's Reviewed-By
- Add .detect and .get_edid interface in bridge funcs.

v12: Fix comments from Hsin-Yi Wang
- Rebase the code on kernel 5.7, fix DRM interface not match issue.

v11: Fix comments from Rob Herring
- Update commit message.
- Remove unused label.

v10: Fix comments from Rob Herring, Daniel.
- Fix dt_binding_check warning.
- Update description.

v9: Fix comments from Sam, Nicolas, Daniel
- Remove extcon interface.
- Remove DPI support.
- Fix dt_binding_check complains.
- Code clean up and update description.

v8: Fix comments from Nicolas.
- Fix several coding format.
- Update description.

v7:
- Fix critical timing(eg:odd hfp/hbp) in "mode_fixup" interface, enhance MIPI RX tolerance by setting register MIPI_DIGITAL_ADJ_1 to 0x3D.

Xin Ji (2):
dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter DT schema drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP

 .../bindings/display/bridge/analogix,anx7625.yaml  |   95 +
 drivers/gpu/drm/bridge/analogix/Kconfig            |    9 +
 drivers/gpu/drm/bridge/analogix/Makefile           |    1 +
 drivers/gpu/drm/bridge/analogix/anx7625.c          | 1939 ++++++++++++++++++++
 drivers/gpu/drm/bridge/analogix/anx7625.h          |  391 ++++
 5 files changed, 2435 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h

--
2.7.4

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

#6 lore raw
In reply to Sam Ravnborg

Hi Xin Ji.

Quoted 18 lines · Sam Ravnborg

Hi Xin Ji.

Quoted 6 lines · Xin Ji

Hi all,

The following series add support for the Slimport ANX7625 transmitter, a ultra-low power Full-HD 4K MIPI to DP transmitter designed for portable device.

Quoted 8 lines

This is the v14 version, any mistakes, please let me know, I will fix it in the next series.

Change history:
v14: Fix comments from Sam and Nicolas
- Check flags at drm_bridge_attach
- Use panel_bridge instead of drm_panel
- Fix not correct return value

Quoted 5 lines

Sorry for ignoring this for so long time.
The patch applies but no longer builds.

I could fix it locally but wanted to know if you have a later version to be applied?

I took a short look at the driver today.
I noticed following code:
if (!(flags & DRM_BRIDGE_ATTACH_NO_CONNECTOR))
return -EINVAL;

So if the display driver do not supply the DRM_BRIDGE_ATTACH_NO_CONNECTOR then -EINVAL is returned.

But then the anx7625_bridge_attach() continues and creates a connector. For a new bridge driver there should be no need for the backward compatibility - so no need to create the connector.
Unless the display driver needs it - but then we should fix the display driver and not add backward compatibility code in the bridge driver.

Which display driver do you expect this bridge driver to be used with?

Sam

Quoted 60 lines

Sam

Quoted 35 lines

v13: Fix comments from Launrent Pinchart and Rob Herring
- Picked up Rob's Reviewed-By
- Add .detect and .get_edid interface in bridge funcs.

v12: Fix comments from Hsin-Yi Wang
- Rebase the code on kernel 5.7, fix DRM interface not match issue.

v11: Fix comments from Rob Herring
- Update commit message.
- Remove unused label.

v10: Fix comments from Rob Herring, Daniel.
- Fix dt_binding_check warning.
- Update description.

v9: Fix comments from Sam, Nicolas, Daniel
- Remove extcon interface.
- Remove DPI support.
- Fix dt_binding_check complains.
- Code clean up and update description.

v8: Fix comments from Nicolas.
- Fix several coding format.
- Update description.

v7:
- Fix critical timing(eg:odd hfp/hbp) in "mode_fixup" interface, enhance MIPI RX tolerance by setting register MIPI_DIGITAL_ADJ_1 to 0x3D.

Xin Ji (2):
dt-bindings: drm/bridge: anx7625: MIPI to DP transmitter DT schema drm/bridge: anx7625: Add anx7625 MIPI DSI/DPI to DP

Quoted 17 lines
 .../bindings/display/bridge/analogix,anx7625.yaml  |   95 +
 drivers/gpu/drm/bridge/analogix/Kconfig            |    9 +
 drivers/gpu/drm/bridge/analogix/Makefile           |    1 +
 drivers/gpu/drm/bridge/analogix/anx7625.c          | 1939 ++++++++++++++++++++
 drivers/gpu/drm/bridge/analogix/anx7625.h          |  391 ++++
 5 files changed, 2435 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/display/bridge/analogix,anx7625.yaml
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.c
 create mode 100644 drivers/gpu/drm/bridge/analogix/anx7625.h
Signature · 6 lines
2.7.4

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel

_______________________________________________
dri-devel mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/dri-devel