Thread (20 messages) 20 messages, 2 authors, 2019-10-25

Re: [PATCH v10 5/6] arm64: dts: allwinner: a64: Add MIPI DSI pipeline

From: Maxime Ripard <mripard@kernel.org>
Date: 2019-10-17 09:52:31
Also in: dri-devel, lkml

On Wed, Oct 16, 2019 at 02:19:44PM +0530, Jagan Teki wrote:
On Wed, Oct 16, 2019 at 1:33 PM Maxime Ripard [off-list ref] wrote:
quoted
On Mon, Oct 14, 2019 at 05:37:50PM +0530, Jagan Teki wrote:
quoted
On Mon, Oct 7, 2019 at 4:27 PM Maxime Ripard [off-list ref] wrote:
quoted
On Sat, Oct 05, 2019 at 07:49:12PM +0530, Jagan Teki wrote:
quoted
Add MIPI DSI pipeline for Allwinner A64.

- dsi node, with A64 compatible since it doesn't support
  DSI_SCLK gating unlike A33
- dphy node, with A64 compatible with A33 fallback since
  DPHY on A64 and A33 is similar
- finally, attach the dsi_in to tcon0 for complete MIPI DSI

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Tested-by: Merlijn Wajer <redacted>
---
 arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi | 38 +++++++++++++++++++
 1 file changed, 38 insertions(+)
diff --git a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
index 69128a6dfc46..ad4170b8aee0 100644
--- a/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
+++ b/arch/arm64/boot/dts/allwinner/sun50i-a64.dtsi
@@ -382,6 +382,12 @@
                                      #address-cells = <1>;
                                      #size-cells = <0>;
                                      reg = <1>;
+
+                                     tcon0_out_dsi: endpoint@1 {
+                                             reg = <1>;
+                                             remote-endpoint = <&dsi_in_tcon0>;
+                                             allwinner,tcon-channel = <1>;
+                                     };
                              };
                      };
              };
@@ -1003,6 +1009,38 @@
                      status = "disabled";
              };

+             dsi: dsi@1ca0000 {
+                     compatible = "allwinner,sun50i-a64-mipi-dsi";
+                     reg = <0x01ca0000 0x1000>;
+                     interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
+                     clocks = <&ccu CLK_BUS_MIPI_DSI>;
+                     clock-names = "bus";
This won't validate with the bindings you have either here, since it
still expects bus and mod.

I guess in that cas, we can just drop clock-names, which will require
a bit of work on the driver side as well.
Okay.
mod clock is not required for a64, ie reason we have has_mod_clk quirk
patch. Adjust the clock-names: on dt-bindings would make sense here,
what do you think?
I'm confused, what are you suggesting?
Sorry for the confusion.

The mod clock is not required for A64 and we have a patch for handling
mod clock using has_mod_clk quirk(on the series), indeed the mod clock
is available in A31 and not needed for A64. So, to satisfy this
requirement the clock-names on dt-bindings can update to make mod
clock-name is optional and bus clock is required.
No, the bus clock name is not needed if there's only one clock.
I'm not exactly sure, this is correct but trying to understand if it
is possible or not? something like

   clocks:
      minItems: 1
      maxItems: 2
     items:
       - description: Bus Clock
       - description: Module Clock
That's correct.
   clock-names:
      minItems: 1
      maxItems: 2
     items:
       - const: bus
       - const: mod
Here, just keep the current clock-names definition, and make it
required only for SoCs that are not the A64

Maxime
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help