devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding
@ 2025-09-04 19:58 Marek Vasut
  2025-09-05 18:46 ` Conor Dooley
  0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2025-09-04 19:58 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Marek Vasut, Broadcom internal kernel review list, Conor Dooley,
	Dave Stevenson, Florian Fainelli, Krzysztof Kozlowski,
	Liam Girdwood, Mark Brown, Rob Herring, devicetree,
	linux-rpi-kernel, linux-renesas-soc

The 5" and 7" Raspberry Pi 720x1280 Display 2 MCU is a bit more
complex than the original Display 1 ATTINY88 and the binding is
also a bit more demanding. Split the binding into separate file
and fill in required gpio-controller, #gpio-cells and #pwm-cells
which must be present for the V2 MCU. Include mention of the 5"
panel in the description of Display 2, as the 5" panel uses the
same MCU.

Fixes: 6d09c6e474bd ("regulator: dt-bindings: rpi-panel: Add regulator for 7" Raspberry Pi 720x1280")
Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
Cc: Conor Dooley <conor+dt@kernel.org>
Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Rob Herring <robh@kernel.org>
Cc: devicetree@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-rpi-kernel@lists.infradead.org
Cc: linux-renesas-soc@vger.kernel.org
---
 ...,7inch-touchscreen-panel-regulator-v2.yaml | 61 +++++++++++++++++++
 ...ypi,7inch-touchscreen-panel-regulator.yaml |  7 +--
 2 files changed, 63 insertions(+), 5 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml

diff --git a/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml
new file mode 100644
index 0000000000000..efc7815a136b4
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml
@@ -0,0 +1,61 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: RaspberryPi 5" and 7" display V2 MCU-based regulator/backlight controller
+
+maintainers:
+  - Marek Vasut <marek.vasut+renesas@mailbox.org>
+
+description: |
+  The RaspberryPi 5" and 7" display 2 has an MCU-based regulator, PWM
+  backlight and GPIO controller on the PCB, which is used to turn the
+  display unit on/off and control the backlight.
+
+allOf:
+  - $ref: regulator.yaml#
+
+properties:
+  compatible:
+    const: raspberrypi,touchscreen-panel-regulator-v2
+
+  reg:
+    maxItems: 1
+
+  gpio-controller: true
+  "#gpio-cells":
+    const: 2
+    description:
+      The first cell is the pin number, and the second cell is used to
+      specify the gpio polarity (GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW).
+
+  "#pwm-cells":
+    const: 3
+    description: See ../../pwm/pwm.yaml for description of the cell formats.
+
+additionalProperties: false
+
+required:
+  - compatible
+  - reg
+  - gpio-controller
+  - "#gpio-cells"
+  - "#pwm-cells"
+
+examples:
+  - |
+    i2c {
+      #address-cells = <1>;
+      #size-cells = <0>;
+      gpio@45 {
+        compatible = "raspberrypi,touchscreen-panel-regulator-v2";
+        reg = <0x45>;
+        gpio-controller;
+        #gpio-cells = <2>;
+        #pwm-cells = <3>;
+      };
+    };
+
+...
diff --git a/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
index 18944d39d08fc..41678400e63fa 100644
--- a/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
+++ b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
@@ -12,17 +12,14 @@ maintainers:
 description: |
   The RaspberryPi 7" display has an ATTINY88-based regulator/backlight
   controller on the PCB, which is used to turn the display unit on/off
-  and control the backlight. The V2 supports 5" and 7" panels and also
-  offers PWM backlight control.
+  and control the backlight.
 
 allOf:
   - $ref: regulator.yaml#
 
 properties:
   compatible:
-    enum:
-      - raspberrypi,7inch-touchscreen-panel-regulator
-      - raspberrypi,touchscreen-panel-regulator-v2
+    const: raspberrypi,7inch-touchscreen-panel-regulator
 
   reg:
     maxItems: 1
-- 
2.50.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding
  2025-09-04 19:58 [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding Marek Vasut
@ 2025-09-05 18:46 ` Conor Dooley
  2025-09-05 18:55   ` Marek Vasut
  0 siblings, 1 reply; 5+ messages in thread
From: Conor Dooley @ 2025-09-05 18:46 UTC (permalink / raw)
  To: Marek Vasut
  Cc: linux-arm-kernel, Broadcom internal kernel review list,
	Conor Dooley, Dave Stevenson, Florian Fainelli,
	Krzysztof Kozlowski, Liam Girdwood, Mark Brown, Rob Herring,
	devicetree, linux-rpi-kernel, linux-renesas-soc

[-- Attachment #1: Type: text/plain, Size: 5136 bytes --]

On Thu, Sep 04, 2025 at 09:58:26PM +0200, Marek Vasut wrote:
> The 5" and 7" Raspberry Pi 720x1280 Display 2 MCU is a bit more
> complex than the original Display 1 ATTINY88 and the binding is
> also a bit more demanding. Split the binding into separate file
> and fill in required gpio-controller, #gpio-cells and #pwm-cells
> which must be present for the V2 MCU. Include mention of the 5"
> panel in the description of Display 2, as the 5" panel uses the
> same MCU.
> 
> Fixes: 6d09c6e474bd ("regulator: dt-bindings: rpi-panel: Add regulator for 7" Raspberry Pi 720x1280")
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
> ---
> Cc: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
> Cc: Conor Dooley <conor+dt@kernel.org>
> Cc: Dave Stevenson <dave.stevenson@raspberrypi.com>
> Cc: Florian Fainelli <florian.fainelli@broadcom.com>
> Cc: Krzysztof Kozlowski <krzk+dt@kernel.org>
> Cc: Liam Girdwood <lgirdwood@gmail.com>
> Cc: Mark Brown <broonie@kernel.org>
> Cc: Rob Herring <robh@kernel.org>
> Cc: devicetree@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-rpi-kernel@lists.infradead.org
> Cc: linux-renesas-soc@vger.kernel.org
> ---
>  ...,7inch-touchscreen-panel-regulator-v2.yaml | 61 +++++++++++++++++++
>  ...ypi,7inch-touchscreen-panel-regulator.yaml |  7 +--
>  2 files changed, 63 insertions(+), 5 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml
> 
> diff --git a/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml
> new file mode 100644
> index 0000000000000..efc7815a136b4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml
> @@ -0,0 +1,61 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/regulator/raspberrypi,7inch-touchscreen-panel-regulator-v2.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: RaspberryPi 5" and 7" display V2 MCU-based regulator/backlight controller
> +
> +maintainers:
> +  - Marek Vasut <marek.vasut+renesas@mailbox.org>
> +
> +description: |
> +  The RaspberryPi 5" and 7" display 2 has an MCU-based regulator, PWM
> +  backlight and GPIO controller on the PCB, which is used to turn the
> +  display unit on/off and control the backlight.
> +
> +allOf:
> +  - $ref: regulator.yaml#
> +
> +properties:
> +  compatible:
> +    const: raspberrypi,touchscreen-panel-regulator-v2
> +
> +  reg:
> +    maxItems: 1
> +
> +  gpio-controller: true
> +  "#gpio-cells":
> +    const: 2
> +    description:
> +      The first cell is the pin number, and the second cell is used to
> +      specify the gpio polarity (GPIO_ACTIVE_HIGH or GPIO_ACTIVE_LOW).
> +
> +  "#pwm-cells":
> +    const: 3
> +    description: See ../../pwm/pwm.yaml for description of the cell formats.
> +
> +additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +  - gpio-controller
> +  - "#gpio-cells"
> +  - "#pwm-cells"
> +
> +examples:
> +  - |
> +    i2c {
> +      #address-cells = <1>;
> +      #size-cells = <0>;
> +      gpio@45 {

ngl, seems strange to classify the device as a regulator in directory
and name, but use gpio as the node name in the example.

Otherwise, this seems fine - if you feel that the hardware is
substantively differentially to what's in the "v1" regulator then
keeping them apart is valid.
Acked-by: Conor Dooley <conor.dooley@microchip.com>

> +        compatible = "raspberrypi,touchscreen-panel-regulator-v2";
> +        reg = <0x45>;
> +        gpio-controller;
> +        #gpio-cells = <2>;
> +        #pwm-cells = <3>;
> +      };
> +    };
> +
> +...
> diff --git a/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
> index 18944d39d08fc..41678400e63fa 100644
> --- a/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
> +++ b/Documentation/devicetree/bindings/regulator/raspberrypi,7inch-touchscreen-panel-regulator.yaml
> @@ -12,17 +12,14 @@ maintainers:
>  description: |
>    The RaspberryPi 7" display has an ATTINY88-based regulator/backlight
>    controller on the PCB, which is used to turn the display unit on/off
> -  and control the backlight. The V2 supports 5" and 7" panels and also
> -  offers PWM backlight control.
> +  and control the backlight.
>  
>  allOf:
>    - $ref: regulator.yaml#
>  
>  properties:
>    compatible:
> -    enum:
> -      - raspberrypi,7inch-touchscreen-panel-regulator
> -      - raspberrypi,touchscreen-panel-regulator-v2
> +    const: raspberrypi,7inch-touchscreen-panel-regulator
>  
>    reg:
>      maxItems: 1
> -- 
> 2.50.1
> 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding
  2025-09-05 18:46 ` Conor Dooley
