From: David Heidelberg <david@ixit.cz>
Basic description for S6E3FC2X01 DDIC with attached panels
- Samsung AMS601NT22 6.01 inch, 1080x2160 pixels, 18:9 ratio
- Samsung AMS628NW01 6.28 inch, 1080x2280 pixels, 19:9 ratio
This panel has three supplies, while panel-simple-dsi is limited to one.
There is no user of this compatible, nor the compatible make sense.
Remove it from simple DSI panel definitions.
Signed-off-by: David Heidelberg <david@ixit.cz>
---
.../bindings/display/panel/panel-simple-dsi.yaml | 25 ++-----
.../bindings/display/panel/samsung,sofef00.yaml | 83 ++++++++++++++++++++++
2 files changed, 87 insertions(+), 21 deletions(-)
diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
index ac2db8cf5eb76..464d7c8a7665e 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple-dsi.yaml
@@ -19,6 +19,9 @@ description: |
If the panel is more advanced a dedicated binding file is required.
+allOf:
+ - $ref: panel-common.yaml#
+
properties:
compatible:
@@ -56,8 +59,6 @@ properties:
- panasonic,vvx10f034n00
# Samsung s6e3fa7 1080x2220 based AMS559NK06 AMOLED panel
- samsung,s6e3fa7-ams559nk06
- # Samsung sofef00 1080x2280 AMOLED panel
- - samsung,sofef00
# Shangai Top Display Optoelectronics 7" TL070WSH30 1024x600 TFT LCD panel
- tdo,tl070wsh30
@@ -70,30 +71,12 @@ properties:
reset-gpios: true
port: true
power-supply: true
- vddio-supply: true
-
-allOf:
- - $ref: panel-common.yaml#
- - if:
- properties:
- compatible:
- enum:
- - samsung,sofef00
- then:
- properties:
- power-supply: false
- required:
- - vddio-supply
- else:
- properties:
- vddio-supply: false
- required:
- - power-supply
additionalProperties: false
required:
- compatible
+ - power-supply
- reg
examples:
diff --git a/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml b/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml
new file mode 100644
index 0000000000000..527a10e3b798e
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml
@@ -0,0 +1,83 @@
+# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/panel/samsung,sofef00.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Samsung SOFEF00 AMOLED DDIC
+
+description: The SOFEF00 is display driver IC with connected panel.
+
+maintainers:
+ - David Heidelberg <david@ixit.cz>
+
+allOf:
+ - $ref: panel-common.yaml#
+
+properties:
+ compatible:
+ items:
+ - enum:
+ # Samsung 6.01 inch, 1080x2160 pixels, 18:9 ratio
+ - samsung,sofef00-ams601nt22
+ # Samsung 6.28 inch, 1080x2280 pixels, 19:9 ratio
+ - samsung,sofef00-ams628nw01
+ - const: samsung,sofef00
+
+ reg:
+ maxItems: 1
+
+ reset-gpios: true
+
+ port: true
+
+ vddio-supply:
+ description: VDD regulator
+
+ vci-supply:
+ description: VCI regulator
+
+ poc-supply:
+ description: POC regulator
+
+required:
+ - compatible
+ - reset-gpios
+ - vddio-supply
+ - vci-supply
+ - poc-supply
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ dsi {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ panel@0 {
+ compatible = "samsung,sofef00-ams628nw01", "samsung,sofef00";
+ reg = <0>;
+
+ vddio-supply = <&vreg_l14a_1p88>;
+ vci-supply = <&s2dos05_buck1>;
+ poc-supply = <&s2dos05_ldo1>;
+
+ te-gpios = <&tlmm 10 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&tlmm 6 GPIO_ACTIVE_HIGH>;
+
+ pinctrl-0 = <&panel_active>;
+ pinctrl-1 = <&panel_suspend>;
+ pinctrl-names = "default", "sleep";
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&mdss_dsi0_out>;
+ };
+ };
+ };
+ };
+
+...
--
2.51.0
On Tue, Nov 04, 2025 at 11:16:09PM +0100, David Heidelberg wrote: > Basic description for S6E3FC2X01 DDIC with attached panels > > - Samsung AMS601NT22 6.01 inch, 1080x2160 pixels, 18:9 ratio > - Samsung AMS628NW01 6.28 inch, 1080x2280 pixels, 19:9 ratio > > This panel has three supplies, while panel-simple-dsi is limited to one. > There is no user of this compatible, nor the compatible make sense. There are. git grep samsung,sofef00, gives me two users. > Remove it from simple DSI panel definitions. > > Signed-off-by: David Heidelberg <david@ixit.cz> .. > additionalProperties: false > > required: > - compatible > + - power-supply > - reg > > examples: > diff --git a/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml b/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml > new file mode 100644 > index 0000000000000..527a10e3b798e > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml > @@ -0,0 +1,83 @@ > +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/display/panel/samsung,sofef00.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Samsung SOFEF00 AMOLED DDIC > + > +description: The SOFEF00 is display driver IC with connected panel. Description goes below maintainers, see example-schema. > + > +maintainers: > + - David Heidelberg <david@ixit.cz> > + > +allOf: > + - $ref: panel-common.yaml# > + > +properties: > + compatible: > + items: > + - enum: > + # Samsung 6.01 inch, 1080x2160 pixels, 18:9 ratio > + - samsung,sofef00-ams601nt22 > + # Samsung 6.28 inch, 1080x2280 pixels, 19:9 ratio > + - samsung,sofef00-ams628nw01 These were not in the old binding, so please explain in the commit msg reasons for adding new front compatibles. > + - const: samsung,sofef00 > + > + reg: > + maxItems: 1 > + > + reset-gpios: true Drop, not needed. It can stay required, though. > + > + port: true Drop > + > + vddio-supply: > + description: VDD regulator > + > + vci-supply: > + description: VCI regulator > + > + poc-supply: > + description: POC regulator 1st poc, then vci then vddio to keep it more-or-less sorted. Same in required list. > + > +required: > + - compatible > + - reset-gpios > + - vddio-supply > + - vci-supply > + - poc-supply > + > +unevaluatedProperties: false Best regards, Krzysztof
On 11/6/25 09:48, Krzysztof Kozlowski wrote: > On Tue, Nov 04, 2025 at 11:16:09PM +0100, David Heidelberg wrote: >> Basic description for S6E3FC2X01 DDIC with attached panels >> >> - Samsung AMS601NT22 6.01 inch, 1080x2160 pixels, 18:9 ratio >> - Samsung AMS628NW01 6.28 inch, 1080x2280 pixels, 19:9 ratio >> >> This panel has three supplies, while panel-simple-dsi is limited to one. >> There is no user of this compatible, nor the compatible make sense. > > There are. git grep samsung,sofef00, gives me two users. Hmm, on -next I only see a single one: $ grep samsung,sofef00 arch/*/boot/dts/ -R arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts: compatible = "samsung,sofef00"; > >> Remove it from simple DSI panel definitions. Can't you mark is deprecated at first ? >> >> Signed-off-by: David Heidelberg <david@ixit.cz> > > .. > >> additionalProperties: false >> >> required: >> - compatible >> + - power-supply >> - reg >> >> examples: >> diff --git a/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml b/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml >> new file mode 100644 >> index 0000000000000..527a10e3b798e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/panel/samsung,sofef00.yaml >> @@ -0,0 +1,83 @@ >> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/display/panel/samsung,sofef00.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Samsung SOFEF00 AMOLED DDIC >> + >> +description: The SOFEF00 is display driver IC with connected panel. > > Description goes below maintainers, see example-schema. > >> + >> +maintainers: >> + - David Heidelberg <david@ixit.cz> >> + >> +allOf: >> + - $ref: panel-common.yaml# >> + >> +properties: >> + compatible: >> + items: >> + - enum: >> + # Samsung 6.01 inch, 1080x2160 pixels, 18:9 ratio >> + - samsung,sofef00-ams601nt22 >> + # Samsung 6.28 inch, 1080x2280 pixels, 19:9 ratio >> + - samsung,sofef00-ams628nw01 > > These were not in the old binding, so please explain in the commit msg > reasons for adding new front compatibles. > >> + - const: samsung,sofef00 >> + >> + reg: >> + maxItems: 1 >> + >> + reset-gpios: true > > Drop, not needed. It can stay required, though. > >> + >> + port: true > > Drop > >> + >> + vddio-supply: >> + description: VDD regulator >> + >> + vci-supply: >> + description: VCI regulator >> + >> + poc-supply: >> + description: POC regulator > > 1st poc, then vci then vddio to keep it more-or-less sorted. Same in > required list. > >> + >> +required: >> + - compatible >> + - reset-gpios >> + - vddio-supply >> + - vci-supply >> + - poc-supply >> + >> +unevaluatedProperties: false > > Best regards, > Krzysztof >
On 07/11/2025 12:23, Neil Armstrong wrote: > On 11/6/25 09:48, Krzysztof Kozlowski wrote: >> On Tue, Nov 04, 2025 at 11:16:09PM +0100, David Heidelberg wrote: >>> Basic description for S6E3FC2X01 DDIC with attached panels >>> >>> - Samsung AMS601NT22 6.01 inch, 1080x2160 pixels, 18:9 ratio >>> - Samsung AMS628NW01 6.28 inch, 1080x2280 pixels, 19:9 ratio >>> >>> This panel has three supplies, while panel-simple-dsi is limited to one. >>> There is no user of this compatible, nor the compatible make sense. >> >> There are. git grep samsung,sofef00, gives me two users. > > Hmm, on -next I only see a single one: > > $ grep samsung,sofef00 arch/*/boot/dts/ -R > arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts: compatible = "samsung,sofef00"; > These are the users: arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts drivers/gpu/drm/panel/panel-samsung-sofef00.c >> >>> Remove it from simple DSI panel definitions. > > Can't you mark is deprecated at first ? Not sure what would be the benefit here. There is no negative ABI impact here. Best regards, Krzysztof
On 11/7/25 12:27, Krzysztof Kozlowski wrote: > On 07/11/2025 12:23, Neil Armstrong wrote: >> On 11/6/25 09:48, Krzysztof Kozlowski wrote: >>> On Tue, Nov 04, 2025 at 11:16:09PM +0100, David Heidelberg wrote: >>>> Basic description for S6E3FC2X01 DDIC with attached panels >>>> >>>> - Samsung AMS601NT22 6.01 inch, 1080x2160 pixels, 18:9 ratio >>>> - Samsung AMS628NW01 6.28 inch, 1080x2280 pixels, 19:9 ratio >>>> >>>> This panel has three supplies, while panel-simple-dsi is limited to one. >>>> There is no user of this compatible, nor the compatible make sense. >>> >>> There are. git grep samsung,sofef00, gives me two users. >> >> Hmm, on -next I only see a single one: >> >> $ grep samsung,sofef00 arch/*/boot/dts/ -R >> arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts: compatible = "samsung,sofef00"; >> > > These are the users: > > arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts > drivers/gpu/drm/panel/panel-samsung-sofef00.c > >>> >>>> Remove it from simple DSI panel definitions. >> >> Can't you mark is deprecated at first ? > > Not sure what would be the benefit here. There is no negative ABI impact > here. If we want to acknowledge the potential scenario where someone is booting a newer kernel with an older DT then we should keep the old compatible in the driver right? And marking it deprecated in bindings would make sense. It could be removed from the driver in the future if there is another variant of the panel added or we decide to cleanup. It's still not entirely clear to what extent we care about DT/kernel backwards compatibility though. > > Best regards, > Krzysztof
On 07/11/2025 14:10, Casey Connolly wrote: > > > On 11/7/25 12:27, Krzysztof Kozlowski wrote: >> On 07/11/2025 12:23, Neil Armstrong wrote: >>> On 11/6/25 09:48, Krzysztof Kozlowski wrote: >>>> On Tue, Nov 04, 2025 at 11:16:09PM +0100, David Heidelberg wrote: >>>>> Basic description for S6E3FC2X01 DDIC with attached panels >>>>> >>>>> - Samsung AMS601NT22 6.01 inch, 1080x2160 pixels, 18:9 ratio >>>>> - Samsung AMS628NW01 6.28 inch, 1080x2280 pixels, 19:9 ratio >>>>> >>>>> This panel has three supplies, while panel-simple-dsi is limited to one. >>>>> There is no user of this compatible, nor the compatible make sense. >>>> >>>> There are. git grep samsung,sofef00, gives me two users. >>> >>> Hmm, on -next I only see a single one: >>> >>> $ grep samsung,sofef00 arch/*/boot/dts/ -R >>> arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts: compatible = "samsung,sofef00"; >>> >> >> These are the users: >> >> arch/arm64/boot/dts/qcom/sdm845-oneplus-enchilada.dts >> drivers/gpu/drm/panel/panel-samsung-sofef00.c >> >>>> >>>>> Remove it from simple DSI panel definitions. >>> >>> Can't you mark is deprecated at first ? >> >> Not sure what would be the benefit here. There is no negative ABI impact >> here. > > If we want to acknowledge the potential scenario where someone is > booting a newer kernel with an older DT then we should keep the old > compatible in the driver right? And marking it deprecated in bindings > would make sense. We are not talking about removing compatible from the driver. If by any chance we do, it is not explained here in this commit msg and would be obviously a no-go. Best regards, Krzysztof
© 2016 - 2025 Red Hat, Inc.