* [PATCH 1/2] dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089
[not found] <20220102211124.18435-1-laurent.pinchart+renesas@ideasonboard.com>
@ 2022-01-02 21:11 ` Laurent Pinchart
2022-01-04 14:26 ` Mark Brown
0 siblings, 1 reply; 4+ messages in thread
From: Laurent Pinchart @ 2022-01-02 21:11 UTC (permalink / raw)
To: linux-kernel
Cc: Watson Chow, Liam Girdwood, Mark Brown, Laurent Pinchart,
Rob Herring, devicetree
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
The MAX20086-MAX20089 are dual/quad power protectors for cameras. Add
corresponding DT bindings.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
.../bindings/regulator/maxim,max20086.yaml | 116 ++++++++++++++++++
1 file changed, 116 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regulator/maxim,max20086.yaml
diff --git a/Documentation/devicetree/bindings/regulator/maxim,max20086.yaml b/Documentation/devicetree/bindings/regulator/maxim,max20086.yaml
new file mode 100644
index 000000000000..4663716e47a4
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/maxim,max20086.yaml
@@ -0,0 +1,116 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regulator/maxim,max20086.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Maxim Integrated MAX20086-MAX20089 Camera Power Protector
+
+maintainers:
+ - Laurent Pinchart <laurent.pinchart@ideasonboard.com>
+
+description: |
+ The MAX20086-MAX20089 are dual/quad camera power protectors, designed to
+ deliver power over coax for radar and camera modules. They support
+ software-configurable output switching and monitoring. The output voltage and
+ current limit are fixed by the hardware design.
+
+properties:
+ compatible:
+ enum:
+ - maxim,max20086
+ - maxim,max20087
+ - maxim,max20088
+ - maxim,max20089
+
+ reg:
+ maxItems: 1
+
+ enable-gpios:
+ maxItems: 1
+ description: GPIO connected to the EN pin, active high
+
+ in-supply:
+ description: Input supply for the camera outputs (IN pin, 3.0V to 15.0V)
+
+ vdd-supply:
+ description: Input supply for the device (VDD pin, 3.0V to 5.5V)
+
+ regulators:
+ type: object
+
+ patternProperties:
+ "^OUT[1-4]$":
+ type: object
+ $ref: regulator.yaml#
+
+ required:
+ - OUT1
+ - OUT2
+
+ additionalProperties: false
+
+required:
+ - compatible
+ - reg
+ - in-supply
+ - vdd-supply
+ - regulators
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - maxim,max20086
+ - maxim,max20087
+ then:
+ properties:
+ regulators:
+ required:
+ - OUT3
+ - OUT4
+ else:
+ properties:
+ regulators:
+ properties:
+ OUT3: false
+ OUT4: false
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ regulator@28 {
+ compatible = "maxim,max20087";
+ reg = <0x28>;
+
+ in-supply = <®_12v0>;
+ vdd-supply = <®_3v3>;
+
+ enable-gpios = <&gpio 108 GPIO_ACTIVE_HIGH>;
+
+ regulators {
+ OUT1 {
+ regulator-name = "VOUT1";
+ };
+ OUT2 {
+ regulator-name = "VOUT2";
+ };
+ OUT3 {
+ regulator-name = "VOUT3";
+ };
+ OUT4 {
+ regulator-name = "VOUT4";
+ };
+ };
+ };
+ };
+...
--
Regards,
Laurent Pinchart
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089
2022-01-02 21:11 ` [PATCH 1/2] dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089 Laurent Pinchart
@ 2022-01-04 14:26 ` Mark Brown
2022-01-04 14:43 ` Laurent Pinchart
0 siblings, 1 reply; 4+ messages in thread
From: Mark Brown @ 2022-01-04 14:26 UTC (permalink / raw)
To: Laurent Pinchart
Cc: linux-kernel, Watson Chow, Liam Girdwood, Laurent Pinchart,
Rob Herring, devicetree
[-- Attachment #1: Type: text/plain, Size: 491 bytes --]
On Sun, Jan 02, 2022 at 11:11:23PM +0200, Laurent Pinchart wrote:
> + patternProperties:
> + "^OUT[1-4]$":
> + type: object
> + $ref: regulator.yaml#
> +
> + required:
> + - OUT1
> + - OUT2
Why are we requiring that there be machine constraints for the
individual regulators? There's already a problem with people just
using the maximum possible control a regulator has as the default for
devices without regard to what the specific system can support.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089
2022-01-04 14:26 ` Mark Brown
@ 2022-01-04 14:43 ` Laurent Pinchart
2022-01-04 14:49 ` Mark Brown
0 siblings, 1 reply; 4+ messages in thread
From: Laurent Pinchart @ 2022-01-04 14:43 UTC (permalink / raw)
To: Mark Brown
Cc: linux-kernel, Watson Chow, Liam Girdwood, Rob Herring, devicetree
Hi Mark,
Thank you for the review.
On Tue, Jan 04, 2022 at 02:26:45PM +0000, Mark Brown wrote:
> On Sun, Jan 02, 2022 at 11:11:23PM +0200, Laurent Pinchart wrote:
>
> > + patternProperties:
> > + "^OUT[1-4]$":
> > + type: object
> > + $ref: regulator.yaml#
> > +
> > + required:
> > + - OUT1
> > + - OUT2
>
> Why are we requiring that there be machine constraints for the
> individual regulators? There's already a problem with people just
> using the maximum possible control a regulator has as the default for
> devices without regard to what the specific system can support.
Could you elaborate a bit, keeping in mind that I'm a newbie when it
comes to the regulator framework ? :-)
The MAX2008[6789] can't control the voltage or current. The outputs can
be enabled or disabled individually, but their voltage is fixed to the
input voltage. There's overcurrent protection, with a threshold set by a
resistor and not known to the driver. The voltage (and current I
believe) can be measured, and alarms can be raised through an interrupt.
How should I modify the DT bindings to match that correctly ?
--
Regards,
Laurent Pinchart
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089
2022-01-04 14:43 ` Laurent Pinchart
@ 2022-01-04 14:49 ` Mark Brown
0 siblings, 0 replies; 4+ messages in thread
From: Mark Brown @ 2022-01-04 14:49 UTC (permalink / raw)
To: Laurent Pinchart
Cc: linux-kernel, Watson Chow, Liam Girdwood, Rob Herring, devicetree
[-- Attachment #1: Type: text/plain, Size: 938 bytes --]
On Tue, Jan 04, 2022 at 04:43:12PM +0200, Laurent Pinchart wrote:
> On Tue, Jan 04, 2022 at 02:26:45PM +0000, Mark Brown wrote:
> > On Sun, Jan 02, 2022 at 11:11:23PM +0200, Laurent Pinchart wrote:
> > > + required:
> > > + - OUT1
> > > + - OUT2
> > Why are we requiring that there be machine constraints for the
> > individual regulators? There's already a problem with people just
> > using the maximum possible control a regulator has as the default for
> > devices without regard to what the specific system can support.
> Could you elaborate a bit, keeping in mind that I'm a newbie when it
> comes to the regulator framework ? :-)
Not really... the question is why we are marking these as required
rather than just letting them be omitted as we normally do for
individual regulators on a device. What purpose does it serve?
> How should I modify the DT bindings to match that correctly ?
Remove the required:.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2022-01-04 14:49 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <20220102211124.18435-1-laurent.pinchart+renesas@ideasonboard.com>
2022-01-02 21:11 ` [PATCH 1/2] dt-bindings: regulators: Add bindings for Maxim MAX20086-MAX20089 Laurent Pinchart
2022-01-04 14:26 ` Mark Brown
2022-01-04 14:43 ` Laurent Pinchart
2022-01-04 14:49 ` Mark Brown
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).