* [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:41 ` Krzysztof Kozlowski
2023-03-13 15:02 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 02/21] dt-bindings: display: mediatek: ccorr: " Alexandre Mergnat
` (19 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Adaptive Ambient Light for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
index d4d585485e7b..d47bc72f09c0 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
@@ -33,6 +33,7 @@ properties:
- mediatek,mt8186-disp-aal
- mediatek,mt8192-disp-aal
- mediatek,mt8195-disp-aal
+ - mediatek,mt8365-disp-aal
- const: mediatek,mt8183-disp-aal
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC Alexandre Mergnat
@ 2023-03-10 8:41 ` Krzysztof Kozlowski
2023-03-13 15:02 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:41 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Adaptive Ambient Light for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC Alexandre Mergnat
2023-03-10 8:41 ` Krzysztof Kozlowski
@ 2023-03-13 15:02 ` Chun-Kuang Hu
2023-03-31 14:55 ` Matthias Brugger
1 sibling, 1 reply; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:02 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Adaptive Ambient Light for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
> index d4d585485e7b..d47bc72f09c0 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
> @@ -33,6 +33,7 @@ properties:
> - mediatek,mt8186-disp-aal
> - mediatek,mt8192-disp-aal
> - mediatek,mt8195-disp-aal
> + - mediatek,mt8365-disp-aal
> - const: mediatek,mt8183-disp-aal
>
> reg:
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC
2023-03-13 15:02 ` Chun-Kuang Hu
@ 2023-03-31 14:55 ` Matthias Brugger
2023-04-03 3:25 ` Chun-Kuang Hu
0 siblings, 1 reply; 58+ messages in thread
From: Matthias Brugger @ 2023-03-31 14:55 UTC (permalink / raw)
To: Chun-Kuang Hu, Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, David Airlie,
Krzysztof Kozlowski, Xinlei Lee, Guillaume La Roque,
linux-arm-kernel, linux-mediatek, dri-devel, Fabien Parent,
Neil Armstrong, linux-pwm, devicetree, linux-kernel
Hi Chun-Kuang Hu,
On 13/03/2023 16:02, Chun-Kuang Hu wrote:
> Hi, Alexandre:
>
> Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>>
>> Display Adaptive Ambient Light for MT8365 is compatible with another SoC.
>> Then, add MT8365 binding along with MT8183 SoC.
>
> Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
I'm a bit puzzled that you give your reviewed by while I would have expected
that you will take the display binding patches. Will you take these or do you
want someone else to take them?
Regards,
Matthias
>>
>> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
>> ---
>> Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml | 1 +
>> 1 file changed, 1 insertion(+)
>>
>> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
>> index d4d585485e7b..d47bc72f09c0 100644
>> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
>> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
>> @@ -33,6 +33,7 @@ properties:
>> - mediatek,mt8186-disp-aal
>> - mediatek,mt8192-disp-aal
>> - mediatek,mt8195-disp-aal
>> + - mediatek,mt8365-disp-aal
>> - const: mediatek,mt8183-disp-aal
>>
>> reg:
>>
>> --
>> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC
2023-03-31 14:55 ` Matthias Brugger
@ 2023-04-03 3:25 ` Chun-Kuang Hu
0 siblings, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-04-03 3:25 UTC (permalink / raw)
To: Matthias Brugger
Cc: Chun-Kuang Hu, Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, David Airlie, Krzysztof Kozlowski,
Xinlei Lee, Guillaume La Roque, linux-arm-kernel, linux-mediatek,
dri-devel, Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Matthias:
Matthias Brugger <matthias.bgg@gmail.com> 於 2023年3月31日 週五 下午10:55寫道:
>
> Hi Chun-Kuang Hu,
>
> On 13/03/2023 16:02, Chun-Kuang Hu wrote:
> > Hi, Alexandre:
> >
> > Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
> >>
> >> Display Adaptive Ambient Light for MT8365 is compatible with another SoC.
> >> Then, add MT8365 binding along with MT8183 SoC.
> >
> > Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
> >
>
> I'm a bit puzzled that you give your reviewed by while I would have expected
> that you will take the display binding patches. Will you take these or do you
> want someone else to take them?
I usually apply whole series together, and I've question about
"[07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365"
in this series. This is just the first version, so maybe I would apply
partial patches in later version.
Regards,
Chun-Kuang.
>
> Regards,
> Matthias
>
> >>
> >> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> >> ---
> >> Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml | 1 +
> >> 1 file changed, 1 insertion(+)
> >>
> >> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
> >> index d4d585485e7b..d47bc72f09c0 100644
> >> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
> >> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,aal.yaml
> >> @@ -33,6 +33,7 @@ properties:
> >> - mediatek,mt8186-disp-aal
> >> - mediatek,mt8192-disp-aal
> >> - mediatek,mt8195-disp-aal
> >> + - mediatek,mt8365-disp-aal
> >> - const: mediatek,mt8183-disp-aal
> >>
> >> reg:
> >>
> >> --
> >> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 02/21] dt-bindings: display: mediatek: ccorr: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
2023-03-09 14:22 ` [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:29 ` Krzysztof Kozlowski
2023-03-13 14:54 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 03/21] dt-bindings: display: mediatek: color: " Alexandre Mergnat
` (18 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Color Correction for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml
index 63fb02014a56..fc999e614718 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml
@@ -32,6 +32,7 @@ properties:
- items:
- enum:
- mediatek,mt8186-disp-ccorr
+ - mediatek,mt8365-disp-ccorr
- const: mediatek,mt8183-disp-ccorr
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 02/21] dt-bindings: display: mediatek: ccorr: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 02/21] dt-bindings: display: mediatek: ccorr: " Alexandre Mergnat
@ 2023-03-10 8:29 ` Krzysztof Kozlowski
2023-03-13 14:54 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:29 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Color Correction for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 02/21] dt-bindings: display: mediatek: ccorr: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 02/21] dt-bindings: display: mediatek: ccorr: " Alexandre Mergnat
2023-03-10 8:29 ` Krzysztof Kozlowski
@ 2023-03-13 14:54 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 14:54 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Color Correction for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml
> index 63fb02014a56..fc999e614718 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ccorr.yaml
> @@ -32,6 +32,7 @@ properties:
> - items:
> - enum:
> - mediatek,mt8186-disp-ccorr
> + - mediatek,mt8365-disp-ccorr
> - const: mediatek,mt8183-disp-ccorr
>
> reg:
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 03/21] dt-bindings: display: mediatek: color: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
2023-03-09 14:22 ` [PATCH 01/21] dt-bindings: display: mediatek: aal: add binding for MT8365 SoC Alexandre Mergnat
2023-03-09 14:22 ` [PATCH 02/21] dt-bindings: display: mediatek: ccorr: " Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:35 ` Krzysztof Kozlowski
2023-03-13 14:58 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 04/21] dt-bindings: display: mediatek: dither: " Alexandre Mergnat
` (17 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Color for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml
index d2f89ee7996f..9d081da433e8 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml
@@ -39,6 +39,7 @@ properties:
- mediatek,mt8186-disp-color
- mediatek,mt8192-disp-color
- mediatek,mt8195-disp-color
+ - mediatek,mt8365-disp-color
- const: mediatek,mt8173-disp-color
reg:
maxItems: 1
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 03/21] dt-bindings: display: mediatek: color: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 03/21] dt-bindings: display: mediatek: color: " Alexandre Mergnat
@ 2023-03-10 8:35 ` Krzysztof Kozlowski
2023-03-13 14:58 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:35 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Color for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 03/21] dt-bindings: display: mediatek: color: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 03/21] dt-bindings: display: mediatek: color: " Alexandre Mergnat
2023-03-10 8:35 ` Krzysztof Kozlowski
@ 2023-03-13 14:58 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 14:58 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Color for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml
> index d2f89ee7996f..9d081da433e8 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,color.yaml
> @@ -39,6 +39,7 @@ properties:
> - mediatek,mt8186-disp-color
> - mediatek,mt8192-disp-color
> - mediatek,mt8195-disp-color
> + - mediatek,mt8365-disp-color
> - const: mediatek,mt8173-disp-color
> reg:
> maxItems: 1
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 04/21] dt-bindings: display: mediatek: dither: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (2 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 03/21] dt-bindings: display: mediatek: color: " Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:35 ` Krzysztof Kozlowski
2023-03-13 14:59 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 05/21] dt-bindings: display: mediatek: dsi: " Alexandre Mergnat
` (16 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Dither for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml
index 8ad8187c02d1..a7706cd65675 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml
@@ -29,6 +29,7 @@ properties:
- mediatek,mt8186-disp-dither
- mediatek,mt8192-disp-dither
- mediatek,mt8195-disp-dither
+ - mediatek,mt8365-disp-dither
- const: mediatek,mt8183-disp-dither
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 04/21] dt-bindings: display: mediatek: dither: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 04/21] dt-bindings: display: mediatek: dither: " Alexandre Mergnat
@ 2023-03-10 8:35 ` Krzysztof Kozlowski
2023-03-13 14:59 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:35 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Dither for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 04/21] dt-bindings: display: mediatek: dither: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 04/21] dt-bindings: display: mediatek: dither: " Alexandre Mergnat
2023-03-10 8:35 ` Krzysztof Kozlowski
@ 2023-03-13 14:59 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 14:59 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Dither for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml
> index 8ad8187c02d1..a7706cd65675 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dither.yaml
> @@ -29,6 +29,7 @@ properties:
> - mediatek,mt8186-disp-dither
> - mediatek,mt8192-disp-dither
> - mediatek,mt8195-disp-dither
> + - mediatek,mt8365-disp-dither
> - const: mediatek,mt8183-disp-dither
>
> reg:
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 05/21] dt-bindings: display: mediatek: dsi: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (3 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 04/21] dt-bindings: display: mediatek: dither: " Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:35 ` Krzysztof Kozlowski
2023-03-13 15:00 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 06/21] dt-bindings: display: mediatek: dpi: add power-domains property Alexandre Mergnat
` (15 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Serial Interface for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
.../bindings/display/mediatek/mediatek,dsi.yaml | 19 ++++++++++++-------
1 file changed, 12 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
index 4707b60238b0..b6579d3effc5 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
@@ -22,13 +22,18 @@ allOf:
properties:
compatible:
- enum:
- - mediatek,mt2701-dsi
- - mediatek,mt7623-dsi
- - mediatek,mt8167-dsi
- - mediatek,mt8173-dsi
- - mediatek,mt8183-dsi
- - mediatek,mt8186-dsi
+ oneOf:
+ - enum:
+ - mediatek,mt2701-dsi
+ - mediatek,mt7623-dsi
+ - mediatek,mt8167-dsi
+ - mediatek,mt8173-dsi
+ - mediatek,mt8183-dsi
+ - mediatek,mt8186-dsi
+ - items:
+ - enum:
+ - mediatek,mt8365-dsi
+ - const: mediatek,mt8183-dsi
reg:
maxItems: 1
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 05/21] dt-bindings: display: mediatek: dsi: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 05/21] dt-bindings: display: mediatek: dsi: " Alexandre Mergnat
@ 2023-03-10 8:35 ` Krzysztof Kozlowski
2023-03-13 15:00 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:35 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Serial Interface for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> .../bindings/display/mediatek/mediatek,dsi.yaml | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 05/21] dt-bindings: display: mediatek: dsi: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 05/21] dt-bindings: display: mediatek: dsi: " Alexandre Mergnat
2023-03-10 8:35 ` Krzysztof Kozlowski
@ 2023-03-13 15:00 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:00 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Serial Interface for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> .../bindings/display/mediatek/mediatek,dsi.yaml | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
> index 4707b60238b0..b6579d3effc5 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dsi.yaml
> @@ -22,13 +22,18 @@ allOf:
>
> properties:
> compatible:
> - enum:
> - - mediatek,mt2701-dsi
> - - mediatek,mt7623-dsi
> - - mediatek,mt8167-dsi
> - - mediatek,mt8173-dsi
> - - mediatek,mt8183-dsi
> - - mediatek,mt8186-dsi
> + oneOf:
> + - enum:
> + - mediatek,mt2701-dsi
> + - mediatek,mt7623-dsi
> + - mediatek,mt8167-dsi
> + - mediatek,mt8173-dsi
> + - mediatek,mt8183-dsi
> + - mediatek,mt8186-dsi
> + - items:
> + - enum:
> + - mediatek,mt8365-dsi
> + - const: mediatek,mt8183-dsi
>
> reg:
> maxItems: 1
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 06/21] dt-bindings: display: mediatek: dpi: add power-domains property
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (4 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 05/21] dt-bindings: display: mediatek: dsi: " Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-09 14:22 ` [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365 Alexandre Mergnat
` (14 subsequent siblings)
20 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
From: Fabien Parent <fparent@baylibre.com>
DPI is part of the display / multimedia block in MediaTek SoCs, and
always have a power-domain (at least in the upstream device-trees).
Add the power-domains property to the binding documentation.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
index d976380801e3..56511c4d4b9b 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
@@ -59,6 +59,9 @@ properties:
Output port node. This port should be connected to the input port of an
attached HDMI, LVDS or DisplayPort encoder chip.
+ power-domains:
+ maxItems: 1
+
required:
- compatible
- reg
@@ -73,11 +76,13 @@ examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/mt8173-clk.h>
+ #include <dt-bindings/power/mt8173-power.h>
dpi0: dpi@1401d000 {
compatible = "mediatek,mt8173-dpi";
reg = <0x1401d000 0x1000>;
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8173_POWER_DOMAIN_MM>;
clocks = <&mmsys CLK_MM_DPI_PIXEL>,
<&mmsys CLK_MM_DPI_ENGINE>,
<&apmixedsys CLK_APMIXED_TVDPLL>;
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (5 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 06/21] dt-bindings: display: mediatek: dpi: add power-domains property Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:17 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC Alexandre Mergnat
` (13 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
From: Fabien Parent <fparent@baylibre.com>
DPI for MT8365 is compatible with MT8192 but requires an additional
clock. Modify the documentation to requires this clock only on MT8365 SoCs.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
.../bindings/display/mediatek/mediatek,dpi.yaml | 48 ++++++++++++++++++----
1 file changed, 39 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
index 56511c4d4b9b..3f6cca81340c 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
@@ -17,15 +17,20 @@ description: |
properties:
compatible:
- enum:
- - mediatek,mt2701-dpi
- - mediatek,mt7623-dpi
- - mediatek,mt8173-dpi
- - mediatek,mt8183-dpi
- - mediatek,mt8186-dpi
- - mediatek,mt8188-dp-intf
- - mediatek,mt8192-dpi
- - mediatek,mt8195-dp-intf
+ oneOf:
+ - enum:
+ - mediatek,mt2701-dpi
+ - mediatek,mt7623-dpi
+ - mediatek,mt8173-dpi
+ - mediatek,mt8183-dpi
+ - mediatek,mt8186-dpi
+ - mediatek,mt8188-dp-intf
+ - mediatek,mt8192-dpi
+ - mediatek,mt8195-dp-intf
+ - items:
+ - enum:
+ - mediatek,mt8365-dpi
+ - const: mediatek,mt8192-dpi
reg:
maxItems: 1
@@ -34,16 +39,20 @@ properties:
maxItems: 1
clocks:
+ minItems: 3
items:
- description: Pixel Clock
- description: Engine Clock
- description: DPI PLL
+ - description: DPI Clock
clock-names:
+ minItems: 3
items:
- const: pixel
- const: engine
- const: pll
+ - const: dpi
pinctrl-0: true
pinctrl-1: true
@@ -72,6 +81,27 @@ required:
additionalProperties: false
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ const: mediatek,mt8365-dpi
+
+ then:
+ properties:
+ clocks:
+ maxItems: 4
+ clock-names:
+ maxItems: 4
+
+ else:
+ properties:
+ clocks:
+ maxItems: 3
+ clock-names:
+ maxItems: 3
+
examples:
- |
#include <dt-bindings/interrupt-controller/arm-gic.h>
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365
2023-03-09 14:22 ` [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365 Alexandre Mergnat
@ 2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:17 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:38 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> From: Fabien Parent <fparent@baylibre.com>
>
> DPI for MT8365 is compatible with MT8192 but requires an additional
> clock. Modify the documentation to requires this clock only on MT8365 SoCs.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> .../bindings/display/mediatek/mediatek,dpi.yaml | 48 ++++++++++++++++++----
> 1 file changed, 39 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> index 56511c4d4b9b..3f6cca81340c 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> @@ -17,15 +17,20 @@ description: |
>
> properties:
> compatible:
> - enum:
> - - mediatek,mt2701-dpi
> - - mediatek,mt7623-dpi
> - - mediatek,mt8173-dpi
> - - mediatek,mt8183-dpi
> - - mediatek,mt8186-dpi
> - - mediatek,mt8188-dp-intf
> - - mediatek,mt8192-dpi
> - - mediatek,mt8195-dp-intf
> + oneOf:
> + - enum:
> + - mediatek,mt2701-dpi
> + - mediatek,mt7623-dpi
> + - mediatek,mt8173-dpi
> + - mediatek,mt8183-dpi
> + - mediatek,mt8186-dpi
> + - mediatek,mt8188-dp-intf
> + - mediatek,mt8192-dpi
> + - mediatek,mt8195-dp-intf
> + - items:
> + - enum:
> + - mediatek,mt8365-dpi
> + - const: mediatek,mt8192-dpi
>
> reg:
> maxItems: 1
> @@ -34,16 +39,20 @@ properties:
> maxItems: 1
>
> clocks:
> + minItems: 3
> items:
> - description: Pixel Clock
> - description: Engine Clock
> - description: DPI PLL
> + - description: DPI Clock
>
> clock-names:
> + minItems: 3
> items:
> - const: pixel
> - const: engine
> - const: pll
> + - const: dpi
>
> pinctrl-0: true
> pinctrl-1: true
> @@ -72,6 +81,27 @@ required:
>
> additionalProperties: false
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: mediatek,mt8365-dpi
> +
> + then:
> + properties:
> + clocks:
> + maxItems: 4
We usually set minItems, so it is clear readable that you raise the
lower bracket. Code should be equivalent, but I would say this is less
readable (maxItems: 4 was actually implied by top-level list).
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365
2023-03-09 14:22 ` [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365 Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
@ 2023-03-13 15:17 ` Chun-Kuang Hu
2023-03-15 9:26 ` Alexandre Mergnat
1 sibling, 1 reply; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:17 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> From: Fabien Parent <fparent@baylibre.com>
>
> DPI for MT8365 is compatible with MT8192 but requires an additional
> clock. Modify the documentation to requires this clock only on MT8365 SoCs.
If MT8365 DPI has additional clock, why it is compatible with MT8192 DPI?
I think some part of MT8165 DPI works under the speed control by the
DPI clock and this is different with MT8192 DPI, how could these two
are compatible?
Regards,
Chun-Kuang.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> .../bindings/display/mediatek/mediatek,dpi.yaml | 48 ++++++++++++++++++----
> 1 file changed, 39 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> index 56511c4d4b9b..3f6cca81340c 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.yaml
> @@ -17,15 +17,20 @@ description: |
>
> properties:
> compatible:
> - enum:
> - - mediatek,mt2701-dpi
> - - mediatek,mt7623-dpi
> - - mediatek,mt8173-dpi
> - - mediatek,mt8183-dpi
> - - mediatek,mt8186-dpi
> - - mediatek,mt8188-dp-intf
> - - mediatek,mt8192-dpi
> - - mediatek,mt8195-dp-intf
> + oneOf:
> + - enum:
> + - mediatek,mt2701-dpi
> + - mediatek,mt7623-dpi
> + - mediatek,mt8173-dpi
> + - mediatek,mt8183-dpi
> + - mediatek,mt8186-dpi
> + - mediatek,mt8188-dp-intf
> + - mediatek,mt8192-dpi
> + - mediatek,mt8195-dp-intf
> + - items:
> + - enum:
> + - mediatek,mt8365-dpi
> + - const: mediatek,mt8192-dpi
>
> reg:
> maxItems: 1
> @@ -34,16 +39,20 @@ properties:
> maxItems: 1
>
> clocks:
> + minItems: 3
> items:
> - description: Pixel Clock
> - description: Engine Clock
> - description: DPI PLL
> + - description: DPI Clock
>
> clock-names:
> + minItems: 3
> items:
> - const: pixel
> - const: engine
> - const: pll
> + - const: dpi
>
> pinctrl-0: true
> pinctrl-1: true
> @@ -72,6 +81,27 @@ required:
>
> additionalProperties: false
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: mediatek,mt8365-dpi
> +
> + then:
> + properties:
> + clocks:
> + maxItems: 4
> + clock-names:
> + maxItems: 4
> +
> + else:
> + properties:
> + clocks:
> + maxItems: 3
> + clock-names:
> + maxItems: 3
> +
> examples:
> - |
> #include <dt-bindings/interrupt-controller/arm-gic.h>
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365
2023-03-13 15:17 ` Chun-Kuang Hu
@ 2023-03-15 9:26 ` Alexandre Mergnat
0 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-15 9:26 UTC (permalink / raw)
To: Chun-Kuang Hu
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi Chun-Kuang,
Le lun. 13 mars 2023 à 16:17, Chun-Kuang Hu <chunkuang.hu@kernel.org> a écrit :
>
> Hi, Alexandre:
>
> Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
> >
> > From: Fabien Parent <fparent@baylibre.com>
> >
> > DPI for MT8365 is compatible with MT8192 but requires an additional
> > clock. Modify the documentation to requires this clock only on MT8365 SoCs.
>
> If MT8365 DPI has additional clock, why it is compatible with MT8192 DPI?
> I think some part of MT8165 DPI works under the speed control by the
> DPI clock and this is different with MT8192 DPI, how could these two
> are compatible?
AFAII, The mtk_dpi driver manage the 4th clock as optional
dpi->dpi_clk = devm_clk_get_optional(dev, "dpi");
And all configuration variables for mt8192 are the same for mt8365.
These configuration clock variables (like cal_factor) aren't
correlated with the 4th clock.
The clock number doesn't impact the configuration variable because the
4th clock is simply retrieved from DTS, saved in the driver structure
and prepare/unprepare/enable/disable, like other clocks.
Regards,
Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (6 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 07/21] dt-bindings: display: mediatek: dpi: add binding for MT8365 Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:07 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 09/21] dt-bindings: display: mediatek: ovl: " Alexandre Mergnat
` (12 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display GAMMA for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml
index a89ea0ea7542..f54859cfc97b 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml
@@ -30,6 +30,7 @@ properties:
- mediatek,mt8186-disp-gamma
- mediatek,mt8192-disp-gamma
- mediatek,mt8195-disp-gamma
+ - mediatek,mt8365-disp-gamma
- const: mediatek,mt8183-disp-gamma
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC Alexandre Mergnat
@ 2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:07 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:38 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display GAMMA for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
@ 2023-03-13 15:07 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:07 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display GAMMA for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml
> index a89ea0ea7542..f54859cfc97b 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,gamma.yaml
> @@ -30,6 +30,7 @@ properties:
> - mediatek,mt8186-disp-gamma
> - mediatek,mt8192-disp-gamma
> - mediatek,mt8195-disp-gamma
> + - mediatek,mt8365-disp-gamma
> - const: mediatek,mt8183-disp-gamma
>
> reg:
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 09/21] dt-bindings: display: mediatek: ovl: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (7 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 08/21] dt-bindings: display: mediatek: gamma: add binding for MT8365 SoC Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:08 ` Chun-Kuang Hu
2023-03-09 14:22 ` [PATCH 10/21] dt-bindings: display: mediatek: rdma: " Alexandre Mergnat
` (11 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Overlay for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8192 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml
index a2a27d0ca038..20e4ca4fc915 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml
@@ -41,6 +41,7 @@ properties:
- items:
- enum:
- mediatek,mt8186-disp-ovl
+ - mediatek,mt8365-disp-ovl
- const: mediatek,mt8192-disp-ovl
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 09/21] dt-bindings: display: mediatek: ovl: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 09/21] dt-bindings: display: mediatek: ovl: " Alexandre Mergnat
@ 2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:08 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:38 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Overlay for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8192 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 09/21] dt-bindings: display: mediatek: ovl: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 09/21] dt-bindings: display: mediatek: ovl: " Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
@ 2023-03-13 15:08 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:08 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Neil Armstrong, linux-kernel, dri-devel, linux-pwm, Fabien Parent,
devicetree, linux-mediatek, Guillaume La Roque, linux-arm-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Overlay for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8192 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml
> index a2a27d0ca038..20e4ca4fc915 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,ovl.yaml
> @@ -41,6 +41,7 @@ properties:
> - items:
> - enum:
> - mediatek,mt8186-disp-ovl
> + - mediatek,mt8365-disp-ovl
> - const: mediatek,mt8192-disp-ovl
>
> reg:
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 10/21] dt-bindings: display: mediatek: rdma: add binding for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (8 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 09/21] dt-bindings: display: mediatek: ovl: " Alexandre Mergnat
@ 2023-03-09 14:22 ` Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:09 ` Chun-Kuang Hu
2023-03-09 14:23 ` [PATCH 11/21] dt-bindings: display: pannel: add startek kd070fhfid015 binding documentation Alexandre Mergnat
` (10 subsequent siblings)
20 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:22 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display Data Path Read DMA for MT8365 is compatible with another SoC.
Then, add MT8365 binding along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml
index 0882ae86e6c4..3bc914785976 100644
--- a/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml
+++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml
@@ -40,6 +40,7 @@ properties:
- enum:
- mediatek,mt8186-disp-rdma
- mediatek,mt8192-disp-rdma
+ - mediatek,mt8365-disp-rdma
- const: mediatek,mt8183-disp-rdma
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 10/21] dt-bindings: display: mediatek: rdma: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 10/21] dt-bindings: display: mediatek: rdma: " Alexandre Mergnat
@ 2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-13 15:09 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:38 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:22, Alexandre Mergnat wrote:
> Display Data Path Read DMA for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 10/21] dt-bindings: display: mediatek: rdma: add binding for MT8365 SoC
2023-03-09 14:22 ` [PATCH 10/21] dt-bindings: display: mediatek: rdma: " Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
@ 2023-03-13 15:09 ` Chun-Kuang Hu
1 sibling, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:09 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Display Data Path Read DMA for MT8365 is compatible with another SoC.
> Then, add MT8365 binding along with MT8183 SoC.
Reviewed-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml b/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml
> index 0882ae86e6c4..3bc914785976 100644
> --- a/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml
> +++ b/Documentation/devicetree/bindings/display/mediatek/mediatek,rdma.yaml
> @@ -40,6 +40,7 @@ properties:
> - enum:
> - mediatek,mt8186-disp-rdma
> - mediatek,mt8192-disp-rdma
> + - mediatek,mt8365-disp-rdma
> - const: mediatek,mt8183-disp-rdma
>
> reg:
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 11/21] dt-bindings: display: pannel: add startek kd070fhfid015 binding documentation
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (9 preceding siblings ...)
2023-03-09 14:22 ` [PATCH 10/21] dt-bindings: display: mediatek: rdma: " Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-09 14:23 ` [PATCH 12/21] dt-bindings: pwm: add power-domains property Alexandre Mergnat
` (9 subsequent siblings)
20 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
The Startek KD070FHFID015 is a 7-inch TFT LCD display with a resolution
of 1024 x 600 pixels.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
.../display/panel/startek,kd070fhfid015.yaml | 55 ++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/Documentation/devicetree/bindings/display/panel/startek,kd070fhfid015.yaml b/Documentation/devicetree/bindings/display/panel/startek,kd070fhfid015.yaml
new file mode 100644
index 000000000000..5fde552838e5
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/startek,kd070fhfid015.yaml
@@ -0,0 +1,55 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/startek,kd070fhfid015.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Startek Electronic Technology Co. kd070fhfid015 7 inch TFT LCD panel
+
+maintainers:
+ - Alexandre Mergnat <amergnat@baylibre.com>
+
+allOf:
+ - $ref: panel-common.yaml#
+
+properties:
+ compatible:
+ const: startek,kd070fhfid015
+
+ dcdc-gpios: true
+
+ height-mm:
+ const: 119
+
+ iovcc-supply:
+ description: Reference to the regulator powering the panel IO pins.
+
+ reg:
+ maxItems: 1
+ description: DSI virtual channel
+
+ reset-gpios: true
+
+ pinctrl-0: true
+
+ pinctrl-names: true
+
+ port: true
+
+ power-supply: true
+
+ width-mm:
+ const: 178
+
+additionalProperties: false
+
+required:
+ - compatible
+ - dcdc-gpios
+ - iovcc-supply
+ - reg
+ - reset-gpios
+ - port
+ - power-supply
+
+...
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* [PATCH 12/21] dt-bindings: pwm: add power-domains property
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (10 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 11/21] dt-bindings: display: pannel: add startek kd070fhfid015 binding documentation Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-09 14:23 ` [PATCH 13/21] dt-bindings: pwm: add binding for mt8365 SoC Alexandre Mergnat
` (8 subsequent siblings)
20 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
According to the Mediatek datasheet, the display PWM block has a power
domain.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml b/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
index 0088bc8e7c54..8a0005a8bf40 100644
--- a/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
+++ b/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
@@ -51,6 +51,12 @@ properties:
- const: main
- const: mm
+ power-domains:
+ maxItems: 1
+ description: A phandle and PM domain specifier as defined by bindings of
+ the power controller specified by phandle. See
+ Documentation/devicetree/bindings/power/power-domain.yaml for details.
+
required:
- compatible
- reg
@@ -65,6 +71,7 @@ examples:
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/clock/mt8173-clk.h>
#include <dt-bindings/interrupt-controller/irq.h>
+ #include <dt-bindings/power/mt8173-power.h>
pwm0: pwm@1401e000 {
compatible = "mediatek,mt8173-disp-pwm";
@@ -73,4 +80,5 @@ examples:
clocks = <&mmsys CLK_MM_DISP_PWM026M>,
<&mmsys CLK_MM_DISP_PWM0MM>;
clock-names = "main", "mm";
+ power-domains = <&spm MT8173_POWER_DOMAIN_MM>;
};
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* [PATCH 13/21] dt-bindings: pwm: add binding for mt8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (11 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 12/21] dt-bindings: pwm: add power-domains property Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-10 8:38 ` Krzysztof Kozlowski
2023-03-09 14:23 ` [PATCH 14/21] dt-bindings: soc: mediatek: specify which compatible requires clocks property Alexandre Mergnat
` (7 subsequent siblings)
20 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Display PWM for MT8365 is compatible with MT8183. Then, add MT8365 binding
along with MT8183 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml b/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
index 8a0005a8bf40..889d2b376212 100644
--- a/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
+++ b/Documentation/devicetree/bindings/pwm/mediatek,pwm-disp.yaml
@@ -30,6 +30,7 @@ properties:
- mediatek,mt8188-disp-pwm
- mediatek,mt8192-disp-pwm
- mediatek,mt8195-disp-pwm
+ - mediatek,mt8365-disp-pwm
- const: mediatek,mt8183-disp-pwm
reg:
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 13/21] dt-bindings: pwm: add binding for mt8365 SoC
2023-03-09 14:23 ` [PATCH 13/21] dt-bindings: pwm: add binding for mt8365 SoC Alexandre Mergnat
@ 2023-03-10 8:38 ` Krzysztof Kozlowski
0 siblings, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:38 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:23, Alexandre Mergnat wrote:
> Display PWM for MT8365 is compatible with MT8183. Then, add MT8365 binding
> along with MT8183 SoC.
>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 14/21] dt-bindings: soc: mediatek: specify which compatible requires clocks property
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (12 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 13/21] dt-bindings: pwm: add binding for mt8365 SoC Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-31 14:42 ` Matthias Brugger
2023-03-09 14:23 ` [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC Alexandre Mergnat
` (6 subsequent siblings)
20 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
According to the mtk-mutex.c driver and the SoC DTS, the clock isn't
required to work properly for some of MTK SoC. Improve the clock
requirement by adding a condition which is function to the compatible.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
.../bindings/soc/mediatek/mediatek,mutex.yaml | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
index 9241e5fc7cff..ca0ca549257d 100644
--- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
+++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
@@ -69,12 +69,30 @@ properties:
4 arguments defined in this property. Each GCE subsys id is mapping to
a client defined in the header include/dt-bindings/gce/<chip>-gce.h.
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - mediatek,mt2701-disp-mutex
+ - mediatek,mt2712-disp-mutex
+ - mediatek,mt6795-disp-mutex
+ - mediatek,mt8173-disp-mutex
+ - mediatek,mt8186-disp-mutex
+ - mediatek,mt8186-mdp3-mutex
+ - mediatek,mt8192-disp-mutex
+ - mediatek,mt8195-disp-mutex
+ then:
+ required:
+ - clocks
+
+
required:
- compatible
- reg
- interrupts
- power-domains
- - clocks
additionalProperties: false
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 14/21] dt-bindings: soc: mediatek: specify which compatible requires clocks property
2023-03-09 14:23 ` [PATCH 14/21] dt-bindings: soc: mediatek: specify which compatible requires clocks property Alexandre Mergnat
@ 2023-03-31 14:42 ` Matthias Brugger
0 siblings, 0 replies; 58+ messages in thread
From: Matthias Brugger @ 2023-03-31 14:42 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, David Airlie,
Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:23, Alexandre Mergnat wrote:
> According to the mtk-mutex.c driver and the SoC DTS, the clock isn't
> required to work properly for some of MTK SoC. Improve the clock
> requirement by adding a condition which is function to the compatible.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Applied, thanks.
Now I think we can get rid of the no_clk variable in struct mtk_mutex_data, as
this should be mandated by the device-tree.
Regards,
Matthias
> ---
> .../bindings/soc/mediatek/mediatek,mutex.yaml | 20 +++++++++++++++++++-
> 1 file changed, 19 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> index 9241e5fc7cff..ca0ca549257d 100644
> --- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> @@ -69,12 +69,30 @@ properties:
> 4 arguments defined in this property. Each GCE subsys id is mapping to
> a client defined in the header include/dt-bindings/gce/<chip>-gce.h.
>
> +allOf:
> + - if:
> + properties:
> + compatible:
> + contains:
> + enum:
> + - mediatek,mt2701-disp-mutex
> + - mediatek,mt2712-disp-mutex
> + - mediatek,mt6795-disp-mutex
> + - mediatek,mt8173-disp-mutex
> + - mediatek,mt8186-disp-mutex
> + - mediatek,mt8186-mdp3-mutex
> + - mediatek,mt8192-disp-mutex
> + - mediatek,mt8195-disp-mutex
> + then:
> + required:
> + - clocks
> +
> +
> required:
> - compatible
> - reg
> - interrupts
> - power-domains
> - - clocks
>
> additionalProperties: false
>
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (13 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 14/21] dt-bindings: soc: mediatek: specify which compatible requires clocks property Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-10 8:39 ` Krzysztof Kozlowski
` (2 more replies)
2023-03-09 14:23 ` [PATCH 16/21] arm64: dts: mediatek: add display blocks support for the " Alexandre Mergnat
` (5 subsequent siblings)
20 siblings, 3 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Add compatible for the MT8365 SoC.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
index ca0ca549257d..931d66893dff 100644
--- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
+++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
@@ -34,6 +34,7 @@ properties:
- mediatek,mt8186-mdp3-mutex
- mediatek,mt8192-disp-mutex
- mediatek,mt8195-disp-mutex
+ - mediatek,mt8365-disp-mutex
reg:
maxItems: 1
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-09 14:23 ` [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC Alexandre Mergnat
@ 2023-03-10 8:39 ` Krzysztof Kozlowski
2023-03-15 8:01 ` Alexandre Mergnat
2023-03-15 13:22 ` Krzysztof Kozlowski
2023-03-31 17:51 ` Matthias Brugger
2 siblings, 1 reply; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-10 8:39 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:23, Alexandre Mergnat wrote:
> Add compatible for the MT8365 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> index ca0ca549257d..931d66893dff 100644
> --- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> @@ -34,6 +34,7 @@ properties:
> - mediatek,mt8186-mdp3-mutex
> - mediatek,mt8192-disp-mutex
> - mediatek,mt8195-disp-mutex
> + - mediatek,mt8365-disp-mutex
All these look compatible. Either make mt8635 compatible with something
or even rework entire list and make everything compatible.
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-10 8:39 ` Krzysztof Kozlowski
@ 2023-03-15 8:01 ` Alexandre Mergnat
2023-03-15 8:17 ` Alexandre Mergnat
2023-03-15 13:17 ` Krzysztof Kozlowski
0 siblings, 2 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-15 8:01 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Le ven. 10 mars 2023 à 09:39, Krzysztof Kozlowski
<krzysztof.kozlowski@linaro.org> a écrit :
>
> On 09/03/2023 15:23, Alexandre Mergnat wrote:
> > Add compatible for the MT8365 SoC.
> >
> > Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> > ---
> > Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> > index ca0ca549257d..931d66893dff 100644
> > --- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> > +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> > @@ -34,6 +34,7 @@ properties:
> > - mediatek,mt8186-mdp3-mutex
> > - mediatek,mt8192-disp-mutex
> > - mediatek,mt8195-disp-mutex
> > + - mediatek,mt8365-disp-mutex
>
> All these look compatible. Either make mt8635 compatible with something
> or even rework entire list and make everything compatible.
All of them use "mtk_mutec.c" but have specific data.
.data = &mt8173_mutex_driver_data},
{ .compatible = "mediatek,mt8183-disp-mutex",
.data = &mt8183_mutex_driver_data},
{ .compatible = "mediatek,mt8186-disp-mutex",
.data = &mt8186_mutex_driver_data},
{ .compatible = "mediatek,mt8186-mdp3-mutex",
.data = &mt8186_mdp_mutex_driver_data},
{ .compatible = "mediatek,mt8192-disp-mutex",
.data = &mt8192_mutex_driver_data},
{ .compatible = "mediatek,mt8195-disp-mutex",
.data = &mt8195_mutex_driver_data},
{ .compatible = "mediatek,mt8365-disp-mutex",
.data = &mt8365_mutex_driver_data},
I don't see any SoC compatible with mt8635, and I have no idea which
rework you have in mind. Can you please point me an example ?
Thanks
Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread* Re: [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-15 8:01 ` Alexandre Mergnat
@ 2023-03-15 8:17 ` Alexandre Mergnat
2023-03-15 13:17 ` Krzysztof Kozlowski
1 sibling, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-15 8:17 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Maybe "oneOf" should be added at least ?
compatible:
oneOf:
- enum:
Regards,
Alex
Le mer. 15 mars 2023 à 09:01, Alexandre Mergnat
<amergnat@baylibre.com> a écrit :
>
> Le ven. 10 mars 2023 à 09:39, Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> a écrit :
> >
> > On 09/03/2023 15:23, Alexandre Mergnat wrote:
> > > Add compatible for the MT8365 SoC.
> > >
> > > Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> > > ---
> > > Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> > > index ca0ca549257d..931d66893dff 100644
> > > --- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> > > +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> > > @@ -34,6 +34,7 @@ properties:
> > > - mediatek,mt8186-mdp3-mutex
> > > - mediatek,mt8192-disp-mutex
> > > - mediatek,mt8195-disp-mutex
> > > + - mediatek,mt8365-disp-mutex
> >
> > All these look compatible. Either make mt8635 compatible with something
> > or even rework entire list and make everything compatible.
>
> All of them use "mtk_mutec.c" but have specific data.
>
> .data = &mt8173_mutex_driver_data},
> { .compatible = "mediatek,mt8183-disp-mutex",
> .data = &mt8183_mutex_driver_data},
> { .compatible = "mediatek,mt8186-disp-mutex",
> .data = &mt8186_mutex_driver_data},
> { .compatible = "mediatek,mt8186-mdp3-mutex",
> .data = &mt8186_mdp_mutex_driver_data},
> { .compatible = "mediatek,mt8192-disp-mutex",
> .data = &mt8192_mutex_driver_data},
> { .compatible = "mediatek,mt8195-disp-mutex",
> .data = &mt8195_mutex_driver_data},
> { .compatible = "mediatek,mt8365-disp-mutex",
> .data = &mt8365_mutex_driver_data},
>
> I don't see any SoC compatible with mt8635, and I have no idea which
> rework you have in mind. Can you please point me an example ?
>
> Thanks
> Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread* Re: [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-15 8:01 ` Alexandre Mergnat
2023-03-15 8:17 ` Alexandre Mergnat
@ 2023-03-15 13:17 ` Krzysztof Kozlowski
1 sibling, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-15 13:17 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 15/03/2023 09:01, Alexandre Mergnat wrote:
> Le ven. 10 mars 2023 à 09:39, Krzysztof Kozlowski
> <krzysztof.kozlowski@linaro.org> a écrit :
>>
>> On 09/03/2023 15:23, Alexandre Mergnat wrote:
>>> Add compatible for the MT8365 SoC.
>>>
>>> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
>>> ---
>>> Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
>>> 1 file changed, 1 insertion(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
>>> index ca0ca549257d..931d66893dff 100644
>>> --- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
>>> +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
>>> @@ -34,6 +34,7 @@ properties:
>>> - mediatek,mt8186-mdp3-mutex
>>> - mediatek,mt8192-disp-mutex
>>> - mediatek,mt8195-disp-mutex
>>> + - mediatek,mt8365-disp-mutex
>>
>> All these look compatible. Either make mt8635 compatible with something
>> or even rework entire list and make everything compatible.
>
> All of them use "mtk_mutec.c" but have specific data.
>
> .data = &mt8173_mutex_driver_data},
> { .compatible = "mediatek,mt8183-disp-mutex",
> .data = &mt8183_mutex_driver_data},
> { .compatible = "mediatek,mt8186-disp-mutex",
> .data = &mt8186_mutex_driver_data},
> { .compatible = "mediatek,mt8186-mdp3-mutex",
> .data = &mt8186_mdp_mutex_driver_data},
> { .compatible = "mediatek,mt8192-disp-mutex",
> .data = &mt8192_mutex_driver_data},
> { .compatible = "mediatek,mt8195-disp-mutex",
> .data = &mt8195_mutex_driver_data},
> { .compatible = "mediatek,mt8365-disp-mutex",
> .data = &mt8365_mutex_driver_data},
>
> I don't see any SoC compatible with mt8635, and I have no idea which
> rework you have in mind. Can you please point me an example ?
You are right, I looked at wrong of_device_id.
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-09 14:23 ` [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC Alexandre Mergnat
2023-03-10 8:39 ` Krzysztof Kozlowski
@ 2023-03-15 13:22 ` Krzysztof Kozlowski
2023-03-31 17:51 ` Matthias Brugger
2 siblings, 0 replies; 58+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-15 13:22 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:23, Alexandre Mergnat wrote:
> Add compatible for the MT8365 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards,
Krzysztof
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* Re: [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC
2023-03-09 14:23 ` [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC Alexandre Mergnat
2023-03-10 8:39 ` Krzysztof Kozlowski
2023-03-15 13:22 ` Krzysztof Kozlowski
@ 2023-03-31 17:51 ` Matthias Brugger
2 siblings, 0 replies; 58+ messages in thread
From: Matthias Brugger @ 2023-03-31 17:51 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, David Airlie,
Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
On 09/03/2023 15:23, Alexandre Mergnat wrote:
> Add compatible for the MT8365 SoC.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
Applied, thanks!
> ---
> Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> index ca0ca549257d..931d66893dff 100644
> --- a/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> +++ b/Documentation/devicetree/bindings/soc/mediatek/mediatek,mutex.yaml
> @@ -34,6 +34,7 @@ properties:
> - mediatek,mt8186-mdp3-mutex
> - mediatek,mt8192-disp-mutex
> - mediatek,mt8195-disp-mutex
> + - mediatek,mt8365-disp-mutex
>
> reg:
> maxItems: 1
>
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 16/21] arm64: dts: mediatek: add display blocks support for the MT8365 SoC
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (14 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 15/21] dt-bindings: soc: mediatek: add display mutex for MT8365 SoC Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-09 14:23 ` [PATCH 17/21] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
` (4 subsequent siblings)
20 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
- Add aliases for each display components to help display drivers.
- Add the Display Pulse Width Modulation (DISP_PWM) to provide PWM signals
for the LED driver of mobile LCM.
- Add the MIPI Display Serial Interface (DSI) PHY support. (up to 4-lane
output)
- Add the display mutex support.
- Add the following display component support:
- OVL0 (Overlay)
- RDMA0 (Data Path Read DMA)
- Color0
- CCorr0 (Color Correction)
- AAL0 (Adaptive Ambient Light)
- GAMMA0
- Dither0
- DSI0 (Display Serial Interface)
- RDMA1 (Data Path Read DMA)
- DPI0 (Display Parallel Interface)
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 147 +++++++++++++++++++++++++++++++
1 file changed, 147 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8365.dtsi b/arch/arm64/boot/dts/mediatek/mt8365.dtsi
index 1034b652dd0f..49d8bf145933 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8365.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/clock/mediatek,mt8365-clk.h>
#include <dt-bindings/interrupt-controller/arm-gic.h>
#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/memory/mediatek,mt8365-larb-port.h>
#include <dt-bindings/phy/phy.h>
#include <dt-bindings/power/mediatek,mt8365-power.h>
@@ -17,6 +18,19 @@ / {
#address-cells = <2>;
#size-cells = <2>;
+ aliases {
+ aal0 = &aal0;
+ ccorr0 = &ccorr0;
+ color0 = &color0;
+ dither0 = &dither0;
+ dpi0 = &dpi0;
+ dsi0 = &dsi0;
+ gamma0 = &gamma0;
+ ovl0 = &ovl0;
+ rdma0 = &rdma0;
+ rdma1 = &rdma1;
+ };
+
cpus {
#address-cells = <1>;
#size-cells = <0>;
@@ -481,6 +495,17 @@ spi: spi@1100a000 {
status = "disabled";
};
+ disp_pwm: pwm@1100e000 {
+ compatible = "mediatek,mt8365-disp-pwm",
+ "mediatek,mt8183-disp-pwm";
+ reg = <0 0x1100e000 0 0x1000>;
+ clock-names = "main", "mm";
+ clocks = <&topckgen CLK_TOP_DISP_PWM_SEL>,
+ <&infracfg CLK_IFR_DISP_PWM>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ #pwm-cells = <2>;
+ };
+
i2c3: i2c@1100f000 {
compatible = "mediatek,mt8365-i2c",
"mediatek,mt8168-i2c";
@@ -580,6 +605,15 @@ ethernet: ethernet@112a0000 {
status = "disabled";
};
+ mipi_tx0: dsi-phy@11c00000 {
+ compatible = "mediatek,mt8365-mipi-tx", "mediatek,mt8183-mipi-tx";
+ reg = <0 0x11c00000 0 0x800>;
+ clock-output-names = "mipi_tx0_pll";
+ clocks = <&clk26m>;
+ #clock-cells = <0>;
+ #phy-cells = <0>;
+ };
+
u3phy: t-phy@11cc0000 {
compatible = "mediatek,mt8365-tphy", "mediatek,generic-tphy-v2";
#address-cells = <1>;
@@ -609,6 +643,13 @@ mmsys: syscon@14000000 {
#clock-cells = <1>;
};
+ mutex: mutex@14001000 {
+ compatible = "mediatek,mt8365-disp-mutex";
+ reg = <0 0x14001000 0 0x1000>;
+ interrupts = <GIC_SPI 154 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
smi_common: smi@14002000 {
compatible = "mediatek,mt8365-smi-common",
"mediatek,mt8186-smi-common";
@@ -633,6 +674,112 @@ larb0: larb@14003000 {
mediatek,larb-id = <0>;
};
+ ovl0: ovl@1400b000 {
+ compatible = "mediatek,mt8365-disp-ovl",
+ "mediatek,mt8192-disp-ovl";
+ reg = <0 0x1400b000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_OVL0>;
+ interrupts = <GIC_SPI 161 IRQ_TYPE_LEVEL_LOW>;
+ iommus = <&iommu M4U_PORT_DISP_OVL0>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ rdma0: rdma@1400d000 {
+ compatible = "mediatek,mt8365-disp-rdma",
+ "mediatek,mt8183-disp-rdma";
+ reg = <0 0x1400d000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_RDMA0>;
+ interrupts = <GIC_SPI 162 IRQ_TYPE_LEVEL_LOW>;
+ iommus = <&iommu M4U_PORT_DISP_RDMA0>;
+ mediatek,rdma-fifo-size = <5120>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ color0: color@1400f000 {
+ compatible = "mediatek,mt8365-disp-color",
+ "mediatek,mt8173-disp-color";
+ reg = <0 0x1400f000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_COLOR0>;
+ interrupts = <GIC_SPI 164 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ ccorr0: ccorr@14010000 {
+ compatible = "mediatek,mt8365-disp-ccorr",
+ "mediatek,mt8183-disp-ccorr";
+ reg = <0 0x14010000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_CCORR0>;
+ interrupts = <GIC_SPI 165 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ aal0: aal@14011000 {
+ compatible = "mediatek,mt8365-disp-aal",
+ "mediatek,mt8183-disp-aal";
+ reg = <0 0x14011000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_AAL0>;
+ interrupts = <GIC_SPI 166 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ gamma0: gamma@14012000 {
+ compatible = "mediatek,mt8365-disp-gamma",
+ "mediatek,mt8183-disp-gamma";
+ reg = <0 0x14012000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_GAMMA0>;
+ interrupts = <GIC_SPI 167 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ dither0: dither@14013000 {
+ compatible = "mediatek,mt8365-disp-dither",
+ "mediatek,mt8183-disp-dither";
+ reg = <0 0x14013000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_DITHER0>;
+ interrupts = <GIC_SPI 168 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ dsi0: dsi@14014000 {
+ compatible = "mediatek,mt8183-dsi";
+ reg = <0 0x14014000 0 0x1000>;
+ clock-names = "engine", "digital", "hs";
+ clocks = <&mmsys CLK_MM_MM_DSI0>,
+ <&mmsys CLK_MM_DSI0_DIG_DSI>,
+ <&mipi_tx0>;
+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_LOW>;
+ phy-names = "dphy";
+ phys = <&mipi_tx0>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ rdma1: rdma@14016000 {
+ compatible = "mediatek,mt8365-disp-rdma",
+ "mediatek,mt8183-disp-rdma";
+ reg = <0 0x14016000 0 0x1000>;
+ clocks = <&mmsys CLK_MM_MM_DISP_RDMA1>;
+ interrupts = <GIC_SPI 195 IRQ_TYPE_LEVEL_LOW>;
+ iommus = <&iommu M4U_PORT_DISP_RDMA1>;
+ mediatek,rdma-fifo-size = <2048>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ };
+
+ dpi0: dpi@14018000 {
+ compatible = "mediatek,mt8365-dpi",
+ "mediatek,mt8192-dpi";
+ reg = <0 0x14018000 0 0x1000>;
+ assigned-clock-parents = <&topckgen CLK_TOP_LVDSPLL_D4>;
+ assigned-clocks = <&topckgen CLK_TOP_DPI0_SEL>;
+ clock-names = "pixel", "engine", "pll", "dpi";
+ clocks = <&topckgen CLK_TOP_DPI0_SEL>,
+ <&mmsys CLK_MM_MM_DPI0>,
+ <&apmixedsys CLK_APMIXED_LVDSPLL>,
+ <&mmsys CLK_MM_DPI0_DPI0>;
+ interrupts = <GIC_SPI 197 IRQ_TYPE_LEVEL_LOW>;
+ power-domains = <&spm MT8365_POWER_DOMAIN_MM>;
+ status = "disabled";
+ };
+
camsys: syscon@15000000 {
compatible = "mediatek,mt8365-imgsys", "syscon";
reg = <0 0x15000000 0 0x1000>;
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* [PATCH 17/21] arm64: dts: mediatek: add display support for mt8365-evk
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (15 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 16/21] arm64: dts: mediatek: add display blocks support for the " Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-09 14:23 ` [PATCH 18/21] drm/mediatek: dsi: Improves the DSI lane setup robustness Alexandre Mergnat
` (3 subsequent siblings)
20 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
MIPI DSI:
- Add "vsys_lcm_reg" regulator support and setup the "mt6357_vsim1_reg",
to power the pannel plugged to the DSI connector.
- Setup the Display Parallel Interface.
- Add the startek kd070fhfid015 pannel support.
HDMI:
- Add HDMI connector support.
- Add the "ite,it66121" HDMI bridge support, driven by I2C1.
- Setup the Display Parallel Interface.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 204 ++++++++++++++++++++++++++++
1 file changed, 204 insertions(+)
diff --git a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
index 30850e7c8155..793f5a9cbeae 100644
--- a/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8365-evk.dts
@@ -26,6 +26,18 @@ chosen {
stdout-path = "serial0:921600n8";
};
+ connector {
+ compatible = "hdmi-connector";
+ label = "hdmi";
+ type = "d";
+
+ port {
+ hdmi_connector_in: endpoint {
+ remote-endpoint = <&hdmi_connector_out>;
+ };
+ };
+ };
+
firmware {
optee {
compatible = "linaro,optee-tz";
@@ -86,6 +98,59 @@ optee_reserved: optee@43200000 {
reg = <0 0x43200000 0 0x00c00000>;
};
};
+
+ vsys_lcm_reg: regulator-vsys-lcm {
+ compatible = "regulator-fixed";
+ enable-active-high;
+ gpio = <&pio 129 GPIO_ACTIVE_HIGH>;
+ regulator-max-microvolt = <5000000>;
+ regulator-min-microvolt = <5000000>;
+ regulator-name = "vsys_lcm";
+ };
+};
+
+&dpi0 {
+ pinctrl-0 = <&dpi_default_pins>;
+ pinctrl-1 = <&dpi_idle_pins>;
+ pinctrl-names = "default", "sleep";
+ status = "okay";
+
+ port {
+ dpi_out: endpoint {
+ remote-endpoint = <&it66121_in>;
+ };
+ };
+};
+
+
+&dsi0 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ status = "okay";
+
+ panel@0 {
+ compatible = "startek,kd070fhfid015";
+ status = "okay";
+ reg = <0>;
+ dcdc-gpios = <&pio 67 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&pio 20 GPIO_ACTIVE_HIGH>;
+ pinctrl-0 = <&default_panel_pins>;
+ pinctrl-names = "default";
+ iovcc-supply = <&mt6357_vsim1_reg>;
+ power-supply = <&vsys_lcm_reg>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&dsi_out>;
+ };
+ };
+ };
+
+ port {
+ dsi_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
};
&i2c0 {
@@ -97,6 +162,50 @@ &i2c0 {
#size-cells = <0>;
};
+&i2c1 {
+ #address-cells = <1>;
+ #size-cells = <0>;
+ clock-div = <2>;
+ clock-frequency = <100000>;
+ pinctrl-0 = <&i2c1_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+
+ it66121hdmitx: it66121hdmitx@4c {
+ #sound-dai-cells = <0>;
+ compatible = "ite,it66121";
+ interrupt-parent = <&pio>;
+ interrupts = <68 IRQ_TYPE_LEVEL_LOW>;
+ pinctrl-0 = <&ite_pins>;
+ pinctrl-names = "default";
+ reg = <0x4c>;
+ reset-gpios = <&pio 69 GPIO_ACTIVE_LOW>;
+ vcn18-supply = <&mt6357_vsim2_reg>;
+ vcn33-supply = <&mt6357_vibr_reg>;
+ vrf12-supply = <&mt6357_vrf12_reg>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ it66121_in: endpoint {
+ bus-width = <12>;
+ remote-endpoint = <&dpi_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ hdmi_connector_out: endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+};
+
&mmc0 {
pinctrl-names = "default", "state_uhs";
pinctrl-0 = <&mmc0_default_pins>;
@@ -150,12 +259,60 @@ &mt6357_vmc_reg {
regulator-always-on;
};
+&mt6357_vsim1_reg {
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+};
+
/* Needed by ethernet */
&mt6357_vsim2_reg {
regulator-always-on;
};
&pio {
+ dpi_default_pins: dpi-default-pins {
+ pins {
+ pinmux = <MT8365_PIN_0_GPIO0__FUNC_DPI_D0>,
+ <MT8365_PIN_1_GPIO1__FUNC_DPI_D1>,
+ <MT8365_PIN_2_GPIO2__FUNC_DPI_D2>,
+ <MT8365_PIN_3_GPIO3__FUNC_DPI_D3>,
+ <MT8365_PIN_4_GPIO4__FUNC_DPI_D4>,
+ <MT8365_PIN_5_GPIO5__FUNC_DPI_D5>,
+ <MT8365_PIN_6_GPIO6__FUNC_DPI_D6>,
+ <MT8365_PIN_7_GPIO7__FUNC_DPI_D7>,
+ <MT8365_PIN_8_GPIO8__FUNC_DPI_D8>,
+ <MT8365_PIN_9_GPIO9__FUNC_DPI_D9>,
+ <MT8365_PIN_10_GPIO10__FUNC_DPI_D10>,
+ <MT8365_PIN_11_GPIO11__FUNC_DPI_D11>,
+ <MT8365_PIN_12_GPIO12__FUNC_DPI_DE>,
+ <MT8365_PIN_13_GPIO13__FUNC_DPI_VSYNC>,
+ <MT8365_PIN_14_GPIO14__FUNC_DPI_CK>,
+ <MT8365_PIN_15_GPIO15__FUNC_DPI_HSYNC>;
+ drive-strength = <MTK_DRIVE_4mA>;
+ };
+ };
+
+ dpi_idle_pins: dpi-idle-pins {
+ pins {
+ pinmux = <MT8365_PIN_0_GPIO0__FUNC_GPIO0>,
+ <MT8365_PIN_1_GPIO1__FUNC_GPIO1>,
+ <MT8365_PIN_2_GPIO2__FUNC_GPIO2>,
+ <MT8365_PIN_3_GPIO3__FUNC_GPIO3>,
+ <MT8365_PIN_4_GPIO4__FUNC_GPIO4>,
+ <MT8365_PIN_5_GPIO5__FUNC_GPIO5>,
+ <MT8365_PIN_6_GPIO6__FUNC_GPIO6>,
+ <MT8365_PIN_7_GPIO7__FUNC_GPIO7>,
+ <MT8365_PIN_8_GPIO8__FUNC_GPIO8>,
+ <MT8365_PIN_9_GPIO9__FUNC_GPIO9>,
+ <MT8365_PIN_10_GPIO10__FUNC_GPIO10>,
+ <MT8365_PIN_11_GPIO11__FUNC_GPIO11>,
+ <MT8365_PIN_12_GPIO12__FUNC_GPIO12>,
+ <MT8365_PIN_13_GPIO13__FUNC_GPIO13>,
+ <MT8365_PIN_14_GPIO14__FUNC_GPIO14>,
+ <MT8365_PIN_15_GPIO15__FUNC_GPIO15>;
+ };
+ };
+
gpio_keys: gpio-keys-pins {
pins {
pinmux = <MT8365_PIN_24_KPCOL0__FUNC_KPCOL0>;
@@ -174,6 +331,36 @@ pins_i2c {
};
};
+ i2c1_pins: i2c1 {
+ pins_i2c {
+ pinmux = <MT8365_PIN_59_SDA1__FUNC_SDA1_0>,
+ <MT8365_PIN_60_SCL1__FUNC_SCL1_0>;
+ mediatek,pull-up-adv = <3>;
+ mediatek,drive-strength-adv = <00>;
+ bias-pull-up;
+ };
+ };
+
+ ite_pins: ite-pins {
+
+ irq_ite_pins {
+ pinmux = <MT8365_PIN_68_CMDAT0__FUNC_GPIO68>;
+ input-enable;
+ bias-pull-up;
+ };
+
+ pwr_pins {
+ pinmux = <MT8365_PIN_70_CMDAT2__FUNC_GPIO70>,
+ <MT8365_PIN_71_CMDAT3__FUNC_GPIO71>;
+ output-high;
+ };
+
+ rst_ite_pins {
+ pinmux = <MT8365_PIN_69_CMDAT1__FUNC_GPIO69>;
+ output-high;
+ };
+ };
+
mmc0_default_pins: mmc0-default-pins {
clk-pins {
pinmux = <MT8365_PIN_99_MSDC0_CLK__FUNC_MSDC0_CLK>;
@@ -315,6 +502,23 @@ usb1-vbus-pins {
};
};
+ default_panel_pins: default-panel-pins {
+ dcdc-pins {
+ pinmux = <MT8365_PIN_67_CMPCLK__FUNC_GPIO67>;
+ output-low;
+ };
+
+ en-pins {
+ pinmux = <MT8365_PIN_129_TDM_TX_BCK__FUNC_GPIO129>;
+ output-low;
+ };
+
+ rst-pins {
+ pinmux = <MT8365_PIN_20_LCM_RST__FUNC_GPIO20>;
+ output-high;
+ };
+ };
+
pwm_pins: pwm-pins {
pins {
pinmux = <MT8365_PIN_19_DISP_PWM__FUNC_PWM_A>,
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* [PATCH 18/21] drm/mediatek: dsi: Improves the DSI lane setup robustness
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (16 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 17/21] arm64: dts: mediatek: add display support for mt8365-evk Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-27 15:37 ` Chun-Kuang Hu
2023-03-09 14:23 ` [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock Alexandre Mergnat
` (2 subsequent siblings)
20 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
Currently, mtk_dsi_lane_ready (which setup the DSI lane) is triggered
before mtk_dsi_poweron. lanes_ready flag toggle to true during
mtk_dsi_lane_ready function, and the DSI module is set up during
mtk_dsi_poweron.
Later, during panel driver init, mtk_dsi_lane_ready is triggered but does
nothing because lanes are considered ready. Unfortunately, when the panel
driver try to communicate, the DSI returns a timeout.
The solution found here is to put lanes_ready flag to false after the DSI
module setup into mtk_dsi_poweron to init the DSI lanes after the power /
setup of the DSI module.
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
index 3b7d13028fb6..35c36cc05c04 100644
--- a/drivers/gpu/drm/mediatek/mtk_dsi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
@@ -667,6 +667,8 @@ static int mtk_dsi_poweron(struct mtk_dsi *dsi)
mtk_dsi_config_vdo_timing(dsi);
mtk_dsi_set_interrupt_enable(dsi);
+ dsi->lanes_ready = false;
+
return 0;
err_disable_engine_clk:
clk_disable_unprepare(dsi->engine_clk);
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 18/21] drm/mediatek: dsi: Improves the DSI lane setup robustness
2023-03-09 14:23 ` [PATCH 18/21] drm/mediatek: dsi: Improves the DSI lane setup robustness Alexandre Mergnat
@ 2023-03-27 15:37 ` Chun-Kuang Hu
0 siblings, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-27 15:37 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Xinlei:
Could you help to review this patch?
Regards,
Chun-Kuang.
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> Currently, mtk_dsi_lane_ready (which setup the DSI lane) is triggered
> before mtk_dsi_poweron. lanes_ready flag toggle to true during
> mtk_dsi_lane_ready function, and the DSI module is set up during
> mtk_dsi_poweron.
>
> Later, during panel driver init, mtk_dsi_lane_ready is triggered but does
> nothing because lanes are considered ready. Unfortunately, when the panel
> driver try to communicate, the DSI returns a timeout.
>
> The solution found here is to put lanes_ready flag to false after the DSI
> module setup into mtk_dsi_poweron to init the DSI lanes after the power /
> setup of the DSI module.
>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c
> index 3b7d13028fb6..35c36cc05c04 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dsi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c
> @@ -667,6 +667,8 @@ static int mtk_dsi_poweron(struct mtk_dsi *dsi)
> mtk_dsi_config_vdo_timing(dsi);
> mtk_dsi_set_interrupt_enable(dsi);
>
> + dsi->lanes_ready = false;
> +
> return 0;
> err_disable_engine_clk:
> clk_disable_unprepare(dsi->engine_clk);
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (17 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 18/21] drm/mediatek: dsi: Improves the DSI lane setup robustness Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-13 15:21 ` Chun-Kuang Hu
2023-03-09 14:23 ` [PATCH 20/21] drm/mediatek: add MT8365 SoC support Alexandre Mergnat
2023-03-09 14:23 ` [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display Alexandre Mergnat
20 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
From: Fabien Parent <fparent@baylibre.com>
MT8365 requires an additional clock for DPI. Add support for that
additional clock.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
drivers/gpu/drm/mediatek/mtk_dpi.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c
index 4317595a15d1..474c6e5bbf04 100644
--- a/drivers/gpu/drm/mediatek/mtk_dpi.c
+++ b/drivers/gpu/drm/mediatek/mtk_dpi.c
@@ -68,6 +68,7 @@ struct mtk_dpi {
struct device *dev;
struct clk *engine_clk;
struct clk *pixel_clk;
+ struct clk *dpi_clk;
struct clk *tvd_clk;
int irq;
struct drm_display_mode mode;
@@ -464,6 +465,7 @@ static void mtk_dpi_power_off(struct mtk_dpi *dpi)
mtk_dpi_disable(dpi);
clk_disable_unprepare(dpi->pixel_clk);
clk_disable_unprepare(dpi->engine_clk);
+ clk_disable_unprepare(dpi->dpi_clk);
}
static int mtk_dpi_power_on(struct mtk_dpi *dpi)
@@ -473,10 +475,16 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
if (++dpi->refcount != 1)
return 0;
+ ret = clk_prepare_enable(dpi->dpi_clk);
+ if (ret) {
+ dev_err(dpi->dev, "failed to enable dpi clock: %d\n", ret);
+ goto err_refcount;
+ }
+
ret = clk_prepare_enable(dpi->engine_clk);
if (ret) {
dev_err(dpi->dev, "Failed to enable engine clock: %d\n", ret);
- goto err_refcount;
+ goto err_engine;
}
ret = clk_prepare_enable(dpi->pixel_clk);
@@ -489,6 +497,8 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
err_pixel:
clk_disable_unprepare(dpi->engine_clk);
+err_engine:
+ clk_disable_unprepare(dpi->dpi_clk);
err_refcount:
dpi->refcount--;
return ret;
@@ -1044,6 +1054,12 @@ static int mtk_dpi_probe(struct platform_device *pdev)
return ret;
}
+ dpi->dpi_clk = devm_clk_get_optional(dev, "dpi");
+ if (IS_ERR(dpi->dpi_clk)) {
+ return dev_err_probe(dev, ret, "Failed to get dpi clock: %p\n",
+ dpi->dpi_clk);
+ }
+
dpi->irq = platform_get_irq(pdev, 0);
if (dpi->irq <= 0)
return -EINVAL;
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock
2023-03-09 14:23 ` [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock Alexandre Mergnat
@ 2023-03-13 15:21 ` Chun-Kuang Hu
2023-03-15 9:35 ` Alexandre Mergnat
0 siblings, 1 reply; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-13 15:21 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月9日 週四 下午10:23寫道:
>
> From: Fabien Parent <fparent@baylibre.com>
>
> MT8365 requires an additional clock for DPI. Add support for that
> additional clock.
>
> Signed-off-by: Fabien Parent <fparent@baylibre.com>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> drivers/gpu/drm/mediatek/mtk_dpi.c | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_dpi.c b/drivers/gpu/drm/mediatek/mtk_dpi.c
> index 4317595a15d1..474c6e5bbf04 100644
> --- a/drivers/gpu/drm/mediatek/mtk_dpi.c
> +++ b/drivers/gpu/drm/mediatek/mtk_dpi.c
> @@ -68,6 +68,7 @@ struct mtk_dpi {
> struct device *dev;
> struct clk *engine_clk;
> struct clk *pixel_clk;
> + struct clk *dpi_clk;
> struct clk *tvd_clk;
> int irq;
> struct drm_display_mode mode;
> @@ -464,6 +465,7 @@ static void mtk_dpi_power_off(struct mtk_dpi *dpi)
> mtk_dpi_disable(dpi);
> clk_disable_unprepare(dpi->pixel_clk);
> clk_disable_unprepare(dpi->engine_clk);
> + clk_disable_unprepare(dpi->dpi_clk);
> }
>
> static int mtk_dpi_power_on(struct mtk_dpi *dpi)
> @@ -473,10 +475,16 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
> if (++dpi->refcount != 1)
> return 0;
>
> + ret = clk_prepare_enable(dpi->dpi_clk);
> + if (ret) {
> + dev_err(dpi->dev, "failed to enable dpi clock: %d\n", ret);
> + goto err_refcount;
> + }
> +
> ret = clk_prepare_enable(dpi->engine_clk);
> if (ret) {
> dev_err(dpi->dev, "Failed to enable engine clock: %d\n", ret);
> - goto err_refcount;
> + goto err_engine;
> }
>
> ret = clk_prepare_enable(dpi->pixel_clk);
> @@ -489,6 +497,8 @@ static int mtk_dpi_power_on(struct mtk_dpi *dpi)
>
> err_pixel:
> clk_disable_unprepare(dpi->engine_clk);
> +err_engine:
> + clk_disable_unprepare(dpi->dpi_clk);
> err_refcount:
> dpi->refcount--;
> return ret;
> @@ -1044,6 +1054,12 @@ static int mtk_dpi_probe(struct platform_device *pdev)
> return ret;
> }
>
> + dpi->dpi_clk = devm_clk_get_optional(dev, "dpi");
For MT8365, DPI clock is not optional, so make sure that MT8365 DPI
should have this clock.
Regards,
Chun-Kuang.
> + if (IS_ERR(dpi->dpi_clk)) {
> + return dev_err_probe(dev, ret, "Failed to get dpi clock: %p\n",
> + dpi->dpi_clk);
> + }
> +
> dpi->irq = platform_get_irq(pdev, 0);
> if (dpi->irq <= 0)
> return -EINVAL;
>
> --
> b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread* Re: [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock
2023-03-13 15:21 ` Chun-Kuang Hu
@ 2023-03-15 9:35 ` Alexandre Mergnat
2023-03-15 14:17 ` Chun-Kuang Hu
0 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-15 9:35 UTC (permalink / raw)
To: Chun-Kuang Hu
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Le lun. 13 mars 2023 à 16:21, Chun-Kuang Hu <chunkuang.hu@kernel.org> a écrit :
>
> >
> > + dpi->dpi_clk = devm_clk_get_optional(dev, "dpi");
>
> For MT8365, DPI clock is not optional, so make sure that MT8365 DPI
> should have this clock.
This should be check and notified at build time thanks to the
device-tree binding. Do you prefer this?:
#IF MT8365_SOC
dpi->dpi_clk = devm_clk_get(dev, "dpi");
Regards,
Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread* Re: [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock
2023-03-15 9:35 ` Alexandre Mergnat
@ 2023-03-15 14:17 ` Chun-Kuang Hu
0 siblings, 0 replies; 58+ messages in thread
From: Chun-Kuang Hu @ 2023-03-15 14:17 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Chun-Kuang Hu, Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding,
Philipp Zabel, Sam Ravnborg, Rob Herring, Uwe Kleine-König,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, Neil Armstrong, linux-pwm, devicetree,
linux-kernel
Hi, Alexandre:
Alexandre Mergnat <amergnat@baylibre.com> 於 2023年3月15日 週三 下午5:36寫道:
>
> Le lun. 13 mars 2023 à 16:21, Chun-Kuang Hu <chunkuang.hu@kernel.org> a écrit :
> >
> > >
> > > + dpi->dpi_clk = devm_clk_get_optional(dev, "dpi");
> >
> > For MT8365, DPI clock is not optional, so make sure that MT8365 DPI
> > should have this clock.
>
> This should be check and notified at build time thanks to the
> device-tree binding. Do you prefer this?:
> #IF MT8365_SOC
> dpi->dpi_clk = devm_clk_get(dev, "dpi");
Add one member in struct mtk_dpi_conf for dpi_clk. In
mtk_dpi_of_ids[], add one item for mt8365
{ .compatible = "mediatek,mt8365-dpi",
.data = &mt8365_conf,
},
Regards,
Chun-Kuang.
>
> Regards,
> Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread
* [PATCH 20/21] drm/mediatek: add MT8365 SoC support
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (18 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 19/21] drm/mediatek: dpi: add support for dpi clock Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-09 14:23 ` [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display Alexandre Mergnat
20 siblings, 0 replies; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
From: Fabien Parent <fparent@baylibre.com>
Add DRM support for MT8365 SoC.
Signed-off-by: Fabien Parent <fparent@baylibre.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
drivers/gpu/drm/mediatek/mtk_drm_drv.c | 35 ++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_drv.c b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
index cd5b18ef7951..b905f38d5660 100644
--- a/drivers/gpu/drm/mediatek/mtk_drm_drv.c
+++ b/drivers/gpu/drm/mediatek/mtk_drm_drv.c
@@ -210,6 +210,22 @@ static const enum mtk_ddp_comp_id mt8195_mtk_ddp_main[] = {
DDP_COMPONENT_DP_INTF0,
};
+static const enum mtk_ddp_comp_id mt8365_mtk_ddp_main[] = {
+ DDP_COMPONENT_OVL0,
+ DDP_COMPONENT_RDMA0,
+ DDP_COMPONENT_COLOR0,
+ DDP_COMPONENT_CCORR,
+ DDP_COMPONENT_AAL0,
+ DDP_COMPONENT_GAMMA,
+ DDP_COMPONENT_DITHER0,
+ DDP_COMPONENT_DSI0,
+};
+
+static const enum mtk_ddp_comp_id mt8365_mtk_ddp_ext[] = {
+ DDP_COMPONENT_RDMA1,
+ DDP_COMPONENT_DPI0,
+};
+
static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = {
.main_path = mt2701_mtk_ddp_main,
.main_len = ARRAY_SIZE(mt2701_mtk_ddp_main),
@@ -342,6 +358,21 @@ static const struct mtk_mmsys_match_data mt8195_mmsys_match_data = {
},
};
+static const struct mtk_mmsys_driver_data mt8365_mmsys_driver_data = {
+ .main_path = mt8365_mtk_ddp_main,
+ .main_len = ARRAY_SIZE(mt8365_mtk_ddp_main),
+ .ext_path = mt8365_mtk_ddp_ext,
+ .ext_len = ARRAY_SIZE(mt8365_mtk_ddp_ext),
+};
+
+static const struct mtk_mmsys_match_data mt8365_mmsys_match_data = {
+ .num_drv_data = 1,
+ .drv_data = {
+ &mt8365_mmsys_driver_data,
+ },
+};
+
+
static int mtk_drm_kms_init(struct drm_device *drm)
{
struct mtk_drm_private *private = drm->dev_private;
@@ -591,6 +622,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
.data = (void *)MTK_DISP_MUTEX },
{ .compatible = "mediatek,mt8195-disp-mutex",
.data = (void *)MTK_DISP_MUTEX },
+ { .compatible = "mediatek,mt8365-disp-mutex",
+ .data = (void *)MTK_DISP_MUTEX },
{ .compatible = "mediatek,mt8173-disp-od",
.data = (void *)MTK_DISP_OD },
{ .compatible = "mediatek,mt2701-disp-ovl",
@@ -673,6 +706,8 @@ static const struct of_device_id mtk_drm_of_ids[] = {
.data = &mt8192_mmsys_match_data},
{ .compatible = "mediatek,mt8195-mmsys",
.data = &mt8195_mmsys_match_data},
+ { .compatible = "mediatek,mt8365-mmsys",
+ .data = &mt8365_mmsys_match_data},
{ }
};
MODULE_DEVICE_TABLE(of, mtk_drm_of_ids);
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display
2023-03-09 14:22 [PATCH 00/21] Add display support for the MT8365-EVK board Alexandre Mergnat
` (19 preceding siblings ...)
2023-03-09 14:23 ` [PATCH 20/21] drm/mediatek: add MT8365 SoC support Alexandre Mergnat
@ 2023-03-09 14:23 ` Alexandre Mergnat
2023-03-09 14:51 ` Neil Armstrong
20 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-09 14:23 UTC (permalink / raw)
To: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek,
Alexandre Mergnat, dri-devel, Fabien Parent, Neil Armstrong,
linux-pwm, devicetree, linux-kernel
From: Guillaume La Roque <glaroque@baylibre.com>
This driver support the Startek KD070FHFID015, which is a 7-inch TFT LCD
display using MIPI DSI interface.
Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
---
drivers/gpu/drm/panel/Kconfig | 12 +
drivers/gpu/drm/panel/Makefile | 1 +
.../gpu/drm/panel/panel-startek-kd070fhfid015.c | 483 +++++++++++++++++++++
3 files changed, 496 insertions(+)
diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
index 737edcdf9eef..3fccf025013b 100644
--- a/drivers/gpu/drm/panel/Kconfig
+++ b/drivers/gpu/drm/panel/Kconfig
@@ -666,6 +666,17 @@ config DRM_PANEL_SONY_TULIP_TRULY_NT35521
NT35521 1280x720 video mode panel as found on Sony Xperia M4
Aqua phone.
+config DRM_PANEL_STARTEK_KD070FHFID015
+ tristate "STARTEK KD070FHFID015 panel"
+ depends on OF
+ depends on DRM_MIPI_DSI
+ depends on BACKLIGHT_CLASS_DEVICE
+ help
+ Say Y here if you want to enable support for STARTEK KD070FHFID015 DSI panel
+ based on RENESAS-R69429 controller. The pannel is a 7-inch TFT LCD display
+ with a resolution of 1024 x 600 pixels. It provides a MIPI DSI interface to
+ the host, a built-in LED backlight and touch controller.
+
config DRM_PANEL_TDO_TL070WSH30
tristate "TDO TL070WSH30 DSI panel"
depends on OF
@@ -736,4 +747,5 @@ config DRM_PANEL_XINPENG_XPP055C272
Say Y here if you want to enable support for the Xinpeng
XPP055C272 controller for 720x1280 LCD panels with MIPI/RGB/SPI
system interfaces.
+
endmenu
diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
index f8f9d9f6a307..35771fc51187 100644
--- a/drivers/gpu/drm/panel/Makefile
+++ b/drivers/gpu/drm/panel/Makefile
@@ -67,6 +67,7 @@ obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o
obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o
obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o
obj-$(CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521) += panel-sony-tulip-truly-nt35521.o
+obj-$(CONFIG_DRM_PANEL_STARTEK_KD070FHFID015) += panel-startek-kd070fhfid015.o
obj-$(CONFIG_DRM_PANEL_TDO_TL070WSH30) += panel-tdo-tl070wsh30.o
obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o
obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
diff --git a/drivers/gpu/drm/panel/panel-startek-kd070fhfid015.c b/drivers/gpu/drm/panel/panel-startek-kd070fhfid015.c
new file mode 100644
index 000000000000..88466bf6428d
--- /dev/null
+++ b/drivers/gpu/drm/panel/panel-startek-kd070fhfid015.c
@@ -0,0 +1,483 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2016 InforceComputing
+ * Copyright (C) 2016 Linaro Ltd
+ * Copyright (C) 2023 BayLibre, SAS
+ *
+ * Author:
+ * - Vinay Simha BN <simhavcs@gmail.com>
+ * - Sumit Semwal <sumit.semwal@linaro.org>
+ * - Guillaume La Roque <glaroque@baylibre.com>
+ *
+ */
+
+#include <linux/backlight.h>
+#include <linux/delay.h>
+#include <linux/gpio/consumer.h>
+#include <linux/module.h>
+#include <linux/of.h>
+#include <linux/regulator/consumer.h>
+
+#include <video/mipi_display.h>
+
+#include <drm/drm_crtc.h>
+#include <drm/drm_mipi_dsi.h>
+#include <drm/drm_modes.h>
+#include <drm/drm_panel.h>
+
+#define DSI_REG_MCAP 0xB0
+#define DSI_REG_IS 0xB3 /* Interface Setting */
+#define DSI_REG_IIS 0xB4 /* Interface ID Setting */
+#define DSI_REG_CTRL 0xB6
+
+struct stk_panel {
+ struct drm_panel base;
+ struct mipi_dsi_device *dsi;
+
+ struct gpio_desc *enable_gpio;
+ struct gpio_desc *reset_gpio;
+ struct gpio_desc *dcdc_en_gpio;
+ struct backlight_device *backlight;
+ struct regulator *iovcc_supply;
+ struct regulator *power_supply;
+
+ bool prepared;
+ bool enabled;
+
+ const struct drm_display_mode *mode;
+};
+
+static inline struct stk_panel *to_stk_panel(struct drm_panel *panel)
+{
+ return container_of(panel, struct stk_panel, base);
+}
+
+static int stk_panel_init(struct stk_panel *stk)
+{
+ struct mipi_dsi_device *dsi = stk->dsi;
+ struct device *dev = &stk->dsi->dev;
+ int ret;
+
+ ret = mipi_dsi_dcs_soft_reset(dsi);
+ if (ret < 0) {
+ dev_err(dev, "failed to mipi_dsi_dcs_soft_reset: %d\n", ret);
+ return ret;
+ }
+ mdelay(5);
+
+ ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
+ if (ret < 0) {
+ dev_err(dev, "failed to set exit sleep mode: %d\n", ret);
+ return ret;
+ }
+ msleep(120);
+
+ ret = mipi_dsi_generic_write(dsi, (u8[]){DSI_REG_MCAP, 0x04}, 2);
+ if (ret < 0) {
+ dev_err(dev, "failed to set mcap: %d\n", ret);
+ return ret;
+ }
+ /* Interface setting, video mode */
+ ret = mipi_dsi_generic_write(dsi,
+ (u8[]){DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00}, 6);
+ if (ret < 0) {
+ dev_err(dev, "failed to set display interface setting: %d\n",
+ ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_generic_write(dsi, (u8[]){DSI_REG_IIS, 0x0C, 0x00}, 3);
+ if (ret < 0) {
+ dev_err(dev, "failed to set Interface ID setting: %d\n", ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_generic_write(dsi, (u8[]){ DSI_REG_CTRL, 0x3A, 0xD3}, 3);
+ if (ret < 0) {
+ dev_err(dev, "failed to set DSI control: %d\n", ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_dcs_set_display_brightness(dsi, 0x77);
+ if (ret < 0) {
+ dev_err(dev, "failed to write display brightness: %d\n", ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_dcs_write(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY,
+ (u8[]){ MIPI_DCS_WRITE_MEMORY_START }, 1);
+ if (ret < 0) {
+ dev_err(dev, "failed to write control display: %d\n", ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_dcs_set_pixel_format(dsi, 0x77);
+ if (ret < 0) {
+ dev_err(dev, "failed to set pixel format: %d\n", ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_dcs_set_column_address(dsi, 0, stk->mode->hdisplay - 1);
+ if (ret < 0) {
+ dev_err(dev, "failed to set column address: %d\n", ret);
+ return ret;
+ }
+
+ ret = mipi_dsi_dcs_set_page_address(dsi, 0, stk->mode->vdisplay - 1);
+ if (ret < 0) {
+ dev_err(dev, "failed to set page address: %d\n", ret);
+ return ret;
+ }
+
+ return 0;
+}
+
+static int stk_panel_on(struct stk_panel *stk)
+{
+ struct mipi_dsi_device *dsi = stk->dsi;
+ struct device *dev = &stk->dsi->dev;
+ int ret;
+
+ ret = mipi_dsi_dcs_set_display_on(dsi);
+ if (ret < 0)
+ dev_err(dev, "failed to set display on: %d\n", ret);
+
+ mdelay(20);
+
+ return ret;
+}
+
+static void stk_panel_off(struct stk_panel *stk)
+{
+ struct mipi_dsi_device *dsi = stk->dsi;
+ struct device *dev = &stk->dsi->dev;
+ int ret;
+
+ dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
+
+ ret = mipi_dsi_dcs_set_display_off(dsi);
+ if (ret < 0)
+ dev_err(dev, "failed to set display off: %d\n", ret);
+
+ ret = mipi_dsi_dcs_enter_sleep_mode(dsi);
+ if (ret < 0)
+ dev_err(dev, "failed to enter sleep mode: %d\n", ret);
+
+ msleep(100);
+}
+
+static int stk_panel_disable(struct drm_panel *panel)
+{
+ struct stk_panel *stk = to_stk_panel(panel);
+
+ if (!stk->enabled)
+ return 0;
+
+ backlight_disable(stk->backlight);
+
+ stk->enabled = false;
+
+ return 0;
+}
+
+static int stk_panel_unprepare(struct drm_panel *panel)
+{
+ struct stk_panel *stk = to_stk_panel(panel);
+
+ if (!stk->prepared)
+ return 0;
+
+ stk_panel_off(stk);
+ regulator_disable(stk->iovcc_supply);
+ regulator_disable(stk->power_supply);
+ gpiod_set_value(stk->reset_gpio, 0);
+ gpiod_set_value(stk->dcdc_en_gpio, 1);
+
+ stk->prepared = false;
+
+ return 0;
+}
+
+static int stk_panel_prepare(struct drm_panel *panel)
+{
+ struct stk_panel *stk = to_stk_panel(panel);
+ struct device *dev = &stk->dsi->dev;
+ int ret;
+
+ if (stk->prepared)
+ return 0;
+
+ gpiod_set_value(stk->reset_gpio, 0);
+ gpiod_set_value(stk->dcdc_en_gpio, 0);
+ gpiod_set_value(stk->enable_gpio, 0);
+ ret = regulator_enable(stk->iovcc_supply);
+ if (ret < 0)
+ return ret;
+ mdelay(8);
+ ret = regulator_enable(stk->power_supply);
+ if (ret < 0)
+ goto iovccoff;
+ mdelay(20);
+ gpiod_set_value(stk->dcdc_en_gpio, 1);
+ mdelay(20);
+ gpiod_set_value(stk->reset_gpio, 1);
+ mdelay(10);
+
+ ret = stk_panel_init(stk);
+ if (ret < 0) {
+ dev_err(dev, "failed to init panel: %d\n", ret);
+ goto poweroff;
+ }
+
+ ret = stk_panel_on(stk);
+ if (ret < 0) {
+ dev_err(dev, "failed to set panel on: %d\n", ret);
+ goto poweroff;
+ }
+
+ stk->prepared = true;
+
+ return 0;
+
+poweroff:
+ regulator_disable(stk->power_supply);
+iovccoff:
+ regulator_disable(stk->iovcc_supply);
+ gpiod_set_value(stk->enable_gpio, 0);
+ gpiod_set_value(stk->reset_gpio, 0);
+ gpiod_set_value(stk->dcdc_en_gpio, 0);
+
+ return ret;
+}
+
+static int stk_panel_enable(struct drm_panel *panel)
+{
+ struct stk_panel *stk = to_stk_panel(panel);
+
+ if (stk->enabled)
+ return 0;
+
+ backlight_enable(stk->backlight);
+
+ stk->enabled = true;
+
+ return 0;
+}
+
+static const struct drm_display_mode default_mode = {
+ .clock = 163204,
+ .hdisplay = 1200,
+ .hsync_start = 1200 + 144,
+ .hsync_end = 1200 + 144 + 16,
+ .htotal = 1200 + 144 + 16 + 45, // 1405
+ .vdisplay = 1920,
+ .vsync_start = 1920 + 8,
+ .vsync_end = 1920 + 8 + 4,
+ .vtotal = 1920 + 8 + 4 + 4, // 1936
+};
+
+static int stk_panel_get_modes(struct drm_panel *panel,
+ struct drm_connector *connector)
+{
+ struct drm_display_mode *mode;
+
+ mode = drm_mode_duplicate(connector->dev, &default_mode);
+ if (!mode) {
+ dev_err(panel->dev, "failed to add mode %ux%ux@%u\n",
+ default_mode.hdisplay, default_mode.vdisplay,
+ drm_mode_vrefresh(&default_mode));
+ return -ENOMEM;
+ }
+
+ drm_mode_set_name(mode);
+
+ drm_mode_probed_add(connector, mode);
+
+ connector->display_info.width_mm = 95;
+ connector->display_info.height_mm = 151;
+
+ return 1;
+}
+
+static int dsi_dcs_bl_get_brightness(struct backlight_device *bl)
+{
+ struct mipi_dsi_device *dsi = bl_get_data(bl);
+ int ret;
+ u16 brightness = bl->props.brightness;
+
+ dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
+
+ ret = mipi_dsi_dcs_get_display_brightness(dsi, &brightness);
+ if (ret < 0)
+ return ret;
+ dsi->mode_flags |= MIPI_DSI_MODE_LPM;
+
+ return brightness & 0xff;
+}
+
+static int dsi_dcs_bl_update_status(struct backlight_device *bl)
+{
+ struct mipi_dsi_device *dsi = bl_get_data(bl);
+ struct device *dev = &dsi->dev;
+ int ret;
+
+ dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
+
+ ret = mipi_dsi_dcs_set_display_brightness(dsi, bl->props.brightness);
+ if (ret < 0) {
+ dev_err(dev, "failed to set DSI control: %d\n", ret);
+ return ret;
+ }
+
+ dsi->mode_flags |= MIPI_DSI_MODE_LPM;
+
+ return 0;
+}
+
+static const struct backlight_ops dsi_bl_ops = {
+ .update_status = dsi_dcs_bl_update_status,
+ .get_brightness = dsi_dcs_bl_get_brightness,
+};
+
+static struct backlight_device *
+drm_panel_create_dsi_backlight(struct mipi_dsi_device *dsi)
+{
+ struct device *dev = &dsi->dev;
+ struct backlight_properties props;
+
+ memset(&props, 0, sizeof(props));
+ props.type = BACKLIGHT_RAW;
+ props.brightness = 255;
+ props.max_brightness = 255;
+
+ return devm_backlight_device_register(dev, dev_name(dev), dev, dsi,
+ &dsi_bl_ops, &props);
+}
+
+static const struct drm_panel_funcs stk_panel_funcs = {
+ .disable = stk_panel_disable,
+ .unprepare = stk_panel_unprepare,
+ .prepare = stk_panel_prepare,
+ .enable = stk_panel_enable,
+ .get_modes = stk_panel_get_modes,
+};
+
+static const struct of_device_id stk_of_match[] = {
+ { .compatible = "startek,kd070fhfid015", },
+ { }
+};
+MODULE_DEVICE_TABLE(of, stk_of_match);
+
+static int stk_panel_add(struct stk_panel *stk)
+{
+ struct device *dev = &stk->dsi->dev;
+ int ret;
+
+ stk->mode = &default_mode;
+
+ stk->iovcc_supply = devm_regulator_get(dev, "iovcc");
+ if (IS_ERR(stk->iovcc_supply))
+ return PTR_ERR(stk->iovcc_supply);
+
+ stk->power_supply = devm_regulator_get(dev, "power");
+ if (IS_ERR(stk->power_supply))
+ return PTR_ERR(stk->power_supply);
+
+ stk->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
+ if (IS_ERR(stk->reset_gpio)) {
+ ret = PTR_ERR(stk->reset_gpio);
+ dev_err(dev, "cannot get reset-gpios %d\n", ret);
+ return ret;
+ }
+
+ stk->dcdc_en_gpio = devm_gpiod_get(dev, "dcdc", GPIOD_OUT_LOW);
+ if (IS_ERR(stk->dcdc_en_gpio)) {
+ ret = PTR_ERR(stk->dcdc_en_gpio);
+ dev_err(dev, "cannot get dcdc-en-gpio %d\n", ret);
+ return ret;
+ }
+
+ stk->backlight = drm_panel_create_dsi_backlight(stk->dsi);
+ if (IS_ERR(stk->backlight)) {
+ ret = PTR_ERR(stk->backlight);
+ dev_err(dev, "failed to register backlight %d\n", ret);
+ return ret;
+ }
+
+ drm_panel_init(&stk->base, &stk->dsi->dev, &stk_panel_funcs,
+ DRM_MODE_CONNECTOR_DSI);
+
+ drm_panel_add(&stk->base);
+
+ return 0;
+}
+
+static void stk_panel_del(struct stk_panel *stk)
+{
+ if (stk->base.dev)
+ drm_panel_remove(&stk->base);
+}
+
+static int stk_panel_probe(struct mipi_dsi_device *dsi)
+{
+ struct stk_panel *stk;
+ int ret;
+
+ dsi->lanes = 4;
+ dsi->format = MIPI_DSI_FMT_RGB888;
+ dsi->mode_flags = (MIPI_DSI_MODE_VIDEO |
+ MIPI_DSI_MODE_LPM);
+
+ stk = devm_kzalloc(&dsi->dev, sizeof(*stk), GFP_KERNEL);
+ if (!stk)
+ return -ENOMEM;
+
+ mipi_dsi_set_drvdata(dsi, stk);
+
+ stk->dsi = dsi;
+
+ ret = stk_panel_add(stk);
+ if (ret < 0)
+ return ret;
+
+ return mipi_dsi_attach(dsi);
+}
+
+static void stk_panel_remove(struct mipi_dsi_device *dsi)
+{
+ struct stk_panel *stk = mipi_dsi_get_drvdata(dsi);
+ int err;
+
+ err = stk_panel_disable(&stk->base);
+ if (err < 0)
+ dev_err(&dsi->dev, "failed to disable panel: %d\n", err);
+
+ err = mipi_dsi_detach(dsi);
+ if (err < 0)
+ dev_err(&dsi->dev, "failed to detach from DSI host: %d\n",
+ err);
+
+ stk_panel_del(stk);
+}
+
+static void stk_panel_shutdown(struct mipi_dsi_device *dsi)
+{
+ struct stk_panel *stk = mipi_dsi_get_drvdata(dsi);
+
+ stk_panel_disable(&stk->base);
+}
+
+static struct mipi_dsi_driver stk_panel_driver = {
+ .driver = {
+ .name = "panel-startek-kd070fhfid015",
+ .of_match_table = stk_of_match,
+ },
+ .probe = stk_panel_probe,
+ .remove = stk_panel_remove,
+ .shutdown = stk_panel_shutdown,
+};
+module_mipi_dsi_driver(stk_panel_driver);
+
+MODULE_AUTHOR("Guillaume La Roque <glaroque@baylibre.com>");
+MODULE_DESCRIPTION("STARTEK KD070FHFID015");
+MODULE_LICENSE("GPL");
--
b4 0.10.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply related [flat|nested] 58+ messages in thread* Re: [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display
2023-03-09 14:23 ` [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display Alexandre Mergnat
@ 2023-03-09 14:51 ` Neil Armstrong
2023-03-15 15:59 ` Alexandre Mergnat
0 siblings, 1 reply; 58+ messages in thread
From: Neil Armstrong @ 2023-03-09 14:51 UTC (permalink / raw)
To: Alexandre Mergnat, Daniel Vetter, CK Hu, Jitao Shi,
Thierry Reding, Philipp Zabel, Sam Ravnborg, Rob Herring,
Uwe Kleine-König, Chun-Kuang Hu, Matthias Brugger,
David Airlie, Krzysztof Kozlowski, Xinlei Lee
Cc: Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, linux-pwm, devicetree, linux-kernel
Hi,
On 09/03/2023 15:23, Alexandre Mergnat wrote:
> From: Guillaume La Roque <glaroque@baylibre.com>
>
> This driver support the Startek KD070FHFID015, which is a 7-inch TFT LCD
> display using MIPI DSI interface.
>
> Signed-off-by: Guillaume La Roque <glaroque@baylibre.com>
> Signed-off-by: Alexandre Mergnat <amergnat@baylibre.com>
> ---
> drivers/gpu/drm/panel/Kconfig | 12 +
> drivers/gpu/drm/panel/Makefile | 1 +
> .../gpu/drm/panel/panel-startek-kd070fhfid015.c | 483 +++++++++++++++++++++
> 3 files changed, 496 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/Kconfig b/drivers/gpu/drm/panel/Kconfig
> index 737edcdf9eef..3fccf025013b 100644
> --- a/drivers/gpu/drm/panel/Kconfig
> +++ b/drivers/gpu/drm/panel/Kconfig
> @@ -666,6 +666,17 @@ config DRM_PANEL_SONY_TULIP_TRULY_NT35521
> NT35521 1280x720 video mode panel as found on Sony Xperia M4
> Aqua phone.
>
> +config DRM_PANEL_STARTEK_KD070FHFID015
> + tristate "STARTEK KD070FHFID015 panel"
> + depends on OF
> + depends on DRM_MIPI_DSI
> + depends on BACKLIGHT_CLASS_DEVICE
> + help
> + Say Y here if you want to enable support for STARTEK KD070FHFID015 DSI panel
> + based on RENESAS-R69429 controller. The pannel is a 7-inch TFT LCD display
> + with a resolution of 1024 x 600 pixels. It provides a MIPI DSI interface to
> + the host, a built-in LED backlight and touch controller.
> +
> config DRM_PANEL_TDO_TL070WSH30
> tristate "TDO TL070WSH30 DSI panel"
> depends on OF
> @@ -736,4 +747,5 @@ config DRM_PANEL_XINPENG_XPP055C272
> Say Y here if you want to enable support for the Xinpeng
> XPP055C272 controller for 720x1280 LCD panels with MIPI/RGB/SPI
> system interfaces.
> +
Spurious new line
> endmenu
> diff --git a/drivers/gpu/drm/panel/Makefile b/drivers/gpu/drm/panel/Makefile
> index f8f9d9f6a307..35771fc51187 100644
> --- a/drivers/gpu/drm/panel/Makefile
> +++ b/drivers/gpu/drm/panel/Makefile
> @@ -67,6 +67,7 @@ obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7703) += panel-sitronix-st7703.o
> obj-$(CONFIG_DRM_PANEL_SITRONIX_ST7789V) += panel-sitronix-st7789v.o
> obj-$(CONFIG_DRM_PANEL_SONY_ACX565AKM) += panel-sony-acx565akm.o
> obj-$(CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521) += panel-sony-tulip-truly-nt35521.o
> +obj-$(CONFIG_DRM_PANEL_STARTEK_KD070FHFID015) += panel-startek-kd070fhfid015.o
> obj-$(CONFIG_DRM_PANEL_TDO_TL070WSH30) += panel-tdo-tl070wsh30.o
> obj-$(CONFIG_DRM_PANEL_TPO_TD028TTEC1) += panel-tpo-td028ttec1.o
> obj-$(CONFIG_DRM_PANEL_TPO_TD043MTEA1) += panel-tpo-td043mtea1.o
> diff --git a/drivers/gpu/drm/panel/panel-startek-kd070fhfid015.c b/drivers/gpu/drm/panel/panel-startek-kd070fhfid015.c
> new file mode 100644
> index 000000000000..88466bf6428d
> --- /dev/null
> +++ b/drivers/gpu/drm/panel/panel-startek-kd070fhfid015.c
> @@ -0,0 +1,483 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * Copyright (C) 2016 InforceComputing
> + * Copyright (C) 2016 Linaro Ltd
> + * Copyright (C) 2023 BayLibre, SAS
> + *
> + * Author:
NIT: Authors
> + * - Vinay Simha BN <simhavcs@gmail.com>
> + * - Sumit Semwal <sumit.semwal@linaro.org>
> + * - Guillaume La Roque <glaroque@baylibre.com>
> + *
> + */
> +
> +#include <linux/backlight.h>
> +#include <linux/delay.h>
> +#include <linux/gpio/consumer.h>
> +#include <linux/module.h>
> +#include <linux/of.h>
> +#include <linux/regulator/consumer.h>
> +
> +#include <video/mipi_display.h>
> +
> +#include <drm/drm_crtc.h>
Is this include needed ?
> +#include <drm/drm_mipi_dsi.h>
> +#include <drm/drm_modes.h>
> +#include <drm/drm_panel.h>
> +
> +#define DSI_REG_MCAP 0xB0
> +#define DSI_REG_IS 0xB3 /* Interface Setting */
> +#define DSI_REG_IIS 0xB4 /* Interface ID Setting */
> +#define DSI_REG_CTRL 0xB6
> +
> +struct stk_panel {
> + struct drm_panel base;
> + struct mipi_dsi_device *dsi;
> +
> + struct gpio_desc *enable_gpio;
> + struct gpio_desc *reset_gpio;
> + struct gpio_desc *dcdc_en_gpio;
Isn't this "DCDC" a regulator ???
> + struct backlight_device *backlight;
> + struct regulator *iovcc_supply;
> + struct regulator *power_supply;
> +
> + bool prepared;
> + bool enabled;
> +
> + const struct drm_display_mode *mode;
> +};
> +
> +static inline struct stk_panel *to_stk_panel(struct drm_panel *panel)
> +{
> + return container_of(panel, struct stk_panel, base);
> +}
> +
> +static int stk_panel_init(struct stk_panel *stk)
> +{
> + struct mipi_dsi_device *dsi = stk->dsi;
> + struct device *dev = &stk->dsi->dev;
> + int ret;
> +
> + ret = mipi_dsi_dcs_soft_reset(dsi);
> + if (ret < 0) {
> + dev_err(dev, "failed to mipi_dsi_dcs_soft_reset: %d\n", ret);
> + return ret;
> + }
> + mdelay(5);
> +
> + ret = mipi_dsi_dcs_exit_sleep_mode(dsi);
> + if (ret < 0) {
> + dev_err(dev, "failed to set exit sleep mode: %d\n", ret);
> + return ret;
> + }
> + msleep(120);
> +
> + ret = mipi_dsi_generic_write(dsi, (u8[]){DSI_REG_MCAP, 0x04}, 2);
> + if (ret < 0) {
> + dev_err(dev, "failed to set mcap: %d\n", ret);
> + return ret;
> + }
> + /* Interface setting, video mode */
> + ret = mipi_dsi_generic_write(dsi,
> + (u8[]){DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00}, 6);
> + if (ret < 0) {
> + dev_err(dev, "failed to set display interface setting: %d\n",
> + ret);
> + return ret;
> + }
Use mipi_dsi_generic_write_seq(dsi, DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00); instead,
it's simpler and doesn't need explicit return check.
> +
> + ret = mipi_dsi_generic_write(dsi, (u8[]){DSI_REG_IIS, 0x0C, 0x00}, 3);
> + if (ret < 0) {
> + dev_err(dev, "failed to set Interface ID setting: %d\n", ret);
> + return ret;
> + }
> +
> + ret = mipi_dsi_generic_write(dsi, (u8[]){ DSI_REG_CTRL, 0x3A, 0xD3}, 3);
> + if (ret < 0) {
> + dev_err(dev, "failed to set DSI control: %d\n", ret);
> + return ret;
> + }
> +
> + ret = mipi_dsi_dcs_set_display_brightness(dsi, 0x77);
> + if (ret < 0) {
> + dev_err(dev, "failed to write display brightness: %d\n", ret);
> + return ret;
> + }
> +
> + ret = mipi_dsi_dcs_write(dsi, MIPI_DCS_WRITE_CONTROL_DISPLAY,
> + (u8[]){ MIPI_DCS_WRITE_MEMORY_START }, 1);
> + if (ret < 0) {
> + dev_err(dev, "failed to write control display: %d\n", ret);
> + return ret;
> + }
> +
> + ret = mipi_dsi_dcs_set_pixel_format(dsi, 0x77);
> + if (ret < 0) {
> + dev_err(dev, "failed to set pixel format: %d\n", ret);
> + return ret;
> + }
> +
> + ret = mipi_dsi_dcs_set_column_address(dsi, 0, stk->mode->hdisplay - 1);
> + if (ret < 0) {
> + dev_err(dev, "failed to set column address: %d\n", ret);
> + return ret;
> + }
> +
> + ret = mipi_dsi_dcs_set_page_address(dsi, 0, stk->mode->vdisplay - 1);
> + if (ret < 0) {
> + dev_err(dev, "failed to set page address: %d\n", ret);
> + return ret;
> + }
> +
> + return 0;
> +}
> +
> +static int stk_panel_on(struct stk_panel *stk)
> +{
> + struct mipi_dsi_device *dsi = stk->dsi;
> + struct device *dev = &stk->dsi->dev;
> + int ret;
> +
> + ret = mipi_dsi_dcs_set_display_on(dsi);
> + if (ret < 0)
> + dev_err(dev, "failed to set display on: %d\n", ret);
> +
> + mdelay(20);
> +
> + return ret;
> +}
> +
> +static void stk_panel_off(struct stk_panel *stk)
> +{
> + struct mipi_dsi_device *dsi = stk->dsi;
> + struct device *dev = &stk->dsi->dev;
> + int ret;
> +
> + dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
> +
> + ret = mipi_dsi_dcs_set_display_off(dsi);
> + if (ret < 0)
> + dev_err(dev, "failed to set display off: %d\n", ret);
> +
> + ret = mipi_dsi_dcs_enter_sleep_mode(dsi);
> + if (ret < 0)
> + dev_err(dev, "failed to enter sleep mode: %d\n", ret);
> +
> + msleep(100);
> +}
> +
> +static int stk_panel_disable(struct drm_panel *panel)
> +{
> + struct stk_panel *stk = to_stk_panel(panel);
> +
> + if (!stk->enabled)
> + return 0;
> +
> + backlight_disable(stk->backlight);
> +
> + stk->enabled = false;
> +
> + return 0;
> +}
> +
> +static int stk_panel_unprepare(struct drm_panel *panel)
> +{
> + struct stk_panel *stk = to_stk_panel(panel);
> +
> + if (!stk->prepared)
> + return 0;
> +
> + stk_panel_off(stk);
> + regulator_disable(stk->iovcc_supply);
> + regulator_disable(stk->power_supply);
> + gpiod_set_value(stk->reset_gpio, 0);
> + gpiod_set_value(stk->dcdc_en_gpio, 1);
> +
> + stk->prepared = false;
> +
> + return 0;
> +}
> +
> +static int stk_panel_prepare(struct drm_panel *panel)
> +{
> + struct stk_panel *stk = to_stk_panel(panel);
> + struct device *dev = &stk->dsi->dev;
> + int ret;
> +
> + if (stk->prepared)
> + return 0;
> +
> + gpiod_set_value(stk->reset_gpio, 0);
> + gpiod_set_value(stk->dcdc_en_gpio, 0);
> + gpiod_set_value(stk->enable_gpio, 0);
> + ret = regulator_enable(stk->iovcc_supply);
> + if (ret < 0)
> + return ret;
> + mdelay(8);
> + ret = regulator_enable(stk->power_supply);
> + if (ret < 0)
> + goto iovccoff;
Add blank lines between code blocks for readability
> + mdelay(20);
> + gpiod_set_value(stk->dcdc_en_gpio, 1);
> + mdelay(20);
> + gpiod_set_value(stk->reset_gpio, 1);
> + mdelay(10);
> +
> + ret = stk_panel_init(stk);
> + if (ret < 0) {
> + dev_err(dev, "failed to init panel: %d\n", ret);
> + goto poweroff;
> + }
> +
> + ret = stk_panel_on(stk);
> + if (ret < 0) {
> + dev_err(dev, "failed to set panel on: %d\n", ret);
> + goto poweroff;
> + }
> +
> + stk->prepared = true;
> +
> + return 0;
> +
> +poweroff:
> + regulator_disable(stk->power_supply);
> +iovccoff:
> + regulator_disable(stk->iovcc_supply);
> + gpiod_set_value(stk->enable_gpio, 0);
> + gpiod_set_value(stk->reset_gpio, 0);
> + gpiod_set_value(stk->dcdc_en_gpio, 0);
> +
> + return ret;
> +}
> +
> +static int stk_panel_enable(struct drm_panel *panel)
> +{
> + struct stk_panel *stk = to_stk_panel(panel);
> +
> + if (stk->enabled)
> + return 0;
> +
> + backlight_enable(stk->backlight);
> +
> + stk->enabled = true;
> +
> + return 0;
> +}
Is this really needed ? the backlight core will enable it automatically.
> +
> +static const struct drm_display_mode default_mode = {
> + .clock = 163204,
> + .hdisplay = 1200,
> + .hsync_start = 1200 + 144,
> + .hsync_end = 1200 + 144 + 16,
> + .htotal = 1200 + 144 + 16 + 45, // 1405
No need for the comment
> + .vdisplay = 1920,
> + .vsync_start = 1920 + 8,
> + .vsync_end = 1920 + 8 + 4,
> + .vtotal = 1920 + 8 + 4 + 4, // 1936
You can also set .width_mm & .height_mm and copy them to connector->display_info later.
> +};
> +
> +static int stk_panel_get_modes(struct drm_panel *panel,
> + struct drm_connector *connector)
> +{
> + struct drm_display_mode *mode;
> +
> + mode = drm_mode_duplicate(connector->dev, &default_mode);
> + if (!mode) {
> + dev_err(panel->dev, "failed to add mode %ux%ux@%u\n",
> + default_mode.hdisplay, default_mode.vdisplay,
> + drm_mode_vrefresh(&default_mode));
> + return -ENOMEM;
> + }
> +
> + drm_mode_set_name(mode);
> +
> + drm_mode_probed_add(connector, mode);
> +
> + connector->display_info.width_mm = 95;
> + connector->display_info.height_mm = 151;
> +
> + return 1;
> +}
> +
> +static int dsi_dcs_bl_get_brightness(struct backlight_device *bl)
> +{
> + struct mipi_dsi_device *dsi = bl_get_data(bl);
> + int ret;
> + u16 brightness = bl->props.brightness;
> +
> + dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
> +
> + ret = mipi_dsi_dcs_get_display_brightness(dsi, &brightness);
> + if (ret < 0)
> + return ret;
> + dsi->mode_flags |= MIPI_DSI_MODE_LPM;
> +
> + return brightness & 0xff;
> +}
> +
> +static int dsi_dcs_bl_update_status(struct backlight_device *bl)
> +{
> + struct mipi_dsi_device *dsi = bl_get_data(bl);
> + struct device *dev = &dsi->dev;
> + int ret;
> +
> + dsi->mode_flags &= ~MIPI_DSI_MODE_LPM;
> +
> + ret = mipi_dsi_dcs_set_display_brightness(dsi, bl->props.brightness);
> + if (ret < 0) {
> + dev_err(dev, "failed to set DSI control: %d\n", ret);
> + return ret;
> + }
> +
> + dsi->mode_flags |= MIPI_DSI_MODE_LPM;
> +
> + return 0;
> +}
> +
> +static const struct backlight_ops dsi_bl_ops = {
> + .update_status = dsi_dcs_bl_update_status,
> + .get_brightness = dsi_dcs_bl_get_brightness,
> +};
> +
> +static struct backlight_device *
> +drm_panel_create_dsi_backlight(struct mipi_dsi_device *dsi)
> +{
> + struct device *dev = &dsi->dev;
> + struct backlight_properties props;
> +
> + memset(&props, 0, sizeof(props));
> + props.type = BACKLIGHT_RAW;
> + props.brightness = 255;
> + props.max_brightness = 255;
You could write :
struct backlight_properties props = {
.type = BACKLIGHT_RAW,
.brightness = 255,
.max_brightness = 255,
};
> +
> + return devm_backlight_device_register(dev, dev_name(dev), dev, dsi,
> + &dsi_bl_ops, &props);
> +}
> +
> +static const struct drm_panel_funcs stk_panel_funcs = {
> + .disable = stk_panel_disable,
> + .unprepare = stk_panel_unprepare,
> + .prepare = stk_panel_prepare,
> + .enable = stk_panel_enable,
> + .get_modes = stk_panel_get_modes,
> +};
> +
> +static const struct of_device_id stk_of_match[] = {
> + { .compatible = "startek,kd070fhfid015", },
> + { }
> +};
> +MODULE_DEVICE_TABLE(of, stk_of_match);
> +
> +static int stk_panel_add(struct stk_panel *stk)
> +{
> + struct device *dev = &stk->dsi->dev;
> + int ret;
> +
> + stk->mode = &default_mode;
> +
> + stk->iovcc_supply = devm_regulator_get(dev, "iovcc");
> + if (IS_ERR(stk->iovcc_supply))
> + return PTR_ERR(stk->iovcc_supply);
> +
> + stk->power_supply = devm_regulator_get(dev, "power");
> + if (IS_ERR(stk->power_supply))
> + return PTR_ERR(stk->power_supply);
You can switch to devm_regulator_bulk_get() to simplify code.
> +
> + stk->reset_gpio = devm_gpiod_get(dev, "reset", GPIOD_OUT_LOW);
> + if (IS_ERR(stk->reset_gpio)) {
> + ret = PTR_ERR(stk->reset_gpio);
> + dev_err(dev, "cannot get reset-gpios %d\n", ret);
> + return ret;
> + }
> +
> + stk->dcdc_en_gpio = devm_gpiod_get(dev, "dcdc", GPIOD_OUT_LOW);
> + if (IS_ERR(stk->dcdc_en_gpio)) {
> + ret = PTR_ERR(stk->dcdc_en_gpio);
> + dev_err(dev, "cannot get dcdc-en-gpio %d\n", ret);
> + return ret;
> + }
> +
> + stk->backlight = drm_panel_create_dsi_backlight(stk->dsi);
> + if (IS_ERR(stk->backlight)) {
> + ret = PTR_ERR(stk->backlight);
> + dev_err(dev, "failed to register backlight %d\n", ret);
> + return ret;
> + }
> +
> + drm_panel_init(&stk->base, &stk->dsi->dev, &stk_panel_funcs,
> + DRM_MODE_CONNECTOR_DSI);
> +
> + drm_panel_add(&stk->base);
> +
> + return 0;
> +}
> +
> +static void stk_panel_del(struct stk_panel *stk)
> +{
> + if (stk->base.dev)
> + drm_panel_remove(&stk->base);
Is the if() necessary ? Not sure, you can remove it and directly call drm_panel_remove(&stk->base);
> +}
> +
> +static int stk_panel_probe(struct mipi_dsi_device *dsi)
> +{
> + struct stk_panel *stk;
> + int ret;
> +
> + dsi->lanes = 4;
> + dsi->format = MIPI_DSI_FMT_RGB888;
> + dsi->mode_flags = (MIPI_DSI_MODE_VIDEO |
> + MIPI_DSI_MODE_LPM);
This could be on a single line
> +
> + stk = devm_kzalloc(&dsi->dev, sizeof(*stk), GFP_KERNEL);
> + if (!stk)
> + return -ENOMEM;
> +
> + mipi_dsi_set_drvdata(dsi, stk);
> +
> + stk->dsi = dsi;
> +
> + ret = stk_panel_add(stk);
> + if (ret < 0)
> + return ret;
> +
> + return mipi_dsi_attach(dsi);
You should call drm_panel_remove() if attach fails
> +}
> +
> +static void stk_panel_remove(struct mipi_dsi_device *dsi)
> +{
> + struct stk_panel *stk = mipi_dsi_get_drvdata(dsi);
> + int err;
> +
> + err = stk_panel_disable(&stk->base);
> + if (err < 0)
> + dev_err(&dsi->dev, "failed to disable panel: %d\n", err) > +
> + err = mipi_dsi_detach(dsi);
> + if (err < 0)
> + dev_err(&dsi->dev, "failed to detach from DSI host: %d\n",
> + err);
> +
> + stk_panel_del(stk);
Move the content of stk_panel_del() here, no need for a separate function.
> +}
> +
> +static void stk_panel_shutdown(struct mipi_dsi_device *dsi)
> +{
> + struct stk_panel *stk = mipi_dsi_get_drvdata(dsi);
> +
> + stk_panel_disable(&stk->base);
> +}
> +
> +static struct mipi_dsi_driver stk_panel_driver = {
> + .driver = {
> + .name = "panel-startek-kd070fhfid015",
> + .of_match_table = stk_of_match,
> + },
> + .probe = stk_panel_probe,
> + .remove = stk_panel_remove,
> + .shutdown = stk_panel_shutdown,
> +};
> +module_mipi_dsi_driver(stk_panel_driver);
> +
> +MODULE_AUTHOR("Guillaume La Roque <glaroque@baylibre.com>");
> +MODULE_DESCRIPTION("STARTEK KD070FHFID015");
> +MODULE_LICENSE("GPL");
>
Thanks,
Neil
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread* Re: [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display
2023-03-09 14:51 ` Neil Armstrong
@ 2023-03-15 15:59 ` Alexandre Mergnat
2023-03-15 17:12 ` neil.armstrong
0 siblings, 1 reply; 58+ messages in thread
From: Alexandre Mergnat @ 2023-03-15 15:59 UTC (permalink / raw)
To: neil.armstrong
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, linux-pwm, devicetree, linux-kernel
Hi Neil,
Le jeu. 9 mars 2023 à 15:51, Neil Armstrong
<neil.armstrong@linaro.org> a écrit :
> > +
> > +#include <drm/drm_crtc.h>
>
> Is this include needed ?
Seems not, I remove it.
> > + struct gpio_desc *enable_gpio;
> > + struct gpio_desc *reset_gpio;
> > + struct gpio_desc *dcdc_en_gpio;
>
> Isn't this "DCDC" a regulator ???
According to the panel datasheet, this is an input signal needed
passing through TFT connector (PIN30):
"Power IC supply enable, High active"
> > + /* Interface setting, video mode */
> > + ret = mipi_dsi_generic_write(dsi,
> > + (u8[]){DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00}, 6);
> > + if (ret < 0) {
> > + dev_err(dev, "failed to set display interface setting: %d\n",
> > + ret);
> > + return ret;
> > + }
>
> Use mipi_dsi_generic_write_seq(dsi, DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00); instead,
> it's simpler and doesn't need explicit return check.
"mipi_dsi_generic_write_seq" doesn't exist but I will add it below
"mipi_dsi_dcs_write_seq" in drm_mipi_dsi.h
I must keep the return check to jump out of "stk_panel_init" if
something goes wrong, but I can drop the error print.
> > +static int stk_panel_enable(struct drm_panel *panel)
> > +{
> > + struct stk_panel *stk = to_stk_panel(panel);
> > +
> > + if (stk->enabled)
> > + return 0;
> > +
> > + backlight_enable(stk->backlight);
> > +
> > + stk->enabled = true;
> > +
> > + return 0;
> > +}
>
> Is this really needed ? the backlight core will enable it automatically.
Ok, it's managed by drm_panel.c driver.
Then I can also remove stuff from stk_panel_disable.
Regards,
Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread* Re: [PATCH 21/21] panel: startek-kd070fhfid015: add support of this display
2023-03-15 15:59 ` Alexandre Mergnat
@ 2023-03-15 17:12 ` neil.armstrong
0 siblings, 0 replies; 58+ messages in thread
From: neil.armstrong @ 2023-03-15 17:12 UTC (permalink / raw)
To: Alexandre Mergnat
Cc: Daniel Vetter, CK Hu, Jitao Shi, Thierry Reding, Philipp Zabel,
Sam Ravnborg, Rob Herring, Uwe Kleine-König, Chun-Kuang Hu,
Matthias Brugger, David Airlie, Krzysztof Kozlowski, Xinlei Lee,
Guillaume La Roque, linux-arm-kernel, linux-mediatek, dri-devel,
Fabien Parent, linux-pwm, devicetree, linux-kernel
Hi,
On 15/03/2023 16:59, Alexandre Mergnat wrote:
> Hi Neil,
>
> Le jeu. 9 mars 2023 à 15:51, Neil Armstrong
> <neil.armstrong@linaro.org> a écrit :
>>> +
>>> +#include <drm/drm_crtc.h>
>>
>> Is this include needed ?
>
> Seems not, I remove it.
>
>>> + struct gpio_desc *enable_gpio;
>>> + struct gpio_desc *reset_gpio;
>>> + struct gpio_desc *dcdc_en_gpio;
>>
>> Isn't this "DCDC" a regulator ???
>
> According to the panel datasheet, this is an input signal needed
> passing through TFT connector (PIN30):
> "Power IC supply enable, High active"
Ack, perhaps the name isn't the right one, or specify something like panel-dcdc.
>
>>> + /* Interface setting, video mode */
>>> + ret = mipi_dsi_generic_write(dsi,
>>> + (u8[]){DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00}, 6);
>>> + if (ret < 0) {
>>> + dev_err(dev, "failed to set display interface setting: %d\n",
>>> + ret);
>>> + return ret;
>>> + }
>>
>> Use mipi_dsi_generic_write_seq(dsi, DSI_REG_IS, 0x14, 0x08, 0x00, 0x22, 0x00); instead,
>> it's simpler and doesn't need explicit return check.
>
> "mipi_dsi_generic_write_seq" doesn't exist but I will add it below
> "mipi_dsi_dcs_write_seq" in drm_mipi_dsi.h
It is now https://github.com/torvalds/linux/blob/master/include/drm/drm_mipi_dsi.h#L302 since a9015ce59320
> I must keep the return check to jump out of "stk_panel_init" if
> something goes wrong, but I can drop the error print.
The mipi_dsi_generic_write_seq & mipi_dsi_dcs_write_seq macros does the return check for free.
>
>>> +static int stk_panel_enable(struct drm_panel *panel)
>>> +{
>>> + struct stk_panel *stk = to_stk_panel(panel);
>>> +
>>> + if (stk->enabled)
>>> + return 0;
>>> +
>>> + backlight_enable(stk->backlight);
>>> +
>>> + stk->enabled = true;
>>> +
>>> + return 0;
>>> +}
>>
>> Is this really needed ? the backlight core will enable it automatically.
>
> Ok, it's managed by drm_panel.c driver.
> Then I can also remove stuff from stk_panel_disable.
>
>
> Regards,
> Alex
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
^ permalink raw reply [flat|nested] 58+ messages in thread