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