1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/regulator/richtek,rtmv20-regulator.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Richtek RTMV20 laser diode regulator 8 9maintainers: 10 - ChiYuan Huang <cy_huang@richtek.com> 11 12description: | 13 Richtek RTMV20 is a load switch current regulator that can supply up to 6A. 14 It is used to drive laser diode. There're two signals for chip controls 15 (Enable/Fail), Enable pin to turn chip on, and Fail pin as fault indication. 16 There're still four pins for camera control, two inputs (strobe and vsync), 17 the others for outputs (fsin1 and fsin2). Strobe input to start the current 18 supply, vsync input from IR camera, and fsin1/fsin2 output for the optional. 19 20properties: 21 compatible: 22 const: richtek,rtmv20 23 24 reg: 25 maxItems: 1 26 27 wakeup-source: true 28 29 interrupts: 30 maxItems: 1 31 32 enable-gpios: 33 description: A connection of the 'enable' gpio line. 34 maxItems: 1 35 36 richtek,ld-pulse-delay-us: 37 description: | 38 load current pulse delay in microsecond after strobe pin pulse high. 39 minimum: 0 40 maximum: 100000 41 default: 0 42 43 richtek,ld-pulse-width-us: 44 description: | 45 Load current pulse width in microsecond after strobe pin pulse high. 46 minimum: 0 47 maximum: 10000 48 default: 1200 49 50 richtek,fsin1-delay-us: 51 description: | 52 Fsin1 pulse high delay in microsecond after vsync signal pulse high. 53 minimum: 0 54 maximum: 100000 55 default: 23000 56 57 richtek,fsin1-width-us: 58 description: | 59 Fsin1 pulse high width in microsecond after vsync signal pulse high. 60 minimum: 40 61 maximum: 10000 62 default: 160 63 64 richtek,fsin2-delay-us: 65 description: | 66 Fsin2 pulse high delay in microsecond after vsync signal pulse high. 67 minimum: 0 68 maximum: 100000 69 default: 23000 70 71 richtek,fsin2-width-us: 72 description: | 73 Fsin2 pulse high width in microsecond after vsync signal pulse high. 74 minimum: 40 75 maximum: 10000 76 default: 160 77 78 richtek,es-pulse-width-us: 79 description: Eye safety function pulse width limit in microsecond. 80 minimum: 0 81 maximum: 10000 82 default: 1200 83 84 richtek,es-ld-current-microamp: 85 description: Eye safety function load current limit in microamp. 86 minimum: 0 87 maximum: 6000000 88 default: 3000000 89 90 richtek,lbp-level-microvolt: 91 description: Low battery protection level in microvolt. 92 minimum: 2400000 93 maximum: 3700000 94 default: 2700000 95 96 richtek,lbp-enable: 97 description: Low battery protection function enable control. 98 type: boolean 99 100 richtek,strobe-polarity-high: 101 description: Strobe pin active polarity control. 102 type: boolean 103 104 richtek,vsync-polarity-high: 105 description: Vsync pin active polarity control. 106 type: boolean 107 108 richtek,fsin-enable: 109 description: Fsin function enable control. 110 type: boolean 111 112 richtek,fsin-output: 113 description: Fsin function output control. 114 type: boolean 115 116 richtek,es-enable: 117 description: Eye safety function enable control. 118 type: boolean 119 120 lsw: 121 description: load switch current regulator description. 122 type: object 123 $ref: regulator.yaml# 124 125required: 126 - compatible 127 - reg 128 - wakeup-source 129 - interrupts 130 - enable-gpios 131 - lsw 132 133additionalProperties: false 134 135examples: 136 - | 137 #include <dt-bindings/interrupt-controller/irq.h> 138 i2c { 139 #address-cells = <1>; 140 #size-cells = <0>; 141 142 rtmv20@34 { 143 compatible = "richtek,rtmv20"; 144 reg = <0x34>; 145 wakeup-source; 146 interrupts-extended = <&gpio26 2 IRQ_TYPE_LEVEL_LOW>; 147 enable-gpios = <&gpio26 3 0>; 148 149 richtek,strobe-polarity-high; 150 richtek,vsync-polarity-high; 151 152 lsw { 153 regulator-name = "rtmv20,lsw"; 154 regulator-min-microamp = <0>; 155 regulator-max-microamp = <6000000>; 156 }; 157 }; 158 }; 159... 160