15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 25956d97fSEmmanuel Vadot%YAML 1.2 35956d97fSEmmanuel Vadot--- 45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/clock/ti,lmk04832.yaml# 55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 65956d97fSEmmanuel Vadot 78bab661aSEmmanuel Vadottitle: Texas Instruments LMK04832 Clock Controller 85956d97fSEmmanuel Vadot 95956d97fSEmmanuel Vadotmaintainers: 105956d97fSEmmanuel Vadot - Liam Beguin <liambeguin@gmail.com> 115956d97fSEmmanuel Vadot 125956d97fSEmmanuel Vadotdescription: | 135956d97fSEmmanuel Vadot Devicetree binding for the LMK04832, a clock conditioner with JEDEC JESD204B 145956d97fSEmmanuel Vadot support. The LMK04832 is pin compatible with the LMK0482x family. 155956d97fSEmmanuel Vadot 165956d97fSEmmanuel Vadot Link to datasheet, https://www.ti.com/lit/ds/symlink/lmk04832.pdf 175956d97fSEmmanuel Vadot 185956d97fSEmmanuel Vadotproperties: 195956d97fSEmmanuel Vadot compatible: 205956d97fSEmmanuel Vadot enum: 215956d97fSEmmanuel Vadot - ti,lmk04832 225956d97fSEmmanuel Vadot 235956d97fSEmmanuel Vadot reg: 245956d97fSEmmanuel Vadot maxItems: 1 255956d97fSEmmanuel Vadot 265956d97fSEmmanuel Vadot '#address-cells': 275956d97fSEmmanuel Vadot const: 1 285956d97fSEmmanuel Vadot 295956d97fSEmmanuel Vadot '#size-cells': 305956d97fSEmmanuel Vadot const: 0 315956d97fSEmmanuel Vadot 325956d97fSEmmanuel Vadot '#clock-cells': 335956d97fSEmmanuel Vadot const: 1 345956d97fSEmmanuel Vadot 355956d97fSEmmanuel Vadot spi-max-frequency: 365956d97fSEmmanuel Vadot maximum: 5000000 375956d97fSEmmanuel Vadot 385956d97fSEmmanuel Vadot clocks: 395956d97fSEmmanuel Vadot items: 405956d97fSEmmanuel Vadot - description: PLL2 reference clock. 415956d97fSEmmanuel Vadot 425956d97fSEmmanuel Vadot clock-names: 435956d97fSEmmanuel Vadot items: 445956d97fSEmmanuel Vadot - const: oscin 455956d97fSEmmanuel Vadot 465956d97fSEmmanuel Vadot reset-gpios: 475956d97fSEmmanuel Vadot maxItems: 1 485956d97fSEmmanuel Vadot 495956d97fSEmmanuel Vadot ti,spi-4wire-rdbk: 505956d97fSEmmanuel Vadot description: | 515956d97fSEmmanuel Vadot Select SPI 4wire readback pin configuration. 525956d97fSEmmanuel Vadot Available readback pins are, 535956d97fSEmmanuel Vadot CLKin_SEL0 0 545956d97fSEmmanuel Vadot CLKin_SEL1 1 555956d97fSEmmanuel Vadot RESET 2 565956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 575956d97fSEmmanuel Vadot enum: [0, 1, 2] 585956d97fSEmmanuel Vadot default: 1 595956d97fSEmmanuel Vadot 605956d97fSEmmanuel Vadot ti,vco-hz: 615956d97fSEmmanuel Vadot description: Optional to set VCO frequency of the PLL in Hertz. 625956d97fSEmmanuel Vadot 635956d97fSEmmanuel Vadot ti,sysref-ddly: 645956d97fSEmmanuel Vadot description: SYSREF digital delay value. 655956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 665956d97fSEmmanuel Vadot minimum: 8 675956d97fSEmmanuel Vadot maximum: 8191 685956d97fSEmmanuel Vadot default: 8 695956d97fSEmmanuel Vadot 705956d97fSEmmanuel Vadot ti,sysref-mux: 715956d97fSEmmanuel Vadot description: | 725956d97fSEmmanuel Vadot SYSREF Mux configuration. 735956d97fSEmmanuel Vadot Available options are, 745956d97fSEmmanuel Vadot Normal SYNC 0 755956d97fSEmmanuel Vadot Re-clocked 1 765956d97fSEmmanuel Vadot SYSREF Pulser 2 775956d97fSEmmanuel Vadot SYSREF Continuous 3 785956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 795956d97fSEmmanuel Vadot enum: [0, 1, 2, 3] 805956d97fSEmmanuel Vadot default: 3 815956d97fSEmmanuel Vadot 825956d97fSEmmanuel Vadot ti,sync-mode: 835956d97fSEmmanuel Vadot description: SYNC pin configuration. 845956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 855956d97fSEmmanuel Vadot enum: [0, 1, 2] 865956d97fSEmmanuel Vadot default: 1 875956d97fSEmmanuel Vadot 885956d97fSEmmanuel Vadot ti,sysref-pulse-count: 895956d97fSEmmanuel Vadot description: 905956d97fSEmmanuel Vadot Number of SYSREF pulses to send when SYSREF is not in continuous mode. 915956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 925956d97fSEmmanuel Vadot enum: [1, 2, 4, 8] 935956d97fSEmmanuel Vadot default: 4 945956d97fSEmmanuel Vadot 955956d97fSEmmanuel VadotpatternProperties: 965956d97fSEmmanuel Vadot "@[0-9a-d]+$": 975956d97fSEmmanuel Vadot type: object 985956d97fSEmmanuel Vadot description: 995956d97fSEmmanuel Vadot Child nodes used to configure output clocks. 1005956d97fSEmmanuel Vadot 1015956d97fSEmmanuel Vadot properties: 1025956d97fSEmmanuel Vadot reg: 1035956d97fSEmmanuel Vadot description: 1045956d97fSEmmanuel Vadot clock output identifier. 1055956d97fSEmmanuel Vadot minimum: 0 1065956d97fSEmmanuel Vadot maximum: 13 1075956d97fSEmmanuel Vadot 1085956d97fSEmmanuel Vadot ti,clkout-fmt: 1095956d97fSEmmanuel Vadot description: 1105956d97fSEmmanuel Vadot Clock output format. 1115956d97fSEmmanuel Vadot Available options are, 1125956d97fSEmmanuel Vadot Powerdown 0x00 1135956d97fSEmmanuel Vadot LVDS 0x01 1145956d97fSEmmanuel Vadot HSDS 6 mA 0x02 1155956d97fSEmmanuel Vadot HSDS 8 mA 0x03 1165956d97fSEmmanuel Vadot LVPECL 1600 mV 0x04 1175956d97fSEmmanuel Vadot LVPECL 2000 mV 0x05 1185956d97fSEmmanuel Vadot LCPECL 0x06 1195956d97fSEmmanuel Vadot CML 16 mA 0x07 1205956d97fSEmmanuel Vadot CML 24 mA 0x08 1215956d97fSEmmanuel Vadot CML 32 mA 0x09 1225956d97fSEmmanuel Vadot CMOS (Off/Inverted) 0x0a 1235956d97fSEmmanuel Vadot CMOS (Normal/Off) 0x0b 1245956d97fSEmmanuel Vadot CMOS (Inverted/Inverted) 0x0c 1255956d97fSEmmanuel Vadot CMOS (Inverted/Normal) 0x0d 1265956d97fSEmmanuel Vadot CMOS (Normal/Inverted) 0x0e 1275956d97fSEmmanuel Vadot CMOS (Normal/Normal) 0x0f 1285956d97fSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 1295956d97fSEmmanuel Vadot minimum: 0 1305956d97fSEmmanuel Vadot maximum: 15 1315956d97fSEmmanuel Vadot 1325956d97fSEmmanuel Vadot ti,clkout-sysref: 1335956d97fSEmmanuel Vadot description: 1345956d97fSEmmanuel Vadot Select SYSREF clock path for output clock. 1355956d97fSEmmanuel Vadot type: boolean 1365956d97fSEmmanuel Vadot 1375956d97fSEmmanuel Vadot required: 1385956d97fSEmmanuel Vadot - reg 1395956d97fSEmmanuel Vadot 1405956d97fSEmmanuel Vadot additionalProperties: false 1415956d97fSEmmanuel Vadot 1425956d97fSEmmanuel Vadotrequired: 1435956d97fSEmmanuel Vadot - compatible 1445956d97fSEmmanuel Vadot - reg 1455956d97fSEmmanuel Vadot - '#clock-cells' 1465956d97fSEmmanuel Vadot - clocks 1475956d97fSEmmanuel Vadot - clock-names 1485956d97fSEmmanuel Vadot 1495956d97fSEmmanuel VadotadditionalProperties: false 1505956d97fSEmmanuel Vadot 1515956d97fSEmmanuel Vadotexamples: 1525956d97fSEmmanuel Vadot - | 1535956d97fSEmmanuel Vadot clocks { 1545956d97fSEmmanuel Vadot lmk04832_oscin: oscin { 1555956d97fSEmmanuel Vadot compatible = "fixed-clock"; 1565956d97fSEmmanuel Vadot 1575956d97fSEmmanuel Vadot #clock-cells = <0>; 1585956d97fSEmmanuel Vadot clock-frequency = <122880000>; 1595956d97fSEmmanuel Vadot clock-output-names = "lmk04832-oscin"; 1605956d97fSEmmanuel Vadot }; 1615956d97fSEmmanuel Vadot }; 1625956d97fSEmmanuel Vadot 163*fac71e4eSEmmanuel Vadot spi { 1645956d97fSEmmanuel Vadot #address-cells = <1>; 1655956d97fSEmmanuel Vadot #size-cells = <0>; 1665956d97fSEmmanuel Vadot 1675956d97fSEmmanuel Vadot lmk04832: clock-controller@0 { 1685956d97fSEmmanuel Vadot #address-cells = <1>; 1695956d97fSEmmanuel Vadot #size-cells = <0>; 1705956d97fSEmmanuel Vadot 1715956d97fSEmmanuel Vadot reg = <0>; 1725956d97fSEmmanuel Vadot 1735956d97fSEmmanuel Vadot compatible = "ti,lmk04832"; 1745956d97fSEmmanuel Vadot spi-max-frequency = <781250>; 1755956d97fSEmmanuel Vadot 1765956d97fSEmmanuel Vadot reset-gpios = <&gpio_lmk 0 0 0>; 1775956d97fSEmmanuel Vadot 1785956d97fSEmmanuel Vadot #clock-cells = <1>; 1795956d97fSEmmanuel Vadot clocks = <&lmk04832_oscin>; 1805956d97fSEmmanuel Vadot clock-names = "oscin"; 1815956d97fSEmmanuel Vadot 1825956d97fSEmmanuel Vadot ti,spi-4wire-rdbk = <0>; 1835956d97fSEmmanuel Vadot ti,vco-hz = <2457600000>; 1845956d97fSEmmanuel Vadot 1855956d97fSEmmanuel Vadot assigned-clocks = 1865956d97fSEmmanuel Vadot <&lmk04832 0>, <&lmk04832 1>, 1875956d97fSEmmanuel Vadot <&lmk04832 2>, <&lmk04832 3>, 1885956d97fSEmmanuel Vadot <&lmk04832 4>, 1895956d97fSEmmanuel Vadot <&lmk04832 6>, <&lmk04832 7>, 1905956d97fSEmmanuel Vadot <&lmk04832 10>, <&lmk04832 11>; 1915956d97fSEmmanuel Vadot assigned-clock-rates = 1925956d97fSEmmanuel Vadot <122880000>, <384000>, 1935956d97fSEmmanuel Vadot <122880000>, <384000>, 1945956d97fSEmmanuel Vadot <122880000>, 1955956d97fSEmmanuel Vadot <153600000>, <384000>, 1965956d97fSEmmanuel Vadot <614400000>, <384000>; 1975956d97fSEmmanuel Vadot 1985956d97fSEmmanuel Vadot clkout0@0 { 1995956d97fSEmmanuel Vadot reg = <0>; 2005956d97fSEmmanuel Vadot ti,clkout-fmt = <0x01>; // LVDS 2015956d97fSEmmanuel Vadot }; 2025956d97fSEmmanuel Vadot 2035956d97fSEmmanuel Vadot clkout1@1 { 2045956d97fSEmmanuel Vadot reg = <1>; 2055956d97fSEmmanuel Vadot ti,clkout-fmt = <0x01>; // LVDS 2065956d97fSEmmanuel Vadot ti,clkout-sysref; 2075956d97fSEmmanuel Vadot }; 2085956d97fSEmmanuel Vadot }; 2095956d97fSEmmanuel Vadot }; 210