* [PATCH RESEND 01/22] dt-bindings: iommu: sun50i: remove resets from required property
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 17:42 ` Conor Dooley
2024-12-27 13:00 ` [PATCH RESEND 02/22] dt-bindings: display: sunxi: Add a100/a133 display engine compatibles Parthiban Nallathambi
` (15 subsequent siblings)
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
iommu in a133/a100 does not have reset control. remove it
from required property to make it optional.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml | 1 -
1 file changed, 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml b/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
index a8409db4a3e3..03176f68485b 100644
--- a/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
+++ b/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
@@ -42,7 +42,6 @@ required:
- reg
- interrupts
- clocks
- - resets
additionalProperties: false
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 01/22] dt-bindings: iommu: sun50i: remove resets from required property
2024-12-27 13:00 ` [PATCH RESEND 01/22] dt-bindings: iommu: sun50i: remove resets from required property Parthiban Nallathambi
@ 2024-12-27 17:42 ` Conor Dooley
0 siblings, 0 replies; 27+ messages in thread
From: Conor Dooley @ 2024-12-27 17:42 UTC (permalink / raw)
To: Parthiban Nallathambi
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
[-- Attachment #1: Type: text/plain, Size: 1033 bytes --]
On Fri, Dec 27, 2024 at 06:30:50PM +0530, Parthiban Nallathambi wrote:
> iommu in a133/a100 does not have reset control. remove it
> from required property to make it optional.
Merge this with patch 2, making the reset required for the existing
devices and not permitted (false) for your new devices please.
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
> ---
> Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml b/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
> index a8409db4a3e3..03176f68485b 100644
> --- a/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
> +++ b/Documentation/devicetree/bindings/iommu/allwinner,sun50i-h6-iommu.yaml
> @@ -42,7 +42,6 @@ required:
> - reg
> - interrupts
> - clocks
> - - resets
>
> additionalProperties: false
>
>
> --
> 2.39.5
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH RESEND 02/22] dt-bindings: display: sunxi: Add a100/a133 display engine compatibles
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 01/22] dt-bindings: iommu: sun50i: remove resets from required property Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 03/22] dt-bindings: clock: sun8i de2 clock: Add PLL com clock Parthiban Nallathambi
` (14 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
A100/A133 comes with display enginer 2.0 with 1 x Mixer with write
back support and 1 tcon top. Mixer can be used with lcd/lvds/dsi,
but shares the same GPIO bank.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
.../display/allwinner,sun4i-a10-display-engine.yaml | 2 ++
.../display/allwinner,sun8i-a83t-de2-mixer.yaml | 1 +
.../bindings/display/allwinner,sun8i-r40-tcon-top.yaml | 17 +++++++++++++++++
3 files changed, 20 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-engine.yaml b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-engine.yaml
index e6088f379f70..dc47c684fcb0 100644
--- a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-engine.yaml
+++ b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-display-engine.yaml
@@ -64,6 +64,7 @@ properties:
- allwinner,sun9i-a80-display-engine
- allwinner,sun20i-d1-display-engine
- allwinner,sun50i-a64-display-engine
+ - allwinner,sun50i-a100-display-engine
- allwinner,sun50i-h6-display-engine
allwinner,pipelines:
@@ -96,6 +97,7 @@ if:
- allwinner,sun9i-a80-display-engine
- allwinner,sun20i-d1-display-engine
- allwinner,sun50i-a64-display-engine
+ - allwinner,sun50i-a100-display-engine
then:
properties:
diff --git a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml
index b75c1ec686ad..ebcddca2efb3 100644
--- a/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml
+++ b/Documentation/devicetree/bindings/display/allwinner,sun8i-a83t-de2-mixer.yaml
@@ -23,6 +23,7 @@ properties:
- allwinner,sun20i-d1-de2-mixer-1
- allwinner,sun50i-a64-de2-mixer-0
- allwinner,sun50i-a64-de2-mixer-1
+ - allwinner,sun50i-a100-de2-mixer-0
- allwinner,sun50i-h6-de3-mixer-0
reg:
diff --git a/Documentation/devicetree/bindings/display/allwinner,sun8i-r40-tcon-top.yaml b/Documentation/devicetree/bindings/display/allwinner,sun8i-r40-tcon-top.yaml
index 7d849c4095a3..9b14b7fb2d2f 100644
--- a/Documentation/devicetree/bindings/display/allwinner,sun8i-r40-tcon-top.yaml
+++ b/Documentation/devicetree/bindings/display/allwinner,sun8i-r40-tcon-top.yaml
@@ -42,6 +42,7 @@ properties:
enum:
- allwinner,sun8i-r40-tcon-top
- allwinner,sun20i-d1-tcon-top
+ - allwinner,sun50i-a100-tcon-top
- allwinner,sun50i-h6-tcon-top
reg:
@@ -179,6 +180,22 @@ allOf:
- description: TCON TV0 output clock name
- description: DSI output clock name
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: allwinner,sun50i-a100-tcon-top
+
+ then:
+ properties:
+ clocks:
+ items:
+ - description: The TCON TOP interface clock
+
+ clock-names:
+ items:
+ - const: bus
+
- if:
properties:
compatible:
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 03/22] dt-bindings: clock: sun8i de2 clock: Add PLL com clock
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 01/22] dt-bindings: iommu: sun50i: remove resets from required property Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 02/22] dt-bindings: display: sunxi: Add a100/a133 display engine compatibles Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 17:43 ` Conor Dooley
2024-12-27 13:00 ` [PATCH RESEND 04/22] dt-bindings: clock: sun8i de2 clock: Add a100/a133 compatible Parthiban Nallathambi
` (13 subsequent siblings)
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
Some platforms like A100/A133 also uses pll-com clock as additional
clock source for the display clock. This is not documents both in
user manual and DE 2.0 specification. These changes are mainly from
vendor BSP.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
.../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
index 70369bd633e4..3e00905b66ca 100644
--- a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
+++ b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
@@ -39,11 +39,13 @@ properties:
items:
- description: Bus Clock
- description: Module Clock
+ - description: PLL common clock
clock-names:
items:
- const: bus
- const: mod
+ - const: pll-com
resets:
maxItems: 1
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 03/22] dt-bindings: clock: sun8i de2 clock: Add PLL com clock
2024-12-27 13:00 ` [PATCH RESEND 03/22] dt-bindings: clock: sun8i de2 clock: Add PLL com clock Parthiban Nallathambi
@ 2024-12-27 17:43 ` Conor Dooley
0 siblings, 0 replies; 27+ messages in thread
From: Conor Dooley @ 2024-12-27 17:43 UTC (permalink / raw)
To: Parthiban Nallathambi
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
[-- Attachment #1: Type: text/plain, Size: 1441 bytes --]
On Fri, Dec 27, 2024 at 06:30:52PM +0530, Parthiban Nallathambi wrote:
> Some platforms like A100/A133 also uses pll-com clock as additional
> clock source for the display clock. This is not documents both in
> user manual and DE 2.0 specification. These changes are mainly from
> vendor BSP.
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Ditto here, the new clocks are only in the new IP you're adding so this
patch needs to get merged. When you merge them, make 2 clocks all that's
allowed for the existing devices and 3 clocks for your new one only
please.
> ---
> .../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
> index 70369bd633e4..3e00905b66ca 100644
> --- a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
> +++ b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
> @@ -39,11 +39,13 @@ properties:
> items:
> - description: Bus Clock
> - description: Module Clock
> + - description: PLL common clock
>
> clock-names:
> items:
> - const: bus
> - const: mod
> + - const: pll-com
>
> resets:
> maxItems: 1
>
> --
> 2.39.5
>
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH RESEND 04/22] dt-bindings: clock: sun8i de2 clock: Add a100/a133 compatible
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (2 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 03/22] dt-bindings: clock: sun8i de2 clock: Add PLL com clock Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-30 14:07 ` Andre Przywara
2024-12-27 13:00 ` [PATCH RESEND 05/22] dt-bindings: display: sun4i: add phy property Parthiban Nallathambi
` (12 subsequent siblings)
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
A100/A133 uses one mixer without rotation support, which is same
as sun8i v3s. Add it with fallback to v3s compatible.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
.../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
index 3e00905b66ca..ed038967929b 100644
--- a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
+++ b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
@@ -23,6 +23,7 @@ properties:
- const: allwinner,sun8i-h3-de2-clk
- const: allwinner,sun8i-v3s-de2-clk
- const: allwinner,sun50i-a64-de2-clk
+ - const: allwinner,sun50i-a100-de2-clk
- const: allwinner,sun50i-h5-de2-clk
- const: allwinner,sun50i-h6-de3-clk
- items:
@@ -31,6 +32,9 @@ properties:
- items:
- const: allwinner,sun20i-d1-de2-clk
- const: allwinner,sun50i-h5-de2-clk
+ - items:
+ - const: allwinner,sun50i-a100-de2-clk
+ - const: allwinner,sun8i-v3s-de2-clk
reg:
maxItems: 1
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 04/22] dt-bindings: clock: sun8i de2 clock: Add a100/a133 compatible
2024-12-27 13:00 ` [PATCH RESEND 04/22] dt-bindings: clock: sun8i de2 clock: Add a100/a133 compatible Parthiban Nallathambi
@ 2024-12-30 14:07 ` Andre Przywara
0 siblings, 0 replies; 27+ messages in thread
From: Andre Przywara @ 2024-12-30 14:07 UTC (permalink / raw)
To: Parthiban Nallathambi
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
On Fri, 27 Dec 2024 18:30:53 +0530
Parthiban Nallathambi <parthiban@linumiz.com> wrote:
Hi,
> A100/A133 uses one mixer without rotation support, which is same
> as sun8i v3s. Add it with fallback to v3s compatible.
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
> ---
> .../devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
> index 3e00905b66ca..ed038967929b 100644
> --- a/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
> +++ b/Documentation/devicetree/bindings/clock/allwinner,sun8i-a83t-de2-clk.yaml
> @@ -23,6 +23,7 @@ properties:
> - const: allwinner,sun8i-h3-de2-clk
> - const: allwinner,sun8i-v3s-de2-clk
> - const: allwinner,sun50i-a64-de2-clk
> + - const: allwinner,sun50i-a100-de2-clk
> - const: allwinner,sun50i-h5-de2-clk
> - const: allwinner,sun50i-h6-de3-clk
> - items:
> @@ -31,6 +32,9 @@ properties:
> - items:
> - const: allwinner,sun20i-d1-de2-clk
> - const: allwinner,sun50i-h5-de2-clk
> + - items:
> + - const: allwinner,sun50i-a100-de2-clk
> + - const: allwinner,sun8i-v3s-de2-clk
Wait, does this add the same compatible string twice, once as a
standalone, once with a fallback? This doesn't look right.
If you positively know already about an incompatibility, just provide the
single string. If you suspect there *might* be something, use the fallback
version for now, and we can revisit that later.
Also please note that the semantics of the fallback is:
"Any driver supporting only the V3s can also support the A100 version of
the clock, as the new device is either fully compatible or a subset of the
old one."
So what would it be then here? The driver patch [16/22] suggests it's
compatible, but that might just cover the part that the Linux driver
implements? If it is compatible, you wouldn't need any change to the
driver code at all, the DT core code takes care of matching the driver
using the fallback.
Cheers,
Andre
>
> reg:
> maxItems: 1
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH RESEND 05/22] dt-bindings: display: sun4i: add phy property
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (3 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 04/22] dt-bindings: clock: sun8i de2 clock: Add a100/a133 compatible Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 06/22] dt-bindings: display: sun4i: add a100/a133 tcon lcd Parthiban Nallathambi
` (11 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
lvds in A100/A133 platform uses phy from DSI block, which needs
to be handled in phy driver. Add phy property to tcon with
generic name 'phy'.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
.../devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
index 724d93b9193b..6d8ae781c230 100644
--- a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
+++ b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
@@ -115,6 +115,12 @@ properties:
- const: edp
- const: lvds
+ phys:
+ maxItems: 1
+
+ phy-names:
+ const: phy
+
ports:
$ref: /schemas/graph.yaml#/properties/ports
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 06/22] dt-bindings: display: sun4i: add a100/a133 tcon lcd
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (4 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 05/22] dt-bindings: display: sun4i: add phy property Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 07/22] dt-bindings: vendor-prefixes: Shenzhen Baijie Technology Parthiban Nallathambi
` (10 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
A100/A133 has one 18 bit LCD / 2 x LVDS / 1 x DSI. All the controller
shares the same GPIO D block, where LVDS controller can co-exits.
Although 2 LVDS controller is available, there is no document details
for the second. Add compatible for a100 lcd controller.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
index 6d8ae781c230..7ea45a0a2073 100644
--- a/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
+++ b/Documentation/devicetree/bindings/display/allwinner,sun4i-a10-tcon.yaml
@@ -35,6 +35,7 @@ properties:
- const: allwinner,sun9i-a80-tcon-tv
- const: allwinner,sun20i-d1-tcon-lcd
- const: allwinner,sun20i-d1-tcon-tv
+ - const: allwinner,sun50i-a100-tcon-lcd
- items:
- enum:
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 07/22] dt-bindings: vendor-prefixes: Shenzhen Baijie Technology
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (5 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 06/22] dt-bindings: display: sun4i: add a100/a133 tcon lcd Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 08/22] dt-bindings: arm: sunxi: document Szbaijie A133 helper board Parthiban Nallathambi
` (9 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
Add entry for Shenzhen Baijie Technology (https://szbaijie.com)
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
Documentation/devicetree/bindings/vendor-prefixes.yaml | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Documentation/devicetree/bindings/vendor-prefixes.yaml b/Documentation/devicetree/bindings/vendor-prefixes.yaml
index da01616802c7..81cbc8b6b195 100644
--- a/Documentation/devicetree/bindings/vendor-prefixes.yaml
+++ b/Documentation/devicetree/bindings/vendor-prefixes.yaml
@@ -1466,6 +1466,8 @@ patternProperties:
"^synopsys,.*":
description: Synopsys, Inc. (deprecated, use snps)
deprecated: true
+ "^szbaijie,.*":
+ description: Shenzhen Baijie Technology Co., Ltd.
"^tbs,.*":
description: TBS Technologies
"^tbs-biometrics,.*":
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 08/22] dt-bindings: arm: sunxi: document Szbaijie A133 helper board
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (6 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 07/22] dt-bindings: vendor-prefixes: Shenzhen Baijie Technology Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2024-12-27 13:00 ` [PATCH RESEND 09/22] iommu: sun50i: make reset control optional Parthiban Nallathambi
` (8 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
Szbaijie Baijie Technology A133 helper board is an evaluation
board of their A133-Core SoM. Add its compatible (with the
SoM compatible) to the sunxi board DT binding file.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
Documentation/devicetree/bindings/arm/sunxi.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/arm/sunxi.yaml b/Documentation/devicetree/bindings/arm/sunxi.yaml
index 046536d02706..eb19f8b1fe68 100644
--- a/Documentation/devicetree/bindings/arm/sunxi.yaml
+++ b/Documentation/devicetree/bindings/arm/sunxi.yaml
@@ -891,6 +891,12 @@ properties:
- const: allwinner,sl631
- const: allwinner,sun8i-v3
+ - description: Szbaijie A133 Helper board
+ items:
+ - const: szbaijie,helper-a133
+ - const: szbaijie,helper-a133-core
+ - const: allwinner,sun50i-a133
+
- description: Tanix TX1
items:
- const: oranth,tanix-tx1
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 09/22] iommu: sun50i: make reset control optional
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (7 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 08/22] dt-bindings: arm: sunxi: document Szbaijie A133 helper board Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2025-01-06 8:30 ` Philipp Zabel
2024-12-27 13:00 ` [PATCH RESEND 10/22] pinctrl: sunxi: add missed lvds pins for a100/a133 Parthiban Nallathambi
` (7 subsequent siblings)
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
A133/A100 SoC doesn't have reset control from the CCU. Get reset
control line optionally.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/iommu/sun50i-iommu.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/iommu/sun50i-iommu.c b/drivers/iommu/sun50i-iommu.c
index 8d8f11854676..2ba804d682dc 100644
--- a/drivers/iommu/sun50i-iommu.c
+++ b/drivers/iommu/sun50i-iommu.c
@@ -1030,7 +1030,7 @@ static int sun50i_iommu_probe(struct platform_device *pdev)
goto err_free_cache;
}
- iommu->reset = devm_reset_control_get(&pdev->dev, NULL);
+ iommu->reset = devm_reset_control_get_optional(&pdev->dev, NULL);
if (IS_ERR(iommu->reset)) {
dev_err(&pdev->dev, "Couldn't get our reset line.\n");
ret = PTR_ERR(iommu->reset);
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 09/22] iommu: sun50i: make reset control optional
2024-12-27 13:00 ` [PATCH RESEND 09/22] iommu: sun50i: make reset control optional Parthiban Nallathambi
@ 2025-01-06 8:30 ` Philipp Zabel
0 siblings, 0 replies; 27+ messages in thread
From: Philipp Zabel @ 2025-01-06 8:30 UTC (permalink / raw)
To: Parthiban Nallathambi, Joerg Roedel, Will Deacon, Robin Murphy,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Linus Walleij, Vinod Koul, Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy
On Fr, 2024-12-27 at 18:30 +0530, Parthiban Nallathambi wrote:
> A133/A100 SoC doesn't have reset control from the CCU. Get reset
> control line optionally.
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
> ---
> drivers/iommu/sun50i-iommu.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/iommu/sun50i-iommu.c b/drivers/iommu/sun50i-iommu.c
> index 8d8f11854676..2ba804d682dc 100644
> --- a/drivers/iommu/sun50i-iommu.c
> +++ b/drivers/iommu/sun50i-iommu.c
> @@ -1030,7 +1030,7 @@ static int sun50i_iommu_probe(struct platform_device *pdev)
> goto err_free_cache;
> }
>
> - iommu->reset = devm_reset_control_get(&pdev->dev, NULL);
> + iommu->reset = devm_reset_control_get_optional(&pdev->dev, NULL);
> if (IS_ERR(iommu->reset)) {
> dev_err(&pdev->dev, "Couldn't get our reset line.\n");
> ret = PTR_ERR(iommu->reset);
With dt-bindings changed to require resets on those platforms that do,
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
regards
Philipp
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH RESEND 10/22] pinctrl: sunxi: add missed lvds pins for a100/a133
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (8 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 09/22] iommu: sun50i: make reset control optional Parthiban Nallathambi
@ 2024-12-27 13:00 ` Parthiban Nallathambi
2025-01-14 16:00 ` Andre Przywara
2024-12-27 13:01 ` [PATCH RESEND 11/22] drm/sun4i: Add support for a100/a133 display engine Parthiban Nallathambi
` (6 subsequent siblings)
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:00 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
lvds, lcd, dsi all shares the same GPIO D bank and lvds0
data 3 lines and lvds1 pins are missed, add them.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c
index df90c75fb3c5..b97de80ae2f3 100644
--- a/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c
+++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c
@@ -256,72 +256,84 @@ static const struct sunxi_desc_pin a100_pins[] = {
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D12 */
+ SUNXI_FUNCTION(0x3, "lvds0"), /* D3P */
SUNXI_FUNCTION(0x4, "dsi0"), /* DP3 */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 8)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 9),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D13 */
+ SUNXI_FUNCTION(0x3, "lvds0"), /* D3N */
SUNXI_FUNCTION(0x4, "dsi0"), /* DM3 */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 9)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 10),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D14 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D0P */
SUNXI_FUNCTION(0x4, "spi1"), /* CS */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 10)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 11),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D15 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D0N */
SUNXI_FUNCTION(0x4, "spi1"), /* CLK */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 11)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 12),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D18 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D1P */
SUNXI_FUNCTION(0x4, "spi1"), /* MOSI */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 12)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 13),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D19 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D1N */
SUNXI_FUNCTION(0x4, "spi1"), /* MISO */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 13)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 14),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D20 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D2P */
SUNXI_FUNCTION(0x4, "uart3"), /* TX */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 14)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 15),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D21 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D2N */
SUNXI_FUNCTION(0x4, "uart3"), /* RX */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 15)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 16),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D22 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* CKP */
SUNXI_FUNCTION(0x4, "uart3"), /* RTS */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 16)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 17),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* D23 */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* CKN */
SUNXI_FUNCTION(0x4, "uart3"), /* CTS */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 17)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 18),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* CLK */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D3P */
SUNXI_FUNCTION(0x4, "uart4"), /* TX */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 18)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 19),
SUNXI_FUNCTION(0x0, "gpio_in"),
SUNXI_FUNCTION(0x1, "gpio_out"),
SUNXI_FUNCTION(0x2, "lcd0"), /* DE */
+ SUNXI_FUNCTION(0x3, "lvds1"), /* D3N */
SUNXI_FUNCTION(0x4, "uart4"), /* RX */
SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 19)),
SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 20),
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 10/22] pinctrl: sunxi: add missed lvds pins for a100/a133
2024-12-27 13:00 ` [PATCH RESEND 10/22] pinctrl: sunxi: add missed lvds pins for a100/a133 Parthiban Nallathambi
@ 2025-01-14 16:00 ` Andre Przywara
2025-01-15 11:22 ` Linus Walleij
0 siblings, 1 reply; 27+ messages in thread
From: Andre Przywara @ 2025-01-14 16:00 UTC (permalink / raw)
To: Parthiban Nallathambi
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
On Fri, 27 Dec 2024 18:30:59 +0530
Parthiban Nallathambi <parthiban@linumiz.com> wrote:
Hi,
since LinusW wants to pull this already, I gave it a look, despite this
series being not complete.
> lvds, lcd, dsi all shares the same GPIO D bank and lvds0
> data 3 lines and lvds1 pins are missed, add them.
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
> ---
> drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c b/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c
> index df90c75fb3c5..b97de80ae2f3 100644
> --- a/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c
> +++ b/drivers/pinctrl/sunxi/pinctrl-sun50i-a100.c
> @@ -256,72 +256,84 @@ static const struct sunxi_desc_pin a100_pins[] = {
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D12 */
> + SUNXI_FUNCTION(0x3, "lvds0"), /* D3P */
I initially stumbled upon those first two pins being from lvds0, with the
other 8 pins missing for this interface, but then realised that those are
on portD, and we already describe them in this table (above). So those two
were missing all the time.
So having compared these lines to the A133 user manual, I can now say that
they are all correct:
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Linus, in contrast to what I originally thought, this patch *is* fine, so
feel free to keep it in your tree.
Sorry for the noise!
Cheers,
Andre
> SUNXI_FUNCTION(0x4, "dsi0"), /* DP3 */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 8)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 9),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D13 */
> + SUNXI_FUNCTION(0x3, "lvds0"), /* D3N */
> SUNXI_FUNCTION(0x4, "dsi0"), /* DM3 */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 9)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 10),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D14 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D0P */
> SUNXI_FUNCTION(0x4, "spi1"), /* CS */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 10)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 11),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D15 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D0N */
> SUNXI_FUNCTION(0x4, "spi1"), /* CLK */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 11)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 12),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D18 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D1P */
> SUNXI_FUNCTION(0x4, "spi1"), /* MOSI */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 12)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 13),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D19 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D1N */
> SUNXI_FUNCTION(0x4, "spi1"), /* MISO */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 13)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 14),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D20 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D2P */
> SUNXI_FUNCTION(0x4, "uart3"), /* TX */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 14)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 15),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D21 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D2N */
> SUNXI_FUNCTION(0x4, "uart3"), /* RX */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 15)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 16),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D22 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* CKP */
> SUNXI_FUNCTION(0x4, "uart3"), /* RTS */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 16)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 17),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* D23 */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* CKN */
> SUNXI_FUNCTION(0x4, "uart3"), /* CTS */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 17)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 18),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* CLK */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D3P */
> SUNXI_FUNCTION(0x4, "uart4"), /* TX */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 18)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 19),
> SUNXI_FUNCTION(0x0, "gpio_in"),
> SUNXI_FUNCTION(0x1, "gpio_out"),
> SUNXI_FUNCTION(0x2, "lcd0"), /* DE */
> + SUNXI_FUNCTION(0x3, "lvds1"), /* D3N */
> SUNXI_FUNCTION(0x4, "uart4"), /* RX */
> SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 19)),
> SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 20),
>
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 10/22] pinctrl: sunxi: add missed lvds pins for a100/a133
2025-01-14 16:00 ` Andre Przywara
@ 2025-01-15 11:22 ` Linus Walleij
0 siblings, 0 replies; 27+ messages in thread
From: Linus Walleij @ 2025-01-15 11:22 UTC (permalink / raw)
To: Andre Przywara
Cc: Parthiban Nallathambi, Joerg Roedel, Will Deacon, Robin Murphy,
Rob Herring, Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai,
Jernej Skrabec, Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Vinod Koul, Kishon Vijay Abraham I,
iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy
On Tue, Jan 14, 2025 at 5:00 PM Andre Przywara <andre.przywara@arm.com> wrote:
> Linus, in contrast to what I originally thought, this patch *is* fine, so
> feel free to keep it in your tree.
> Sorry for the noise!
Phew thanks Andre, I would have pulled it out otherwise so it's no
big deal, I'm just happy about active maintainers!
Yours,
Linus Walleij
^ permalink raw reply [flat|nested] 27+ messages in thread
* [PATCH RESEND 11/22] drm/sun4i: Add support for a100/a133 display engine
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (9 preceding siblings ...)
2024-12-27 13:00 ` [PATCH RESEND 10/22] pinctrl: sunxi: add missed lvds pins for a100/a133 Parthiban Nallathambi
@ 2024-12-27 13:01 ` Parthiban Nallathambi
2024-12-27 13:01 ` [PATCH RESEND 12/22] drm/sun4i: Add support for a100/a133 mixer Parthiban Nallathambi
` (5 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:01 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
Display Engine(DE2) in Allwinner A100/A133 has one mixers and tcon.
The routing for mixer0 is through tcon0 and connected to
LVDS/RGB/MIPI-DSI controller.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/gpu/drm/sun4i/sun4i_drv.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c
index 5eccf58f2e17..e012a6316bba 100644
--- a/drivers/gpu/drm/sun4i/sun4i_drv.c
+++ b/drivers/gpu/drm/sun4i/sun4i_drv.c
@@ -436,6 +436,7 @@ static const struct of_device_id sun4i_drv_of_table[] = {
{ .compatible = "allwinner,sun9i-a80-display-engine" },
{ .compatible = "allwinner,sun20i-d1-display-engine" },
{ .compatible = "allwinner,sun50i-a64-display-engine" },
+ { .compatible = "allwinner,sun50i-a100-display-engine" },
{ .compatible = "allwinner,sun50i-h6-display-engine" },
{ }
};
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 12/22] drm/sun4i: Add support for a100/a133 mixer
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (10 preceding siblings ...)
2024-12-27 13:01 ` [PATCH RESEND 11/22] drm/sun4i: Add support for a100/a133 display engine Parthiban Nallathambi
@ 2024-12-27 13:01 ` Parthiban Nallathambi
2024-12-27 13:01 ` [PATCH RESEND 13/22] drm/sun4i: make tcon top tv0 optional Parthiban Nallathambi
` (4 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:01 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
Mixers in Allwinner A100/A133 have similar capabilities as others
SoCs with DE2. Add support for them.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index 8b41d33baa30..0a1fccb87d5d 100644
--- a/drivers/gpu/drm/sun4i/sun8i_mixer.c
+++ b/drivers/gpu/drm/sun4i/sun8i_mixer.c
@@ -714,6 +714,15 @@ static const struct sun8i_mixer_cfg sun50i_a64_mixer1_cfg = {
.vi_num = 1,
};
+static const struct sun8i_mixer_cfg sun50i_a100_mixer0_cfg = {
+ .ccsc = CCSC_MIXER0_LAYOUT,
+ .mod_rate = 300000000,
+ .scaler_mask = 0xf,
+ .scanline_yuv = 2560,
+ .ui_num = 2,
+ .vi_num = 2,
+};
+
static const struct sun8i_mixer_cfg sun50i_h6_mixer0_cfg = {
.ccsc = CCSC_MIXER0_LAYOUT,
.is_de3 = true,
@@ -765,6 +774,10 @@ static const struct of_device_id sun8i_mixer_of_table[] = {
.compatible = "allwinner,sun50i-a64-de2-mixer-1",
.data = &sun50i_a64_mixer1_cfg,
},
+ {
+ .compatible = "allwinner,sun50i-a100-de2-mixer-0",
+ .data = &sun50i_a100_mixer0_cfg,
+ },
{
.compatible = "allwinner,sun50i-h6-de3-mixer-0",
.data = &sun50i_h6_mixer0_cfg,
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 13/22] drm/sun4i: make tcon top tv0 optional
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (11 preceding siblings ...)
2024-12-27 13:01 ` [PATCH RESEND 12/22] drm/sun4i: Add support for a100/a133 mixer Parthiban Nallathambi
@ 2024-12-27 13:01 ` Parthiban Nallathambi
2024-12-27 13:01 ` [PATCH RESEND 14/22] drm/sun4i: add a100/a133 tcon top quirks Parthiban Nallathambi
` (3 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:01 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
current implementation of tcon top assumes tv0 is always present, which
isn't case in A100/A133 SoC's. Make tv0 optional by introducing another
control similar to tv1 and make existing users with true/present.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 34 ++++++++++++++++++++--------------
1 file changed, 20 insertions(+), 14 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
index 8adda578c51b..bd9d0840ead7 100644
--- a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
+++ b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
@@ -16,6 +16,7 @@
#include "sun8i_tcon_top.h"
struct sun8i_tcon_top_quirks {
+ bool has_tcon_tv0;
bool has_tcon_tv1;
bool has_dsi;
};
@@ -191,10 +192,11 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master,
* to TVE clock parent.
*/
i = 0;
- clk_data->hws[CLK_TCON_TOP_TV0] =
- sun8i_tcon_top_register_gate(dev, "tcon-tv0", regs,
- &tcon_top->reg_lock,
- TCON_TOP_TCON_TV0_GATE, i++);
+ if (quirks->has_tcon_tv0)
+ clk_data->hws[CLK_TCON_TOP_TV0] =
+ sun8i_tcon_top_register_gate(dev, "tcon-tv0", regs,
+ &tcon_top->reg_lock,
+ TCON_TOP_TCON_TV0_GATE, i++);
if (quirks->has_tcon_tv1)
clk_data->hws[CLK_TCON_TOP_TV1] =
@@ -208,16 +210,18 @@ static int sun8i_tcon_top_bind(struct device *dev, struct device *master,
&tcon_top->reg_lock,
TCON_TOP_TCON_DSI_GATE, i++);
- for (i = 0; i < CLK_NUM; i++)
- if (IS_ERR(clk_data->hws[i])) {
- ret = PTR_ERR(clk_data->hws[i]);
- goto err_unregister_gates;
- }
+ if (i) {
+ for (i = 0; i < CLK_NUM; i++)
+ if (IS_ERR(clk_data->hws[i])) {
+ ret = PTR_ERR(clk_data->hws[i]);
+ goto err_unregister_gates;
+ }
- ret = of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get,
- clk_data);
- if (ret)
- goto err_unregister_gates;
+ ret = of_clk_add_hw_provider(dev->of_node, of_clk_hw_onecell_get,
+ clk_data);
+ if (ret)
+ goto err_unregister_gates;
+ }
dev_set_drvdata(dev, tcon_top);
@@ -266,16 +270,18 @@ static void sun8i_tcon_top_remove(struct platform_device *pdev)
}
static const struct sun8i_tcon_top_quirks sun8i_r40_tcon_top_quirks = {
+ .has_tcon_tv0 = true,
.has_tcon_tv1 = true,
.has_dsi = true,
};
static const struct sun8i_tcon_top_quirks sun20i_d1_tcon_top_quirks = {
+ .has_tcon_tv0 = true,
.has_dsi = true,
};
static const struct sun8i_tcon_top_quirks sun50i_h6_tcon_top_quirks = {
- /* Nothing special */
+ .has_tcon_tv0 = true,
};
/* sun4i_drv uses this list to check if a device node is a TCON TOP */
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 14/22] drm/sun4i: add a100/a133 tcon top quirks
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (12 preceding siblings ...)
2024-12-27 13:01 ` [PATCH RESEND 13/22] drm/sun4i: make tcon top tv0 optional Parthiban Nallathambi
@ 2024-12-27 13:01 ` Parthiban Nallathambi
2024-12-27 13:01 ` [PATCH RESEND 15/22] clk: sunxi-ng: sun8i-de2: add pll-com clock support Parthiban Nallathambi
` (2 subsequent siblings)
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:01 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
A100/A133 comes with 2 x LVDS, 1 x DSI without TV support. Add
quirks with tv0 disabled. DSI support is not added.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/gpu/drm/sun4i/sun8i_tcon_top.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
index bd9d0840ead7..a777b30ecea0 100644
--- a/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
+++ b/drivers/gpu/drm/sun4i/sun8i_tcon_top.c
@@ -280,6 +280,10 @@ static const struct sun8i_tcon_top_quirks sun20i_d1_tcon_top_quirks = {
.has_dsi = true,
};
+static const struct sun8i_tcon_top_quirks sun50i_a100_tcon_top_quirks = {
+ /* TODO DSI support */
+};
+
static const struct sun8i_tcon_top_quirks sun50i_h6_tcon_top_quirks = {
.has_tcon_tv0 = true,
};
@@ -294,6 +298,10 @@ const struct of_device_id sun8i_tcon_top_of_table[] = {
.compatible = "allwinner,sun20i-d1-tcon-top",
.data = &sun20i_d1_tcon_top_quirks
},
+ {
+ .compatible = "allwinner,sun50i-a100-tcon-top",
+ .data = &sun50i_a100_tcon_top_quirks
+ },
{
.compatible = "allwinner,sun50i-h6-tcon-top",
.data = &sun50i_h6_tcon_top_quirks
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 15/22] clk: sunxi-ng: sun8i-de2: add pll-com clock support
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (13 preceding siblings ...)
2024-12-27 13:01 ` [PATCH RESEND 14/22] drm/sun4i: add a100/a133 tcon top quirks Parthiban Nallathambi
@ 2024-12-27 13:01 ` Parthiban Nallathambi
2024-12-27 13:01 ` [PATCH RESEND 16/22] clk: sunxi-ng: sun8i-de2: Add support for a100/a133 Parthiban Nallathambi
2024-12-27 14:36 ` [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban
16 siblings, 0 replies; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:01 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
add optional pll-com support which is available in some platforms
like A100/A133, which is used by the display clock. There is no
documentation reference or details in DE 2.0 specification.
But these changes are needed to get the display clock to work and
this is inherited from the vendor BSP.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/clk/sunxi-ng/ccu-sun8i-de2.c | 19 +++++++++++++++++--
1 file changed, 17 insertions(+), 2 deletions(-)
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-de2.c b/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
index f2aa71206bc2..3e28c32050e0 100644
--- a/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
+++ b/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
@@ -241,7 +241,7 @@ static const struct sunxi_ccu_desc sun50i_h5_de2_clk_desc = {
static int sunxi_de2_clk_probe(struct platform_device *pdev)
{
- struct clk *bus_clk, *mod_clk;
+ struct clk *bus_clk, *mod_clk, *pll_clk;
struct reset_control *rstc;
void __iomem *reg;
const struct sunxi_ccu_desc *ccu_desc;
@@ -265,6 +265,11 @@ static int sunxi_de2_clk_probe(struct platform_device *pdev)
return dev_err_probe(&pdev->dev, PTR_ERR(mod_clk),
"Couldn't get mod clk\n");
+ pll_clk = devm_clk_get_optional(&pdev->dev, "pll-com");
+ if (IS_ERR(pll_clk))
+ return dev_err_probe(&pdev->dev, PTR_ERR(pll_clk),
+ "Couldn't get pll clk\n");
+
rstc = devm_reset_control_get_exclusive(&pdev->dev, NULL);
if (IS_ERR(rstc))
return dev_err_probe(&pdev->dev, PTR_ERR(rstc),
@@ -283,12 +288,20 @@ static int sunxi_de2_clk_probe(struct platform_device *pdev)
goto err_disable_bus_clk;
}
+ if (pll_clk) {
+ ret = clk_prepare_enable(pll_clk);
+ if (ret) {
+ dev_err(&pdev->dev, "Couldn't enable pll clk: %d\n", ret);
+ goto err_disable_mod_clk;
+ }
+ }
+
/* The reset control needs to be asserted for the controls to work */
ret = reset_control_deassert(rstc);
if (ret) {
dev_err(&pdev->dev,
"Couldn't deassert reset control: %d\n", ret);
- goto err_disable_mod_clk;
+ goto err_disable_pll_clk;
}
ret = devm_sunxi_ccu_probe(&pdev->dev, reg, ccu_desc);
@@ -299,6 +312,8 @@ static int sunxi_de2_clk_probe(struct platform_device *pdev)
err_assert_reset:
reset_control_assert(rstc);
+err_disable_pll_clk:
+ clk_disable_unprepare(pll_clk);
err_disable_mod_clk:
clk_disable_unprepare(mod_clk);
err_disable_bus_clk:
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* [PATCH RESEND 16/22] clk: sunxi-ng: sun8i-de2: Add support for a100/a133
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (14 preceding siblings ...)
2024-12-27 13:01 ` [PATCH RESEND 15/22] clk: sunxi-ng: sun8i-de2: add pll-com clock support Parthiban Nallathambi
@ 2024-12-27 13:01 ` Parthiban Nallathambi
2024-12-30 14:09 ` Andre Przywara
2024-12-27 14:36 ` [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban Nallathambi @ 2024-12-27 13:01 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: iommu, devicetree, linux-arm-kernel, linux-sunxi, linux-kernel,
dri-devel, linux-clk, linux-gpio, linux-phy,
Parthiban Nallathambi
Display clock uses 1 mixer without rotation support is same
as v3s. There is also a hidden independent display engine
with independent tcon_top available in A100/A133 bin (based
on vendor BSP).
Add new compatible for A100/A133 to accommodate the future changes
for the independent DE.
Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
---
drivers/clk/sunxi-ng/ccu-sun8i-de2.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-de2.c b/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
index 3e28c32050e0..067820ab704d 100644
--- a/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
+++ b/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
@@ -342,6 +342,10 @@ static const struct of_device_id sunxi_de2_clk_ids[] = {
.compatible = "allwinner,sun50i-a64-de2-clk",
.data = &sun50i_a64_de2_clk_desc,
},
+ {
+ .compatible = "allwinner,sun50i-a100-de2-clk",
+ .data = &sun8i_v3s_de2_clk_desc,
+ },
{
.compatible = "allwinner,sun50i-h5-de2-clk",
.data = &sun50i_h5_de2_clk_desc,
--
2.39.5
^ permalink raw reply related [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 16/22] clk: sunxi-ng: sun8i-de2: Add support for a100/a133
2024-12-27 13:01 ` [PATCH RESEND 16/22] clk: sunxi-ng: sun8i-de2: Add support for a100/a133 Parthiban Nallathambi
@ 2024-12-30 14:09 ` Andre Przywara
0 siblings, 0 replies; 27+ messages in thread
From: Andre Przywara @ 2024-12-30 14:09 UTC (permalink / raw)
To: Parthiban Nallathambi
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
On Fri, 27 Dec 2024 18:31:05 +0530
Parthiban Nallathambi <parthiban@linumiz.com> wrote:
Hi,
> Display clock uses 1 mixer without rotation support is same
> as v3s. There is also a hidden independent display engine
> with independent tcon_top available in A100/A133 bin (based
> on vendor BSP).
>
> Add new compatible for A100/A133 to accommodate the future changes
> for the independent DE.
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
> ---
> drivers/clk/sunxi-ng/ccu-sun8i-de2.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/clk/sunxi-ng/ccu-sun8i-de2.c b/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
> index 3e28c32050e0..067820ab704d 100644
> --- a/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
> +++ b/drivers/clk/sunxi-ng/ccu-sun8i-de2.c
> @@ -342,6 +342,10 @@ static const struct of_device_id sunxi_de2_clk_ids[] = {
> .compatible = "allwinner,sun50i-a64-de2-clk",
> .data = &sun50i_a64_de2_clk_desc,
> },
> + {
> + .compatible = "allwinner,sun50i-a100-de2-clk",
> + .data = &sun8i_v3s_de2_clk_desc,
That wouldn't be needed then. *If* we find some incompatibility, we can
add this line later, pointing to a different _desc block, but for now you
can rely on the fallback compatible to match.
Cheers,
Andre
> + },
> {
> .compatible = "allwinner,sun50i-h5-de2-clk",
> .data = &sun50i_h5_de2_clk_desc,
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH RESEND 00/22] Add support for A100/A133 display
2024-12-27 13:00 [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban Nallathambi
` (15 preceding siblings ...)
2024-12-27 13:01 ` [PATCH RESEND 16/22] clk: sunxi-ng: sun8i-de2: Add support for a100/a133 Parthiban Nallathambi
@ 2024-12-27 14:36 ` Parthiban
2024-12-30 14:11 ` Andre Przywara
16 siblings, 1 reply; 27+ messages in thread
From: Parthiban @ 2024-12-27 14:36 UTC (permalink / raw)
To: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I
Cc: parthiban, iommu, devicetree, linux-arm-kernel, linux-sunxi,
linux-kernel, dri-devel, linux-clk, linux-gpio, linux-phy
On 12/27/24 6:30 PM, Parthiban Nallathambi wrote:
> This series depends on [1] for the eMMC/MMC controller to work and
> [2] (lined up for 6.14) which adds support for the sram nodes and
> display engine extends it's usage. Idea of this series to get initial
> feedback and adjust, which will be rebased for 6.14 once [2] is merged.
>
> This patch series adds support for A133 display pipeline based on
> LVDS. dt-bindigs are organized in the start and later with code
> changes.
>
> PHY is shared between DSI and LVDS, so to control the PHY specific
> to DSI/LVDS, phy_ops set_mode is introduced. To enable the DSI
> using set_mode, analog control register MIPI Enable is used, which
> may not be available for A31 (shares the same driver).
>
> Otherwise, A133 also got hidden independent display engine i.e
> mixer + tcon top to handle parallel display. But this patch series
> adds only support for the 1 mixer which is documented.
>
> [1]: https://lore.kernel.org/linux-sunxi/20241109003739.3440904-1-masterr3c0rd@epochal.quest/
> [2]: https://lore.kernel.org/linux-sunxi/20241218-a100-syscon-v2-0-dae60b9ce192@epochal.quest/
>
> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
Apologize for polluting with resend again. My internal mail server got blocked due to
volume count, which resulted in incomplete series again.
I will fix the mail server issue before resending the series. Sorry.
Thanks,
Parthiban
^ permalink raw reply [flat|nested] 27+ messages in thread* Re: [PATCH RESEND 00/22] Add support for A100/A133 display
2024-12-27 14:36 ` [PATCH RESEND 00/22] Add support for A100/A133 display Parthiban
@ 2024-12-30 14:11 ` Andre Przywara
2024-12-31 6:51 ` Parthiban
0 siblings, 1 reply; 27+ messages in thread
From: Andre Przywara @ 2024-12-30 14:11 UTC (permalink / raw)
To: Parthiban
Cc: Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
On Fri, 27 Dec 2024 20:06:30 +0530
Parthiban <parthiban@linumiz.com> wrote:
> On 12/27/24 6:30 PM, Parthiban Nallathambi wrote:
> > This series depends on [1] for the eMMC/MMC controller to work and
> > [2] (lined up for 6.14) which adds support for the sram nodes and
> > display engine extends it's usage. Idea of this series to get initial
> > feedback and adjust, which will be rebased for 6.14 once [2] is merged.
> >
> > This patch series adds support for A133 display pipeline based on
> > LVDS. dt-bindigs are organized in the start and later with code
> > changes.
> >
> > PHY is shared between DSI and LVDS, so to control the PHY specific
> > to DSI/LVDS, phy_ops set_mode is introduced. To enable the DSI
> > using set_mode, analog control register MIPI Enable is used, which
> > may not be available for A31 (shares the same driver).
> >
> > Otherwise, A133 also got hidden independent display engine i.e
> > mixer + tcon top to handle parallel display. But this patch series
> > adds only support for the 1 mixer which is documented.
> >
> > [1]: https://lore.kernel.org/linux-sunxi/20241109003739.3440904-1-masterr3c0rd@epochal.quest/
> > [2]: https://lore.kernel.org/linux-sunxi/20241218-a100-syscon-v2-0-dae60b9ce192@epochal.quest/
> >
> > Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
> Apologize for polluting with resend again. My internal mail server got blocked due to
> volume count, which resulted in incomplete series again.
I guess an incomplete send was the reason for the original resend? Please
note this at the top of the cover letter then, otherwise it's not easy
to see why you send something again. Something like:
*** Re-sent due to mail server not sending out the complete series. ***
It also helps to split up the recipients, so that everyone gets the cover
letter, but only the respective subsystem maintainers get the patches
touching their subsystem. I would CC: the DT maintainers on every patch,
though.
It's a bit more complicated to set up, but keeps the noise down for those
large-ish series, for instance for the IOMMU people, who presumably have
little interest in DT or graphics code.
Cheers,
Andre
> I will fix the mail server issue before resending the series. Sorry.
>
> Thanks,
> Parthiban
>
>
^ permalink raw reply [flat|nested] 27+ messages in thread
* Re: [PATCH RESEND 00/22] Add support for A100/A133 display
2024-12-30 14:11 ` Andre Przywara
@ 2024-12-31 6:51 ` Parthiban
0 siblings, 0 replies; 27+ messages in thread
From: Parthiban @ 2024-12-31 6:51 UTC (permalink / raw)
To: Andre Przywara
Cc: parthiban, Joerg Roedel, Will Deacon, Robin Murphy, Rob Herring,
Krzysztof Kozlowski, Conor Dooley, Chen-Yu Tsai, Jernej Skrabec,
Samuel Holland, Maxime Ripard, Maarten Lankhorst,
Thomas Zimmermann, David Airlie, Simona Vetter, Michael Turquette,
Stephen Boyd, Philipp Zabel, Linus Walleij, Vinod Koul,
Kishon Vijay Abraham I, iommu, devicetree, linux-arm-kernel,
linux-sunxi, linux-kernel, dri-devel, linux-clk, linux-gpio,
linux-phy
On 12/30/24 7:41 PM, Andre Przywara wrote:
> On Fri, 27 Dec 2024 20:06:30 +0530
> Parthiban <parthiban@linumiz.com> wrote:
>
>> On 12/27/24 6:30 PM, Parthiban Nallathambi wrote:
>>> This series depends on [1] for the eMMC/MMC controller to work and
>>> [2] (lined up for 6.14) which adds support for the sram nodes and
>>> display engine extends it's usage. Idea of this series to get initial
>>> feedback and adjust, which will be rebased for 6.14 once [2] is merged.
>>>
>>> This patch series adds support for A133 display pipeline based on
>>> LVDS. dt-bindigs are organized in the start and later with code
>>> changes.
>>>
>>> PHY is shared between DSI and LVDS, so to control the PHY specific
>>> to DSI/LVDS, phy_ops set_mode is introduced. To enable the DSI
>>> using set_mode, analog control register MIPI Enable is used, which
>>> may not be available for A31 (shares the same driver).
>>>
>>> Otherwise, A133 also got hidden independent display engine i.e
>>> mixer + tcon top to handle parallel display. But this patch series
>>> adds only support for the 1 mixer which is documented.
>>>
>>> [1]: https://lore.kernel.org/linux-sunxi/20241109003739.3440904-1-masterr3c0rd@epochal.quest/
>>> [2]: https://lore.kernel.org/linux-sunxi/20241218-a100-syscon-v2-0-dae60b9ce192@epochal.quest/
>>>
>>> Signed-off-by: Parthiban Nallathambi <parthiban@linumiz.com>
>> Apologize for polluting with resend again. My internal mail server got blocked due to
>> volume count, which resulted in incomplete series again.
>
> I guess an incomplete send was the reason for the original resend? Please
> note this at the top of the cover letter then, otherwise it's not easy
> to see why you send something again. Something like:
>
> *** Re-sent due to mail server not sending out the complete series. ***
Yes I did add that using b4 as below, but "b4 send --resend" didn't pick the
updated cover letter though. I will check with "--reflect" next time.
EDIT:
Due to internal mail server issue, [3] missed few patches in series.
So am resending to hope that it will get through this time. Sorry
to pollute.
[3]: https://lore.kernel.org/linux-sunxi/20241227-a133-display-support-v1-0-13b52f71fb14@linumiz.com
>
> It also helps to split up the recipients, so that everyone gets the cover
> letter, but only the respective subsystem maintainers get the patches
> touching their subsystem. I would CC: the DT maintainers on every patch,
> though.
> It's a bit more complicated to set up, but keeps the noise down for those
> large-ish series, for instance for the IOMMU people, who presumably have
> little interest in DT or graphics code.
The whole series based on b4 and the list is auto prepared using
"b4 prep --auto-to-cc".
Sure, I will add the dt list in all the patches. Also many thanks for your
review and feedback.
Thanks,
Parthiban
>
> Cheers,
> Andre
>
>> I will fix the mail server issue before resending the series. Sorry.
>>
>> Thanks,
>> Parthiban
>>
>>
>
>
^ permalink raw reply [flat|nested] 27+ messages in thread