@ 2025-09-05 18:55   ` Marek Vasut
  2025-09-05 19:03     ` Conor Dooley
  0 siblings, 1 reply; 5+ messages in thread
From: Marek Vasut @ 2025-09-05 18:55 UTC (permalink / raw)
  To: Conor Dooley
  Cc: linux-arm-kernel, Broadcom internal kernel review list,
	Conor Dooley, Dave Stevenson, Florian Fainelli,
	Krzysztof Kozlowski, Liam Girdwood, Mark Brown, Rob Herring,
	devicetree, linux-rpi-kernel, linux-renesas-soc

On 9/5/25 8:46 PM, Conor Dooley wrote:

Hi,

>> +examples:
>> +  - |
>> +    i2c {
>> +      #address-cells = <1>;
>> +      #size-cells = <0>;
>> +      gpio@45 {
> 
> ngl, seems strange to classify the device as a regulator in directory
> and name, but use gpio as the node name in the example.
> 
> Otherwise, this seems fine - if you feel that the hardware is
> substantively differentially to what's in the "v1" regulator then
> keeping them apart is valid.
> Acked-by: Conor Dooley <conor.dooley@microchip.com>
I can rename it to "mcu@" or "mfd@" some such ?

I originally thought it could be compatible with the V1, which is why I 
tried to conflate them into single binding in 6d09c6e474bd ("regulator: 
dt-bindings: rpi-panel: Add regulator for 7" Raspberry Pi 720x1280") , 
but they are too different, so this undoes the change and creates 
separate binding.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding
  2025-09-05 18:55   ` Marek Vasut
@ 2025-09-05 19:03     ` Conor Dooley
  2025-09-05 19:17       ` Marek Vasut
  0 siblings, 1 reply; 5+ messages in thread
From: Conor Dooley @ 2025-09-05 19:03 UTC (permalink / raw)
  To: Marek Vasut
  Cc: linux-arm-kernel, Broadcom internal kernel review list,
	Conor Dooley, Dave Stevenson, Florian Fainelli,
	Krzysztof Kozlowski, Liam Girdwood, Mark Brown, Rob Herring,
	devicetree, linux-rpi-kernel, linux-renesas-soc

[-- Attachment #1: Type: text/plain, Size: 1019 bytes --]

On Fri, Sep 05, 2025 at 08:55:16PM +0200, Marek Vasut wrote:
> On 9/5/25 8:46 PM, Conor Dooley wrote:
> 
> Hi,
> 
> > > +examples:
> > > +  - |
> > > +    i2c {
> > > +      #address-cells = <1>;
> > > +      #size-cells = <0>;
> > > +      gpio@45 {
> > 
> > ngl, seems strange to classify the device as a regulator in directory
> > and name, but use gpio as the node name in the example.
> > 
> > Otherwise, this seems fine - if you feel that the hardware is
> > substantively differentially to what's in the "v1" regulator then
> > keeping them apart is valid.
> > Acked-by: Conor Dooley <conor.dooley@microchip.com>
> I can rename it to "mcu@" or "mfd@" some such ?

Sure.

> 
> I originally thought it could be compatible with the V1, which is why I
> tried to conflate them into single binding in 6d09c6e474bd ("regulator:
> dt-bindings: rpi-panel: Add regulator for 7" Raspberry Pi 720x1280") , but
> they are too different, so this undoes the change and creates separate
> binding.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding
  2025-09-05 19:03     ` Conor Dooley
@ 2025-09-05 19:17       ` Marek Vasut
  0 siblings, 0 replies; 5+ messages in thread
From: Marek Vasut @ 2025-09-05 19:17 UTC (permalink / raw)
  To: Conor Dooley
  Cc: linux-arm-kernel, Broadcom internal kernel review list,
	Conor Dooley, Dave Stevenson, Florian Fainelli,
	Krzysztof Kozlowski, Liam Girdwood, Mark Brown, Rob Herring,
	devicetree, linux-rpi-kernel, linux-renesas-soc

On 9/5/25 9:03 PM, Conor Dooley wrote:
> On Fri, Sep 05, 2025 at 08:55:16PM +0200, Marek Vasut wrote:
>> On 9/5/25 8:46 PM, Conor Dooley wrote:
>>
>> Hi,
>>
>>>> +examples:
>>>> +  - |
>>>> +    i2c {
>>>> +      #address-cells = <1>;
>>>> +      #size-cells = <0>;
>>>> +      gpio@45 {
>>>
>>> ngl, seems strange to classify the device as a regulator in directory
>>> and name, but use gpio as the node name in the example.
>>>
>>> Otherwise, this seems fine - if you feel that the hardware is
>>> substantively differentially to what's in the "v1" regulator then
>>> keeping them apart is valid.
>>> Acked-by: Conor Dooley <conor.dooley@microchip.com>
>> I can rename it to "mcu@" or "mfd@" some such ?
I called it a regulator@ and sent a V2. I didn't include the AB, please 
give it a once-over and provide one if still applicable.

Thanks !

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-09-05 19:18 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-09-04 19:58 [PATCH] regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding Marek Vasut
2025-09-05 18:46 ` Conor Dooley
2025-09-05 18:55   ` Marek Vasut
2025-09-05 19:03     ` Conor Dooley
2025-09-05 19:17       ` Marek Vasut

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).