162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/regulator/richtek,rtmv20-regulator.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Richtek RTMV20 laser diode regulator 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - ChiYuan Huang <cy_huang@richtek.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Richtek RTMV20 is a load switch current regulator that can supply up to 6A. 1462306a36Sopenharmony_ci It is used to drive laser diode. There're two signals for chip controls 1562306a36Sopenharmony_ci (Enable/Fail), Enable pin to turn chip on, and Fail pin as fault indication. 1662306a36Sopenharmony_ci There're still four pins for camera control, two inputs (strobe and vsync), 1762306a36Sopenharmony_ci the others for outputs (fsin1 and fsin2). Strobe input to start the current 1862306a36Sopenharmony_ci supply, vsync input from IR camera, and fsin1/fsin2 output for the optional. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciproperties: 2162306a36Sopenharmony_ci compatible: 2262306a36Sopenharmony_ci const: richtek,rtmv20 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci reg: 2562306a36Sopenharmony_ci maxItems: 1 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci wakeup-source: true 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci interrupts: 3062306a36Sopenharmony_ci maxItems: 1 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci enable-gpios: 3362306a36Sopenharmony_ci description: A connection of the 'enable' gpio line. 3462306a36Sopenharmony_ci maxItems: 1 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ci richtek,ld-pulse-delay-us: 3762306a36Sopenharmony_ci description: | 3862306a36Sopenharmony_ci load current pulse delay in microsecond after strobe pin pulse high. 3962306a36Sopenharmony_ci minimum: 0 4062306a36Sopenharmony_ci maximum: 100000 4162306a36Sopenharmony_ci default: 0 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci richtek,ld-pulse-width-us: 4462306a36Sopenharmony_ci description: | 4562306a36Sopenharmony_ci Load current pulse width in microsecond after strobe pin pulse high. 4662306a36Sopenharmony_ci minimum: 0 4762306a36Sopenharmony_ci maximum: 10000 4862306a36Sopenharmony_ci default: 1200 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci richtek,fsin1-delay-us: 5162306a36Sopenharmony_ci description: | 5262306a36Sopenharmony_ci Fsin1 pulse high delay in microsecond after vsync signal pulse high. 5362306a36Sopenharmony_ci minimum: 0 5462306a36Sopenharmony_ci maximum: 100000 5562306a36Sopenharmony_ci default: 23000 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ci richtek,fsin1-width-us: 5862306a36Sopenharmony_ci description: | 5962306a36Sopenharmony_ci Fsin1 pulse high width in microsecond after vsync signal pulse high. 6062306a36Sopenharmony_ci minimum: 40 6162306a36Sopenharmony_ci maximum: 10000 6262306a36Sopenharmony_ci default: 160 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci richtek,fsin2-delay-us: 6562306a36Sopenharmony_ci description: | 6662306a36Sopenharmony_ci Fsin2 pulse high delay in microsecond after vsync signal pulse high. 6762306a36Sopenharmony_ci minimum: 0 6862306a36Sopenharmony_ci maximum: 100000 6962306a36Sopenharmony_ci default: 23000 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ci richtek,fsin2-width-us: 7262306a36Sopenharmony_ci description: | 7362306a36Sopenharmony_ci Fsin2 pulse high width in microsecond after vsync signal pulse high. 7462306a36Sopenharmony_ci minimum: 40 7562306a36Sopenharmony_ci maximum: 10000 7662306a36Sopenharmony_ci default: 160 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci richtek,es-pulse-width-us: 7962306a36Sopenharmony_ci description: Eye safety function pulse width limit in microsecond. 8062306a36Sopenharmony_ci minimum: 0 8162306a36Sopenharmony_ci maximum: 10000 8262306a36Sopenharmony_ci default: 1200 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci richtek,es-ld-current-microamp: 8562306a36Sopenharmony_ci description: Eye safety function load current limit in microamp. 8662306a36Sopenharmony_ci minimum: 0 8762306a36Sopenharmony_ci maximum: 6000000 8862306a36Sopenharmony_ci default: 3000000 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci richtek,lbp-level-microvolt: 9162306a36Sopenharmony_ci description: Low battery protection level in microvolt. 9262306a36Sopenharmony_ci minimum: 2400000 9362306a36Sopenharmony_ci maximum: 3700000 9462306a36Sopenharmony_ci default: 2700000 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci richtek,lbp-enable: 9762306a36Sopenharmony_ci description: Low battery protection function enable control. 9862306a36Sopenharmony_ci type: boolean 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ci richtek,strobe-polarity-high: 10162306a36Sopenharmony_ci description: Strobe pin active polarity control. 10262306a36Sopenharmony_ci type: boolean 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci richtek,vsync-polarity-high: 10562306a36Sopenharmony_ci description: Vsync pin active polarity control. 10662306a36Sopenharmony_ci type: boolean 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci richtek,fsin-enable: 10962306a36Sopenharmony_ci description: Fsin function enable control. 11062306a36Sopenharmony_ci type: boolean 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci richtek,fsin-output: 11362306a36Sopenharmony_ci description: Fsin function output control. 11462306a36Sopenharmony_ci type: boolean 11562306a36Sopenharmony_ci 11662306a36Sopenharmony_ci richtek,es-enable: 11762306a36Sopenharmony_ci description: Eye safety function enable control. 11862306a36Sopenharmony_ci type: boolean 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ci lsw: 12162306a36Sopenharmony_ci description: load switch current regulator description. 12262306a36Sopenharmony_ci type: object 12362306a36Sopenharmony_ci $ref: regulator.yaml# 12462306a36Sopenharmony_ci unevaluatedProperties: false 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_cirequired: 12762306a36Sopenharmony_ci - compatible 12862306a36Sopenharmony_ci - reg 12962306a36Sopenharmony_ci - wakeup-source 13062306a36Sopenharmony_ci - interrupts 13162306a36Sopenharmony_ci - enable-gpios 13262306a36Sopenharmony_ci - lsw 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_ciadditionalProperties: false 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ciexamples: 13762306a36Sopenharmony_ci - | 13862306a36Sopenharmony_ci #include <dt-bindings/interrupt-controller/irq.h> 13962306a36Sopenharmony_ci i2c { 14062306a36Sopenharmony_ci #address-cells = <1>; 14162306a36Sopenharmony_ci #size-cells = <0>; 14262306a36Sopenharmony_ci 14362306a36Sopenharmony_ci rtmv20@34 { 14462306a36Sopenharmony_ci compatible = "richtek,rtmv20"; 14562306a36Sopenharmony_ci reg = <0x34>; 14662306a36Sopenharmony_ci wakeup-source; 14762306a36Sopenharmony_ci interrupts-extended = <&gpio26 2 IRQ_TYPE_LEVEL_LOW>; 14862306a36Sopenharmony_ci enable-gpios = <&gpio26 3 0>; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci richtek,strobe-polarity-high; 15162306a36Sopenharmony_ci richtek,vsync-polarity-high; 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ci lsw { 15462306a36Sopenharmony_ci regulator-name = "rtmv20,lsw"; 15562306a36Sopenharmony_ci regulator-min-microamp = <0>; 15662306a36Sopenharmony_ci regulator-max-microamp = <6000000>; 15762306a36Sopenharmony_ci }; 15862306a36Sopenharmony_ci }; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci... 161