Back to home page

OSCL-LXR

 
 

    


0001 Binding for Maxim MAX77686/MAX77802/MAX77620 32k clock generator block
0002 
0003 This is a part of device tree bindings of MAX77686/MAX77802/MAX77620
0004 multi-function device. More information can be found in MFD DT binding
0005 doc as follows:
0006         bindings/mfd/max77686.txt for MAX77686 and
0007         bindings/mfd/max77802.txt for MAX77802 and
0008         bindings/mfd/max77620.txt for MAX77620.
0009 
0010 The MAX77686 contains three 32.768khz clock outputs that can be controlled
0011 (gated/ungated) over I2C. Clocks are defined as preprocessor macros in
0012 dt-bindings/clock/maxim,max77686.h.
0013 
0014 
0015 The MAX77802 contains two 32.768khz clock outputs that can be controlled
0016 (gated/ungated) over I2C. Clocks are defined as preprocessor macros in
0017 dt-bindings/clock/maxim,max77802.h.
0018 
0019 The MAX77686 contains one 32.768khz clock outputs that can be controlled
0020 (gated/ungated) over I2C. Clocks are defined as preprocessor macros in
0021 dt-bindings/clock/maxim,max77620.h.
0022 
0023 Following properties should be presend in main device node of the MFD chip.
0024 
0025 Required properties:
0026 
0027 - #clock-cells: from common clock binding; shall be set to 1.
0028 
0029 Optional properties:
0030 - clock-output-names: From common clock binding.
0031 
0032 Each clock is assigned an identifier and client nodes can use this identifier
0033 to specify the clock which they consume. Following indices are allowed:
0034     - 0: 32khz_ap clock (max77686, max77802), 32khz_out0 (max77620)
0035     - 1: 32khz_cp clock (max77686, max77802),
0036     - 2: 32khz_pmic clock (max77686).
0037 
0038 Clocks are defined as preprocessor macros in above dt-binding header for
0039 respective chips.
0040 
0041 Example:
0042 
0043 1. With MAX77686:
0044 
0045 #include <dt-bindings/clock/maxim,max77686.h>
0046 /* ... */
0047 
0048         Node of the MFD chip
0049                 max77686: max77686@9 {
0050                         compatible = "maxim,max77686";
0051                         interrupt-parent = <&wakeup_eint>;
0052                         interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
0053                         reg = <0x09>;
0054                         #clock-cells = <1>;
0055 
0056                         /* ... */
0057                 };
0058 
0059         Clock consumer node
0060 
0061                 foo@0 {
0062                         compatible = "bar,foo";
0063                         /* ... */
0064                         clock-names = "my-clock";
0065                         clocks = <&max77686 MAX77686_CLK_PMIC>;
0066                 };
0067 
0068 2. With MAX77802:
0069 
0070 #include <dt-bindings/clock/maxim,max77802.h>
0071 /* ... */
0072 
0073         Node of the MFD chip
0074                 max77802: max77802@9 {
0075                         compatible = "maxim,max77802";
0076                         interrupt-parent = <&wakeup_eint>;
0077                         interrupts = <26 IRQ_TYPE_LEVEL_LOW>;
0078                         reg = <0x09>;
0079                         #clock-cells = <1>;
0080 
0081                         /* ... */
0082                 };
0083 
0084         Clock consumer node
0085 
0086                 foo@0 {
0087                         compatible = "bar,foo";
0088                         /* ... */
0089                         clock-names = "my-clock";
0090                         clocks = <&max77802 MAX77802_CLK_32K_AP>;
0091                 };
0092 
0093 
0094 3. With MAX77620:
0095 
0096 #include <dt-bindings/clock/maxim,max77620.h>
0097 /* ... */
0098 
0099         Node of the MFD chip
0100                 max77620: max77620@3c {
0101                         compatible = "maxim,max77620";
0102                         reg = <0x3c>;
0103                         #clock-cells = <1>;
0104                         /* ... */
0105                 };
0106 
0107         Clock consumer node
0108 
0109                 foo@0 {
0110                         compatible = "bar,foo";
0111                         /* ... */
0112                         clock-names = "my-clock";
0113                         clocks = <&max77620 MAX77620_CLK_32K_OUT0>;
0114                 };