dt-bindings: display: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge
Subsystems (4)
PATCH v4 1/2 dt-bindings: display: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Add DT binding which represents this serializer as a bridge.
To: [email protected]
---
V2: - Consistently use fsl,imx8mp-ldb as compatible
- Drop items: from compatible:
- Replace minItems with maxItems in clocks:
- Drop quotes from clock-names const: ldb
- Rename syscon to fsl,syscon
- Use generic name of ldb-lvds in example
V3: - Add AB from Sam
- Consistently use MX8MP
V4: - Rename to fsl-ldb all over the place
- Put the LDB node under media block controller in the example
--- .../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +92 -0
@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP DPI to LVDS bridge chip + +maintainers: + - Marek Vasut <[email protected]> + +description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT. + +properties: + compatible: + const: fsl,imx8mp-ldb + + clocks: + maxItems: 1 + + clock-names: + const: ldb + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for DPI input. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for LVDS Channel-A output (panel or bridge). + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for LVDS Channel-B output (panel or bridge). + + required: + - port@0 + - port@1 + +required: + - compatible + - clocks + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/imx8mp-clock.h> + + blk-ctrl { + bridge { + compatible = "fsl,imx8mp-ldb"; + clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; + clock-names = "ldb"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ldb_from_lcdif2: endpoint { + remote-endpoint = <&lcdif2_to_ldb>; + }; + }; + + port@1 { + reg = <1>; + + ldb_lvds_ch0: endpoint { + remote-endpoint = <&ldb_to_lvdsx4panel>; + }; + }; + + port@2 { + reg = <2>; + + ldb_lvds_ch1: endpoint { + }; + }; + }; + }; + };
Signature · 1 line
2.35.1
PATCH v4 2/2 drm: bridge: ldb: Implement simple Freescale i.MX8MP LDB bridge
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Implement a simple bridge driver for this serializer.
To: [email protected]
--
V2: - Rename syscon to fsl,syscon
V3: - Consistently use MX8MP
- Add sentinel of_device_table
- Add RB from Sam
V4: - Fix MODULE_DESCRIPTION to also use MX8MP
- Rename to fsl-ldb altogether
--- drivers/gpu/drm/bridge/Kconfig | 8 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/fsl-ldb.c | 342 +++++++++++++++++++++++++++++++ 3 files changed, 351 insertions(+) create mode 100644 drivers/gpu/drm/bridge/fsl-ldb.c
drivers/gpu/drm/bridge/Kconfig +8 -0
@@ -75,6 +75,14 @@ config DRM_DISPLAY_CONNECTOR on ARM-based platforms. Saying Y here when this driver is not needed will not cause any issue. +config DRM_FSL_LDB + tristate "Freescale i.MX8MP LDB bridge" + depends on OF + select DRM_KMS_HELPER + select DRM_PANEL_BRIDGE + help + Support for i.MX8MP DPI-to-LVDS on-SoC encoder. + config DRM_ITE_IT6505 tristate "ITE IT6505 DisplayPort bridge" depends on OF
drivers/gpu/drm/bridge/Makefile +1 -0
@@ -4,6 +4,7 @@ obj-$(CONFIG_DRM_CHIPONE_ICN6211) += chipone-icn6211.o obj-$(CONFIG_DRM_CHRONTEL_CH7033) += chrontel-ch7033.o obj-$(CONFIG_DRM_CROS_EC_ANX7688) += cros-ec-anx7688.o obj-$(CONFIG_DRM_DISPLAY_CONNECTOR) += display-connector.o +obj-$(CONFIG_DRM_FSL_LDB) += fsl-ldb.o obj-$(CONFIG_DRM_ITE_IT6505) += ite-it6505.o obj-$(CONFIG_DRM_LONTIUM_LT8912B) += lontium-lt8912b.o obj-$(CONFIG_DRM_LONTIUM_LT9211) += lontium-lt9211.o
drivers/gpu/drm/bridge/fsl-ldb.c new file +342 -0
342 lines not on this page · raw message
Signature · 1 line
2.35.1
Robert Foss
AppliedQuoted 123 lines · Marek Vasut
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Add DT binding which represents this serializer as a bridge.
Acked-by Sam Ravnborg <[email protected]>Signed-off-by Marek Vasut <[email protected]>Cc Laurent Pinchart <[email protected]>Cc Lucas Stach <[email protected]>Cc Maxime Ripard <[email protected]>Cc Peng Fan <[email protected]>Cc Rob Herring <[email protected]>Cc Robby Cai <[email protected]>Cc Robert Foss <[email protected]>Cc Sam Ravnborg <[email protected]>Cc Thomas Zimmermann <[email protected]>To: [email protected]
---
V2: - Consistently use fsl,imx8mp-ldb as compatible
- Drop items: from compatible:
- Replace minItems with maxItems in clocks:
- Drop quotes from clock-names const: ldb
- Rename syscon to fsl,syscon
- Use generic name of ldb-lvds in example
V3: - Add AB from Sam
- Consistently use MX8MP
V4: - Rename to fsl-ldb all over the place
- Put the LDB node under media block controller in the example--- .../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/fsl,ldb.yamlDocumentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +83
-0@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP DPI to LVDS bridge chip + +maintainers: + - Marek Vasut <[email protected]> + +description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT. + +properties: + compatible: + const: fsl,imx8mp-ldb + + clocks: + maxItems: 1 + + clock-names: + const: ldb + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for DPI input. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for LVDS Channel-A output (panel or bridge). + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for LVDS Channel-B output (panel or bridge). + + required: + - port@0 + - port@1 + +required: + - compatible + - clocks + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/imx8mp-clock.h> + + blk-ctrl { + bridge { + compatible = "fsl,imx8mp-ldb"; + clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; + clock-names = "ldb"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ldb_from_lcdif2: endpoint { + remote-endpoint = <&lcdif2_to_ldb>; + }; + }; + + port@1 { + reg = <1>; + + ldb_lvds_ch0: endpoint { + remote-endpoint = <&ldb_to_lvdsx4panel>; + }; + }; +
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +9
-1+ port@2 { + reg = <2>; + + ldb_lvds_ch1: endpoint { + }; + }; + }; + }; + }; --
Applied series to drm-misc-next.
Quoted 128 lines · Robert Foss
Quoted 127 lines · Marek Vasut
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Add DT binding which represents this serializer as a bridge.
Acked-by Sam Ravnborg <[email protected]>Signed-off-by Marek Vasut <[email protected]>Cc Laurent Pinchart <[email protected]>Cc Lucas Stach <[email protected]>Cc Maxime Ripard <[email protected]>Cc Peng Fan <[email protected]>Cc Rob Herring <[email protected]>Cc Robby Cai <[email protected]>Cc Robert Foss <[email protected]>Cc Sam Ravnborg <[email protected]>Cc Thomas Zimmermann <[email protected]>To: [email protected]
---
V2: - Consistently use fsl,imx8mp-ldb as compatible
- Drop items: from compatible:
- Replace minItems with maxItems in clocks:
- Drop quotes from clock-names const: ldb
- Rename syscon to fsl,syscon
- Use generic name of ldb-lvds in example
V3: - Add AB from Sam
- Consistently use MX8MP
V4: - Rename to fsl-ldb all over the place
- Put the LDB node under media block controller in the example--- .../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+)create mode 100644
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yamlDocumentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +87
-0@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP DPI to LVDS bridge chip + +maintainers: + - Marek Vasut <[email protected]> + +description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT. + +properties: + compatible: + const: fsl,imx8mp-ldb + + clocks: + maxItems: 1 + + clock-names: + const: ldb + + ports: + $ref: /schemas/graph.yaml#/properties/ports + + properties: + port@0: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for DPI input. + + port@1: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for LVDS Channel-A output (panel or bridge). + + port@2: + $ref: /schemas/graph.yaml#/properties/port + description: Video port for LVDS Channel-B output (panel or bridge). + + required: + - port@0 + - port@1 + +required: + - compatible + - clocks + - ports + +additionalProperties: false + +examples: + - | + #include <dt-bindings/clock/imx8mp-clock.h> + + blk-ctrl { + bridge { + compatible = "fsl,imx8mp-ldb"; + clocks = <&clk IMX8MP_CLK_MEDIA_LDB>; + clock-names = "ldb"; + + ports { + #address-cells = <1>; + #size-cells = <0>; + + port@0 { + reg = <0>; + + ldb_from_lcdif2: endpoint { + remote-endpoint = <&lcdif2_to_ldb>; + }; + }; + + port@1 { + reg = <1>; + + ldb_lvds_ch0: endpoint { + remote-endpoint = <&ldb_to_lvdsx4panel>; + }; + }; + + port@2 { + reg = <2>; + + ldb_lvds_ch1: endpoint {
Quoted 8 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
Quoted 6 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +5
-1+ }; + }; + }; + }; + }; --Applied series to drm-misc-next.
You probably wanted an AB/RB from Lucas on this, maybe a fixup patch will be needed.
Rob Herring
maintainerQuoted 28 lines · Marek Vasut
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Add DT binding which represents this serializer as a bridge.
Acked-by Sam Ravnborg <[email protected]>Signed-off-by Marek Vasut <[email protected]>Cc Laurent Pinchart <[email protected]>Cc Lucas Stach <[email protected]>Cc Maxime Ripard <[email protected]>Cc Peng Fan <[email protected]>Cc Rob Herring <[email protected]>Cc Robby Cai <[email protected]>Cc Robert Foss <[email protected]>Cc Sam Ravnborg <[email protected]>Cc Thomas Zimmermann <[email protected]>To: [email protected]
---
V2: - Consistently use fsl,imx8mp-ldb as compatible
- Drop items: from compatible:
- Replace minItems with maxItems in clocks:
- Drop quotes from clock-names const: ldb
- Rename syscon to fsl,syscon
- Use generic name of ldb-lvds in example
V3: - Add AB from Sam
- Consistently use MX8MP
V4: - Rename to fsl-ldb all over the place
- Put the LDB node under media block controller in the example
Quoted 4 lines
--- .../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
A little quick on the applying...
Quoted 12 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +5
-0@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml line 15
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +10
-0+ +title: Freescale i.MX8MP DPI to LVDS bridge chip + +maintainers: + - Marek Vasut <[email protected]> + +description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT.
This is a subblock of the mediamix? Please add 'reg' for the 2 registers even if you use a regmap.
I didn't find a binding for mediamix. You really need the containing block binding before a child node.
Rob
Quoted 35 lines · Rob Herring
Quoted 28 lines · Marek Vasut
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Add DT binding which represents this serializer as a bridge.
Acked-by Sam Ravnborg <[email protected]>Signed-off-by Marek Vasut <[email protected]>Cc Laurent Pinchart <[email protected]>Cc Lucas Stach <[email protected]>Cc Maxime Ripard <[email protected]>Cc Peng Fan <[email protected]>Cc Rob Herring <[email protected]>Cc Robby Cai <[email protected]>Cc Robert Foss <[email protected]>Cc Sam Ravnborg <[email protected]>Cc Thomas Zimmermann <[email protected]>To: [email protected]
---
V2: - Consistently use fsl,imx8mp-ldb as compatible
- Drop items: from compatible:
- Replace minItems with maxItems in clocks:
- Drop quotes from clock-names const: ldb
- Rename syscon to fsl,syscon
- Use generic name of ldb-lvds in example
V3: - Add AB from Sam
- Consistently use MX8MP
V4: - Rename to fsl-ldb all over the place
- Put the LDB node under media block controller in the exampleQuoted 4 lines
--- .../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
Quoted 1 line
A little quick on the applying...
Darnit, you're right.
Marek: Can you supply a new patch with all of the relevant changes?
Quoted 31 lines
Quoted 13 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +5
-0@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml line 15
Quoted 10 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +10
-0+ +title: Freescale i.MX8MP DPI to LVDS bridge chip + +maintainers: + - Marek Vasut <[email protected]> + +description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT.This is a subblock of the mediamix? Please add 'reg' for the 2 registers even if you use a regmap.
I didn't find a binding for mediamix. You really need the containing block binding before a child node.
Rob
Quoted 36 lines · Robert Foss
Quoted 35 lines · Rob Herring
Quoted 32 lines · Marek Vasut
The i.MX8MP contains two syscon registers which are responsible for configuring the on-SoC DPI-to-LVDS serializer. Add DT binding which represents this serializer as a bridge.
Acked-by Sam Ravnborg <[email protected]>Signed-off-by Marek Vasut <[email protected]>Cc Laurent Pinchart <[email protected]>Cc Lucas Stach <[email protected]>Cc Maxime Ripard <[email protected]>Cc Peng Fan <[email protected]>Cc Rob Herring <[email protected]>Cc Robby Cai <[email protected]>Cc Robert Foss <[email protected]>Cc Sam Ravnborg <[email protected]>Cc Thomas Zimmermann <[email protected]>To: [email protected]
---
V2: - Consistently use fsl,imx8mp-ldb as compatible
- Drop items: from compatible:
- Replace minItems with maxItems in clocks:
- Drop quotes from clock-names const: ldb
- Rename syscon to fsl,syscon
- Use generic name of ldb-lvds in example
V3: - Add AB from Sam
- Consistently use MX8MP
V4: - Rename to fsl-ldb all over the place
- Put the LDB node under media block controller in the example--- .../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+)create mode 100644
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml
Quoted 5 lines
Quoted 1 line
A little quick on the applying...
Darnit, you're right.
Marek: Can you supply a new patch with all of the relevant changes?
Sure, it's coming today-ish or so.
On 5/3/22 02:31, Rob Herring wrote:
Hi,
[...]
Quoted 5 lines
Quoted 3 lines
.../bindings/display/bridge/fsl,ldb.yaml | 92 +++++++++++++++++++ 1 file changed, 92 insertions(+)create mode 100644
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yamlA little quick on the applying...
Right
Quoted 16 lines
Quoted 16 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +10
-0@@ -0,0 +1,92 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/bridge/fsl,ldb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Freescale i.MX8MP DPI to LVDS bridge chip + +maintainers: + - Marek Vasut <[email protected]>
Quoted 8 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml line 15
Quoted 5 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +5
-0+ +description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT.This is a subblock of the mediamix? Please add 'reg' for the 2 registers even if you use a regmap.
I submitted a patch:
[PATCH] dt-bindings: display: bridge: ldb: Fill in reg property
Quoted 2 lines
I didn't find a binding for mediamix. You really need the containing block binding before a child node.
Right, I'm tempted to send a revert outright and wait for the mediamix bindings to hit upstream.
Quoted 10 lines
Quoted 7 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml line 15
Quoted 4 lines
Documentation/devicetree/bindings/display/bridge/fsl,ldb.yaml new file +4
-0+description: | + The i.MX8MP mediamix contains two registers which are responsible + for configuring the on-SoC DPI-to-LVDS serializer. This describes + those registers as bridge within the DT.This is a subblock of the mediamix? Please add 'reg' for the 2 registers even if you use a regmap.
I submitted a patch:
[PATCH] dt-bindings: display: bridge: ldb: Fill in reg property
Would you like me to apply this, or do you want to revert all of the above?
Quoted 6 lines
Quoted 3 lines
I didn't find a binding for mediamix. You really need the containing block binding before a child node.
Right, I'm tempted to send a revert outright and wait for the mediamix bindings to hit upstream.