Am Dienstag, 6. Juni 2023, 20:41:17 CEST schrieb Shengyu Qu:
Hi Conor,
Hey Keith,
On Fri, Jun 02, 2023 at 03:40:35PM +0800, Keith Zhao wrote:
Add bindings for JH7110 display subsystem which has a display controller verisilicon dc8200 and an HDMI interface.
Signed-off-by: Keith Zhao keith.zhao@starfivetech.com
.../display/verisilicon/starfive-hdmi.yaml | 93 +++++++++++++++ .../display/verisilicon/verisilicon-dc.yaml | 110 ++++++++++++++++++ .../display/verisilicon/verisilicon-drm.yaml | 42 +++++++ .../devicetree/bindings/vendor-prefixes.yaml | 2 + MAINTAINERS | 7 ++ 5 files changed, 254 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/verisilicon/starfive-hdmi.yaml create mode 100644 Documentation/devicetree/bindings/display/verisilicon/verisilicon-dc.yaml create mode 100644 Documentation/devicetree/bindings/display/verisilicon/verisilicon-drm.yaml
diff --git a/Documentation/devicetree/bindings/display/verisilicon/starfive-hdmi.yaml b/Documentation/devicetree/bindings/display/verisilicon/starfive-hdmi.yaml new file mode 100644 index 000000000000..c30b7954a355 --- /dev/null +++ b/Documentation/devicetree/bindings/display/verisilicon/starfive-hdmi.yaml @@ -0,0 +1,93 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/verisilicon/starfive-hdmi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: StarFive HDMI transmiter
+description:
- The StarFive SoC uses the HDMI signal transmiter based on innosilicon IP
Is innosilicon the same thing as verisilicon? Also s/transmiter/transmitter/, both here and in the title.
I think that is not the same, I remember Rockchip has used a HDMI transmitter from
Innosilicon, and there is a existing driver for that in mainline.
Yep, I think Innosilicon is the company you turn to when you want to save a bit of money ;-) . In the bigger SoCs Rockchip most of the time uses Designware hdmi blocks and looking at the history only the rk3036 ever used an Innosilicon block.
Looking at the history, 2016 really was a long time ago :-D.
So Keith, if that's true, I think it is better to seperate the HDMI stuff and reuse existing driver.
I'm not so sure about that - at least from a cursory glance :-) .
The registers do look slightly different and I don't know how much the IP changed between the rk3036-version and the jh7110 version.
At the very least, I know my rk3036 board isn't booting right now, so I can't really provide help for generalizing the rockchip-driver.
At the very least both the binding and driver could drop the "starfive-hdmi" and actually use the Innosilicon in the naming somewhere, so that it's clear for future developers :-)
Heiko
- to generate HDMI signal from its input and transmit the signal to the screen.
+maintainers:
- Keith Zhao keith.zhao@starfivetech.com
- ShengYang Chen shengyang.chen@starfivetech.com
+properties:
- compatible:
- const: starfive,hdmi
Is this going to work on every SoC that StarFive has ever & will ever make? Please use soc-based compatibles ;)
- reg:
- minItems: 1
- interrupts:
- items:
- description: The HDMI hot plug detection interrupt.
- clocks:
- items:
- description: System clock of HDMI module.
- description: Mclk clock of HDMI audio.
- description: Bclk clock of HDMI audio.
- description: Pixel clock generated by HDMI module.
- clock-names:
- items:
- const: sysclk
- const: mclk
- const: bclk
- const: pclk
- resets:
- items:
- description: Reset for HDMI module.
- reset-names:
- items:
- const: hdmi_tx
You only have one item here, you don't need the "items: - const:", "const:" alone will do.
diff --git a/Documentation/devicetree/bindings/display/verisilicon/verisilicon-dc.yaml b/Documentation/devicetree/bindings/display/verisilicon/verisilicon-dc.yaml new file mode 100644 index 000000000000..1322502c4cde --- /dev/null +++ b/Documentation/devicetree/bindings/display/verisilicon/verisilicon-dc.yaml @@ -0,0 +1,110 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/verisilicon/verisilicon-dc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: StarFive display controller
+description:
- The StarFive SoC uses the display controller based on Verisilicon IP
- to transfer the image data from a video memory
- buffer to an external LCD interface.
Is it based on Verisilicon IP, or is it exactly that verisilicon IP? I ask because...
+maintainers:
- Keith Zhao keith.zhao@starfivetech.com
- ShengYang Chen shengyang.chen@starfivetech.com
+properties:
- compatible:
- const: verisilicon,dc8200
...the compatible is the verisilicon IP. I would be a lot happier if the compatibles were set yp for something like: "starfive,jh7110-foo", "verisilicon,dc8200"
diff --git a/Documentation/devicetree/bindings/display/verisilicon/verisilicon-drm.yaml b/Documentation/devicetree/bindings/display/verisilicon/verisilicon-drm.yaml new file mode 100644 index 000000000000..aed8d4af2c55 --- /dev/null +++ b/Documentation/devicetree/bindings/display/verisilicon/verisilicon-drm.yaml @@ -0,0 +1,42 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/display/verisilicon/verisilicon-drm.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml#
+title: Verisilicon DRM master device
+maintainers:
- Keith Zhao keith.zhao@starfivetech.com
- ShengYang Chen shengyang.chen@starfivetech.com
+description: |
- The Verisilicon DRM master device is a virtual device needed to list all
- display controller or other display interface nodes that comprise the
- graphics subsystem.
+properties:
- compatible:
- const: verisilicon,display-subsystem
Same here.
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml index 82d39ab0231b..52c04fd098be 100644 --- a/Documentation/devicetree/bindings/vendor-prefixes.yaml +++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml @@ -1436,6 +1436,8 @@ patternProperties: description: Variscite Ltd. "^vdl,.*": description: Van der Laan b.v.
- "^verisilicon,.*":
- description: Verisilicon Technologies, Inc.
This should be in it's own patch.
Cheers, Conor.
"^vertexcom,.*": description: Vertexcom Technologies, Inc. "^via,.*":
diff --git a/MAINTAINERS b/MAINTAINERS index 2a0496448b7f..293aa13d484c 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7049,6 +7049,13 @@ F: Documentation/devicetree/bindings/display/brcm,bcm2835-*.yaml F: drivers/gpu/drm/vc4/ F: include/uapi/drm/vc4_drm.h +DRM DRIVERS FOR VERISILICON +M: Keith Zhao keith.zhao@starfivetech.com +L: dri-devel@lists.freedesktop.org +S: Maintained +T: git git://anongit.freedesktop.org/drm/drm-misc +F: Documentation/devicetree/bindings/display/verisilicon/
- DRM DRIVERS FOR VIVANTE GPU IP M: Lucas Stach l.stach@pengutronix.de R: Russell King linux+etnaviv@armlinux.org.uk
-- 2.34.1