xref: /freebsd/sys/contrib/device-tree/Bindings/regulator/richtek,rtmv20-regulator.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
16be33864SEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
26be33864SEmmanuel Vadot%YAML 1.2
36be33864SEmmanuel Vadot---
46be33864SEmmanuel Vadot$id: http://devicetree.org/schemas/regulator/richtek,rtmv20-regulator.yaml#
56be33864SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
66be33864SEmmanuel Vadot
76be33864SEmmanuel Vadottitle: Richtek RTMV20 laser diode regulator
86be33864SEmmanuel Vadot
96be33864SEmmanuel Vadotmaintainers:
106be33864SEmmanuel Vadot  - ChiYuan Huang <cy_huang@richtek.com>
116be33864SEmmanuel Vadot
126be33864SEmmanuel Vadotdescription: |
136be33864SEmmanuel Vadot  Richtek RTMV20 is a load switch current regulator that can supply up to 6A.
146be33864SEmmanuel Vadot  It is used to drive laser diode. There're two signals for chip controls
156be33864SEmmanuel Vadot  (Enable/Fail), Enable pin to turn chip on, and Fail pin as fault indication.
166be33864SEmmanuel Vadot  There're still four pins for camera control, two inputs (strobe and vsync),
176be33864SEmmanuel Vadot  the others for outputs (fsin1 and fsin2). Strobe input to start the current
186be33864SEmmanuel Vadot  supply, vsync input from IR camera, and fsin1/fsin2 output for the optional.
196be33864SEmmanuel Vadot
206be33864SEmmanuel Vadotproperties:
216be33864SEmmanuel Vadot  compatible:
226be33864SEmmanuel Vadot    const: richtek,rtmv20
236be33864SEmmanuel Vadot
246be33864SEmmanuel Vadot  reg:
256be33864SEmmanuel Vadot    maxItems: 1
266be33864SEmmanuel Vadot
276be33864SEmmanuel Vadot  wakeup-source: true
286be33864SEmmanuel Vadot
296be33864SEmmanuel Vadot  interrupts:
306be33864SEmmanuel Vadot    maxItems: 1
316be33864SEmmanuel Vadot
326be33864SEmmanuel Vadot  enable-gpios:
336be33864SEmmanuel Vadot    description: A connection of the 'enable' gpio line.
346be33864SEmmanuel Vadot    maxItems: 1
356be33864SEmmanuel Vadot
366be33864SEmmanuel Vadot  richtek,ld-pulse-delay-us:
376be33864SEmmanuel Vadot    description: |
386be33864SEmmanuel Vadot      load current pulse delay in microsecond after strobe pin pulse high.
396be33864SEmmanuel Vadot    minimum: 0
406be33864SEmmanuel Vadot    maximum: 100000
416be33864SEmmanuel Vadot    default: 0
426be33864SEmmanuel Vadot
436be33864SEmmanuel Vadot  richtek,ld-pulse-width-us:
446be33864SEmmanuel Vadot    description: |
456be33864SEmmanuel Vadot      Load current pulse width in microsecond after strobe pin pulse high.
466be33864SEmmanuel Vadot    minimum: 0
476be33864SEmmanuel Vadot    maximum: 10000
486be33864SEmmanuel Vadot    default: 1200
496be33864SEmmanuel Vadot
506be33864SEmmanuel Vadot  richtek,fsin1-delay-us:
516be33864SEmmanuel Vadot    description: |
526be33864SEmmanuel Vadot      Fsin1 pulse high delay in microsecond after vsync signal pulse high.
536be33864SEmmanuel Vadot    minimum: 0
546be33864SEmmanuel Vadot    maximum: 100000
556be33864SEmmanuel Vadot    default: 23000
566be33864SEmmanuel Vadot
576be33864SEmmanuel Vadot  richtek,fsin1-width-us:
586be33864SEmmanuel Vadot    description: |
596be33864SEmmanuel Vadot      Fsin1 pulse high width in microsecond after vsync signal pulse high.
606be33864SEmmanuel Vadot    minimum: 40
616be33864SEmmanuel Vadot    maximum: 10000
626be33864SEmmanuel Vadot    default: 160
636be33864SEmmanuel Vadot
646be33864SEmmanuel Vadot  richtek,fsin2-delay-us:
656be33864SEmmanuel Vadot    description: |
666be33864SEmmanuel Vadot      Fsin2 pulse high delay in microsecond after vsync signal pulse high.
676be33864SEmmanuel Vadot    minimum: 0
686be33864SEmmanuel Vadot    maximum: 100000
696be33864SEmmanuel Vadot    default: 23000
706be33864SEmmanuel Vadot
716be33864SEmmanuel Vadot  richtek,fsin2-width-us:
726be33864SEmmanuel Vadot    description: |
736be33864SEmmanuel Vadot      Fsin2 pulse high width in microsecond after vsync signal pulse high.
746be33864SEmmanuel Vadot    minimum: 40
756be33864SEmmanuel Vadot    maximum: 10000
766be33864SEmmanuel Vadot    default: 160
776be33864SEmmanuel Vadot
786be33864SEmmanuel Vadot  richtek,es-pulse-width-us:
796be33864SEmmanuel Vadot    description: Eye safety function pulse width limit in microsecond.
806be33864SEmmanuel Vadot    minimum: 0
816be33864SEmmanuel Vadot    maximum: 10000
826be33864SEmmanuel Vadot    default: 1200
836be33864SEmmanuel Vadot
846be33864SEmmanuel Vadot  richtek,es-ld-current-microamp:
856be33864SEmmanuel Vadot    description: Eye safety function load current limit in microamp.
866be33864SEmmanuel Vadot    minimum: 0
876be33864SEmmanuel Vadot    maximum: 6000000
886be33864SEmmanuel Vadot    default: 3000000
896be33864SEmmanuel Vadot
906be33864SEmmanuel Vadot  richtek,lbp-level-microvolt:
916be33864SEmmanuel Vadot    description: Low battery protection level in microvolt.
926be33864SEmmanuel Vadot    minimum: 2400000
936be33864SEmmanuel Vadot    maximum: 3700000
946be33864SEmmanuel Vadot    default: 2700000
956be33864SEmmanuel Vadot
966be33864SEmmanuel Vadot  richtek,lbp-enable:
976be33864SEmmanuel Vadot    description: Low battery protection function enable control.
986be33864SEmmanuel Vadot    type: boolean
996be33864SEmmanuel Vadot
1006be33864SEmmanuel Vadot  richtek,strobe-polarity-high:
1016be33864SEmmanuel Vadot    description: Strobe pin active polarity control.
1026be33864SEmmanuel Vadot    type: boolean
1036be33864SEmmanuel Vadot
1046be33864SEmmanuel Vadot  richtek,vsync-polarity-high:
1056be33864SEmmanuel Vadot    description: Vsync pin active polarity control.
1066be33864SEmmanuel Vadot    type: boolean
1076be33864SEmmanuel Vadot
1086be33864SEmmanuel Vadot  richtek,fsin-enable:
1096be33864SEmmanuel Vadot    description: Fsin function enable control.
1106be33864SEmmanuel Vadot    type: boolean
1116be33864SEmmanuel Vadot
1126be33864SEmmanuel Vadot  richtek,fsin-output:
1136be33864SEmmanuel Vadot    description: Fsin function output control.
1146be33864SEmmanuel Vadot    type: boolean
1156be33864SEmmanuel Vadot
1166be33864SEmmanuel Vadot  richtek,es-enable:
1176be33864SEmmanuel Vadot    description: Eye safety function enable control.
1186be33864SEmmanuel Vadot    type: boolean
1196be33864SEmmanuel Vadot
1206be33864SEmmanuel Vadot  lsw:
1216be33864SEmmanuel Vadot    description: load switch current regulator description.
1226be33864SEmmanuel Vadot    type: object
123fac71e4eSEmmanuel Vadot    $ref: regulator.yaml#
124*aa1a8ff2SEmmanuel Vadot    unevaluatedProperties: false
1256be33864SEmmanuel Vadot
1266be33864SEmmanuel Vadotrequired:
1276be33864SEmmanuel Vadot  - compatible
1286be33864SEmmanuel Vadot  - reg
1296be33864SEmmanuel Vadot  - wakeup-source
1306be33864SEmmanuel Vadot  - interrupts
1316be33864SEmmanuel Vadot  - enable-gpios
1326be33864SEmmanuel Vadot  - lsw
1336be33864SEmmanuel Vadot
1346be33864SEmmanuel VadotadditionalProperties: false
1356be33864SEmmanuel Vadot
1366be33864SEmmanuel Vadotexamples:
1376be33864SEmmanuel Vadot  - |
1386be33864SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/irq.h>
1396be33864SEmmanuel Vadot    i2c {
1406be33864SEmmanuel Vadot      #address-cells = <1>;
1416be33864SEmmanuel Vadot      #size-cells = <0>;
1426be33864SEmmanuel Vadot
1436be33864SEmmanuel Vadot      rtmv20@34 {
1446be33864SEmmanuel Vadot        compatible = "richtek,rtmv20";
1456be33864SEmmanuel Vadot        reg = <0x34>;
1466be33864SEmmanuel Vadot        wakeup-source;
1476be33864SEmmanuel Vadot        interrupts-extended = <&gpio26 2 IRQ_TYPE_LEVEL_LOW>;
1486be33864SEmmanuel Vadot        enable-gpios = <&gpio26 3 0>;
1496be33864SEmmanuel Vadot
1506be33864SEmmanuel Vadot        richtek,strobe-polarity-high;
1516be33864SEmmanuel Vadot        richtek,vsync-polarity-high;
1526be33864SEmmanuel Vadot
1536be33864SEmmanuel Vadot        lsw {
1546be33864SEmmanuel Vadot                regulator-name = "rtmv20,lsw";
1556be33864SEmmanuel Vadot                regulator-min-microamp = <0>;
1566be33864SEmmanuel Vadot                regulator-max-microamp = <6000000>;
1576be33864SEmmanuel Vadot        };
1586be33864SEmmanuel Vadot      };
1596be33864SEmmanuel Vadot    };
1606be33864SEmmanuel Vadot...
161