On 10/28/26 15:56, Krzysztof Kozlowski wrote:
On Wed, Oct 28, 2026 at 11:51:44AM +0200, Vladimir Zapolskiy wrote:
The reset GPIO of NT36672E panels has been described as active high since
the binding was added, also see the example and the QCM6490 IDP board
device tree, however actually it serves as the active low signal, also
panel-common.yaml expects active low reset GPIOs to be described as such.

Document the active high description of the reset GPIO explicitly as
the exceptional deviation from the actual signal polarity, any new devices
will use it in the same way as the existing ones.

Signed-off-by: Vladimir Zapolskiy <[email protected]>
---
  .../bindings/display/panel/novatek,nt36672e.yaml         | 9 ++++++++-
  1 file changed, 8 insertions(+), 1 deletion(-)

diff --git 
a/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml 
b/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml
index dc4672f3d01d..45743376995b 100644
--- a/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml
+++ b/Documentation/devicetree/bindings/display/panel/novatek,nt36672e.yaml
@@ -24,7 +24,14 @@ properties:
    avdd-supply: true
    avee-supply: true
    port: true
-  reset-gpios: true
+  reset-gpios:
+    maxItems: 1
+    description:
+      GPIO connected to the reset pin of the panel. The GPIO must be described
+      as active high (GPIO_ACTIVE_HIGH), the asserted state releases the panel

I disagree that it has to be active high, because, since we do not
represent pin inverters in DT, it depends on board layout. Wording would
need to be correct if this stays.


I'm all for a better wording.

The described display panel device operates (here resets) according to
the active low signal RESET_N, the device driver is written to interpret
the signal as active high. A signal inverter may be present on a board, but
then the description of this board feature would belong to the board dts,
e.g. in a form of a simple comment around the property.

+      from reset. Note that the RESET_N pin is in fact an active low signal,
+      the inverted description is kept for compatibility with existing device
+      trees, while it deviates from the convention of panel-common.yaml.

We might fix it at some point, so not sure if it is worth documenting in
the binding. And what about usage of this binding in other projects
which implement it correctly?


In the upstream there is only one user qcm6490-idp.dts, and changing
the polarity will be an ABI breaking change, unfortunately.

Here it's a similar story to another one about OV9282 reset-gpios polarity,
it ended up in keeping the polarity of the signal to avoid ABI breakage:

  
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/qcom/qrb2210-rb1-vision-mezzanine.dtso#n45

Probably the best way to operate here is to give a clear 'reset-gpios'
property description in the OV9282 sensor or this NT36672E panel dt docs.

--
Best wishes,
Vladimir

Reply via email to