162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/clock/ti,lmk04832.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: Texas Instruments LMK04832 Clock Controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Liam Beguin <liambeguin@gmail.com> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: | 1362306a36Sopenharmony_ci Devicetree binding for the LMK04832, a clock conditioner with JEDEC JESD204B 1462306a36Sopenharmony_ci support. The LMK04832 is pin compatible with the LMK0482x family. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci Link to datasheet, https://www.ti.com/lit/ds/symlink/lmk04832.pdf 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciproperties: 1962306a36Sopenharmony_ci compatible: 2062306a36Sopenharmony_ci enum: 2162306a36Sopenharmony_ci - ti,lmk04832 2262306a36Sopenharmony_ci 2362306a36Sopenharmony_ci reg: 2462306a36Sopenharmony_ci maxItems: 1 2562306a36Sopenharmony_ci 2662306a36Sopenharmony_ci '#address-cells': 2762306a36Sopenharmony_ci const: 1 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci '#size-cells': 3062306a36Sopenharmony_ci const: 0 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci '#clock-cells': 3362306a36Sopenharmony_ci const: 1 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci spi-max-frequency: 3662306a36Sopenharmony_ci maximum: 5000000 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci clocks: 3962306a36Sopenharmony_ci items: 4062306a36Sopenharmony_ci - description: PLL2 reference clock. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci clock-names: 4362306a36Sopenharmony_ci items: 4462306a36Sopenharmony_ci - const: oscin 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci reset-gpios: 4762306a36Sopenharmony_ci maxItems: 1 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci ti,spi-4wire-rdbk: 5062306a36Sopenharmony_ci description: | 5162306a36Sopenharmony_ci Select SPI 4wire readback pin configuration. 5262306a36Sopenharmony_ci Available readback pins are, 5362306a36Sopenharmony_ci CLKin_SEL0 0 5462306a36Sopenharmony_ci CLKin_SEL1 1 5562306a36Sopenharmony_ci RESET 2 5662306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 5762306a36Sopenharmony_ci enum: [0, 1, 2] 5862306a36Sopenharmony_ci default: 1 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci ti,vco-hz: 6162306a36Sopenharmony_ci description: Optional to set VCO frequency of the PLL in Hertz. 6262306a36Sopenharmony_ci 6362306a36Sopenharmony_ci ti,sysref-ddly: 6462306a36Sopenharmony_ci description: SYSREF digital delay value. 6562306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 6662306a36Sopenharmony_ci minimum: 8 6762306a36Sopenharmony_ci maximum: 8191 6862306a36Sopenharmony_ci default: 8 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci ti,sysref-mux: 7162306a36Sopenharmony_ci description: | 7262306a36Sopenharmony_ci SYSREF Mux configuration. 7362306a36Sopenharmony_ci Available options are, 7462306a36Sopenharmony_ci Normal SYNC 0 7562306a36Sopenharmony_ci Re-clocked 1 7662306a36Sopenharmony_ci SYSREF Pulser 2 7762306a36Sopenharmony_ci SYSREF Continuous 3 7862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 7962306a36Sopenharmony_ci enum: [0, 1, 2, 3] 8062306a36Sopenharmony_ci default: 3 8162306a36Sopenharmony_ci 8262306a36Sopenharmony_ci ti,sync-mode: 8362306a36Sopenharmony_ci description: SYNC pin configuration. 8462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 8562306a36Sopenharmony_ci enum: [0, 1, 2] 8662306a36Sopenharmony_ci default: 1 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci ti,sysref-pulse-count: 8962306a36Sopenharmony_ci description: 9062306a36Sopenharmony_ci Number of SYSREF pulses to send when SYSREF is not in continuous mode. 9162306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 9262306a36Sopenharmony_ci enum: [1, 2, 4, 8] 9362306a36Sopenharmony_ci default: 4 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_cipatternProperties: 9662306a36Sopenharmony_ci "@[0-9a-d]+$": 9762306a36Sopenharmony_ci type: object 9862306a36Sopenharmony_ci description: 9962306a36Sopenharmony_ci Child nodes used to configure output clocks. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci properties: 10262306a36Sopenharmony_ci reg: 10362306a36Sopenharmony_ci description: 10462306a36Sopenharmony_ci clock output identifier. 10562306a36Sopenharmony_ci minimum: 0 10662306a36Sopenharmony_ci maximum: 13 10762306a36Sopenharmony_ci 10862306a36Sopenharmony_ci ti,clkout-fmt: 10962306a36Sopenharmony_ci description: 11062306a36Sopenharmony_ci Clock output format. 11162306a36Sopenharmony_ci Available options are, 11262306a36Sopenharmony_ci Powerdown 0x00 11362306a36Sopenharmony_ci LVDS 0x01 11462306a36Sopenharmony_ci HSDS 6 mA 0x02 11562306a36Sopenharmony_ci HSDS 8 mA 0x03 11662306a36Sopenharmony_ci LVPECL 1600 mV 0x04 11762306a36Sopenharmony_ci LVPECL 2000 mV 0x05 11862306a36Sopenharmony_ci LCPECL 0x06 11962306a36Sopenharmony_ci CML 16 mA 0x07 12062306a36Sopenharmony_ci CML 24 mA 0x08 12162306a36Sopenharmony_ci CML 32 mA 0x09 12262306a36Sopenharmony_ci CMOS (Off/Inverted) 0x0a 12362306a36Sopenharmony_ci CMOS (Normal/Off) 0x0b 12462306a36Sopenharmony_ci CMOS (Inverted/Inverted) 0x0c 12562306a36Sopenharmony_ci CMOS (Inverted/Normal) 0x0d 12662306a36Sopenharmony_ci CMOS (Normal/Inverted) 0x0e 12762306a36Sopenharmony_ci CMOS (Normal/Normal) 0x0f 12862306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 12962306a36Sopenharmony_ci minimum: 0 13062306a36Sopenharmony_ci maximum: 15 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci ti,clkout-sysref: 13362306a36Sopenharmony_ci description: 13462306a36Sopenharmony_ci Select SYSREF clock path for output clock. 13562306a36Sopenharmony_ci type: boolean 13662306a36Sopenharmony_ci 13762306a36Sopenharmony_ci required: 13862306a36Sopenharmony_ci - reg 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ci additionalProperties: false 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_cirequired: 14362306a36Sopenharmony_ci - compatible 14462306a36Sopenharmony_ci - reg 14562306a36Sopenharmony_ci - '#clock-cells' 14662306a36Sopenharmony_ci - clocks 14762306a36Sopenharmony_ci - clock-names 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ciadditionalProperties: false 15062306a36Sopenharmony_ci 15162306a36Sopenharmony_ciexamples: 15262306a36Sopenharmony_ci - | 15362306a36Sopenharmony_ci clocks { 15462306a36Sopenharmony_ci lmk04832_oscin: oscin { 15562306a36Sopenharmony_ci compatible = "fixed-clock"; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci #clock-cells = <0>; 15862306a36Sopenharmony_ci clock-frequency = <122880000>; 15962306a36Sopenharmony_ci clock-output-names = "lmk04832-oscin"; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci }; 16262306a36Sopenharmony_ci 16362306a36Sopenharmony_ci spi { 16462306a36Sopenharmony_ci #address-cells = <1>; 16562306a36Sopenharmony_ci #size-cells = <0>; 16662306a36Sopenharmony_ci 16762306a36Sopenharmony_ci lmk04832: clock-controller@0 { 16862306a36Sopenharmony_ci #address-cells = <1>; 16962306a36Sopenharmony_ci #size-cells = <0>; 17062306a36Sopenharmony_ci 17162306a36Sopenharmony_ci reg = <0>; 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci compatible = "ti,lmk04832"; 17462306a36Sopenharmony_ci spi-max-frequency = <781250>; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci reset-gpios = <&gpio_lmk 0 0 0>; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci #clock-cells = <1>; 17962306a36Sopenharmony_ci clocks = <&lmk04832_oscin>; 18062306a36Sopenharmony_ci clock-names = "oscin"; 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_ci ti,spi-4wire-rdbk = <0>; 18362306a36Sopenharmony_ci ti,vco-hz = <2457600000>; 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ci assigned-clocks = 18662306a36Sopenharmony_ci <&lmk04832 0>, <&lmk04832 1>, 18762306a36Sopenharmony_ci <&lmk04832 2>, <&lmk04832 3>, 18862306a36Sopenharmony_ci <&lmk04832 4>, 18962306a36Sopenharmony_ci <&lmk04832 6>, <&lmk04832 7>, 19062306a36Sopenharmony_ci <&lmk04832 10>, <&lmk04832 11>; 19162306a36Sopenharmony_ci assigned-clock-rates = 19262306a36Sopenharmony_ci <122880000>, <384000>, 19362306a36Sopenharmony_ci <122880000>, <384000>, 19462306a36Sopenharmony_ci <122880000>, 19562306a36Sopenharmony_ci <153600000>, <384000>, 19662306a36Sopenharmony_ci <614400000>, <384000>; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci clkout0@0 { 19962306a36Sopenharmony_ci reg = <0>; 20062306a36Sopenharmony_ci ti,clkout-fmt = <0x01>; // LVDS 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci 20362306a36Sopenharmony_ci clkout1@1 { 20462306a36Sopenharmony_ci reg = <1>; 20562306a36Sopenharmony_ci ti,clkout-fmt = <0x01>; // LVDS 20662306a36Sopenharmony_ci ti,clkout-sysref; 20762306a36Sopenharmony_ci }; 20862306a36Sopenharmony_ci }; 20962306a36Sopenharmony_ci }; 210