1 Binding for Maxim MAX77686/MAX77802/MAX77620 3 1 Binding for Maxim MAX77686/MAX77802/MAX77620 32k clock generator block 2 2 3 This is a part of device tree bindings of MAX7 3 This is a part of device tree bindings of MAX77686/MAX77802/MAX77620 4 multi-function device. More information can be 4 multi-function device. More information can be found in MFD DT binding 5 doc as follows: 5 doc as follows: 6 bindings/mfd/max77686.txt for MAX77686 6 bindings/mfd/max77686.txt for MAX77686 and 7 bindings/mfd/max77802.txt for MAX77802 7 bindings/mfd/max77802.txt for MAX77802 and 8 bindings/mfd/max77620.txt for MAX77620 8 bindings/mfd/max77620.txt for MAX77620. 9 9 10 The MAX77686 contains three 32.768khz clock ou 10 The MAX77686 contains three 32.768khz clock outputs that can be controlled 11 (gated/ungated) over I2C. Clocks are defined a 11 (gated/ungated) over I2C. Clocks are defined as preprocessor macros in 12 dt-bindings/clock/maxim,max77686.h. 12 dt-bindings/clock/maxim,max77686.h. 13 13 14 14 15 The MAX77802 contains two 32.768khz clock outp 15 The MAX77802 contains two 32.768khz clock outputs that can be controlled 16 (gated/ungated) over I2C. Clocks are defined a 16 (gated/ungated) over I2C. Clocks are defined as preprocessor macros in 17 dt-bindings/clock/maxim,max77802.h. 17 dt-bindings/clock/maxim,max77802.h. 18 18 19 The MAX77686 contains one 32.768khz clock outp 19 The MAX77686 contains one 32.768khz clock outputs that can be controlled 20 (gated/ungated) over I2C. Clocks are defined a 20 (gated/ungated) over I2C. Clocks are defined as preprocessor macros in 21 dt-bindings/clock/maxim,max77620.h. 21 dt-bindings/clock/maxim,max77620.h. 22 22 23 Following properties should be presend in main 23 Following properties should be presend in main device node of the MFD chip. 24 24 25 Required properties: 25 Required properties: 26 26 27 - #clock-cells: from common clock binding; sha 27 - #clock-cells: from common clock binding; shall be set to 1. 28 28 29 Optional properties: 29 Optional properties: 30 - clock-output-names: From common clock bindin 30 - clock-output-names: From common clock binding. 31 31 32 Each clock is assigned an identifier and clien 32 Each clock is assigned an identifier and client nodes can use this identifier 33 to specify the clock which they consume. Follo 33 to specify the clock which they consume. Following indices are allowed: 34 - 0: 32khz_ap clock (max77686, max77802), 34 - 0: 32khz_ap clock (max77686, max77802), 32khz_out0 (max77620) 35 - 1: 32khz_cp clock (max77686, max77802), 35 - 1: 32khz_cp clock (max77686, max77802), 36 - 2: 32khz_pmic clock (max77686). 36 - 2: 32khz_pmic clock (max77686). 37 37 38 Clocks are defined as preprocessor macros in a 38 Clocks are defined as preprocessor macros in above dt-binding header for 39 respective chips. 39 respective chips. 40 40 41 Example: 41 Example: 42 42 43 1. With MAX77686: 43 1. With MAX77686: 44 44 45 #include <dt-bindings/clock/maxim,max77686.h> 45 #include <dt-bindings/clock/maxim,max77686.h> 46 /* ... */ 46 /* ... */ 47 47 48 Node of the MFD chip 48 Node of the MFD chip 49 max77686: max77686@9 { 49 max77686: max77686@9 { 50 compatible = "maxim,ma 50 compatible = "maxim,max77686"; 51 interrupt-parent = <&w 51 interrupt-parent = <&wakeup_eint>; 52 interrupts = <26 IRQ_T !! 52 interrupts = <26 0>; 53 reg = <0x09>; 53 reg = <0x09>; 54 #clock-cells = <1>; 54 #clock-cells = <1>; 55 55 56 /* ... */ 56 /* ... */ 57 }; 57 }; 58 58 59 Clock consumer node 59 Clock consumer node 60 60 61 foo@0 { 61 foo@0 { 62 compatible = "bar,foo" 62 compatible = "bar,foo"; 63 /* ... */ 63 /* ... */ 64 clock-names = "my-cloc 64 clock-names = "my-clock"; 65 clocks = <&max77686 MA 65 clocks = <&max77686 MAX77686_CLK_PMIC>; 66 }; 66 }; 67 67 68 2. With MAX77802: 68 2. With MAX77802: 69 69 70 #include <dt-bindings/clock/maxim,max77802.h> 70 #include <dt-bindings/clock/maxim,max77802.h> 71 /* ... */ 71 /* ... */ 72 72 73 Node of the MFD chip 73 Node of the MFD chip 74 max77802: max77802@9 { 74 max77802: max77802@9 { 75 compatible = "maxim,ma 75 compatible = "maxim,max77802"; 76 interrupt-parent = <&w 76 interrupt-parent = <&wakeup_eint>; 77 interrupts = <26 IRQ_T !! 77 interrupts = <26 0>; 78 reg = <0x09>; 78 reg = <0x09>; 79 #clock-cells = <1>; 79 #clock-cells = <1>; 80 80 81 /* ... */ 81 /* ... */ 82 }; 82 }; 83 83 84 Clock consumer node 84 Clock consumer node 85 85 86 foo@0 { 86 foo@0 { 87 compatible = "bar,foo" 87 compatible = "bar,foo"; 88 /* ... */ 88 /* ... */ 89 clock-names = "my-cloc 89 clock-names = "my-clock"; 90 clocks = <&max77802 MA 90 clocks = <&max77802 MAX77802_CLK_32K_AP>; 91 }; 91 }; 92 92 93 93 94 3. With MAX77620: 94 3. With MAX77620: 95 95 96 #include <dt-bindings/clock/maxim,max77620.h> 96 #include <dt-bindings/clock/maxim,max77620.h> 97 /* ... */ 97 /* ... */ 98 98 99 Node of the MFD chip 99 Node of the MFD chip 100 max77620: max77620@3c { 100 max77620: max77620@3c { 101 compatible = "maxim,ma 101 compatible = "maxim,max77620"; 102 reg = <0x3c>; 102 reg = <0x3c>; 103 #clock-cells = <1>; 103 #clock-cells = <1>; 104 /* ... */ 104 /* ... */ 105 }; 105 }; 106 106 107 Clock consumer node 107 Clock consumer node 108 108 109 foo@0 { 109 foo@0 { 110 compatible = "bar,foo" 110 compatible = "bar,foo"; 111 /* ... */ 111 /* ... */ 112 clock-names = "my-cloc 112 clock-names = "my-clock"; 113 clocks = <&max77620 MA 113 clocks = <&max77620 MAX77620_CLK_32K_OUT0>; 114 }; 114 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.