1Motorola CPCAP PMIC device tree binding 2 3Required properties: 4- compatible : One or both of "motorola,cpcap" or "ste,6556002" 5- reg : SPI chip select 6- interrupts : The interrupt line the device is connected to 7- interrupt-controller : Marks the device node as an interrupt controller 8- #interrupt-cells : The number of cells to describe an IRQ, should be 2 9- #address-cells : Child device offset number of cells, should be 1 10- #size-cells : Child device size number of cells, should be 0 11- spi-max-frequency : Typically set to 3000000 12- spi-cs-high : SPI chip select direction 13 14Optional subnodes: 15 16The sub-functions of CPCAP get their own node with their own compatible values, 17which are described in the following files: 18 19- Documentation/devicetree/bindings/power/supply/cpcap-battery.yaml 20- Documentation/devicetree/bindings/power/supply/cpcap-charger.yaml 21- Documentation/devicetree/bindings/regulator/cpcap-regulator.txt 22- Documentation/devicetree/bindings/phy/phy-cpcap-usb.txt 23- Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt 24- Documentation/devicetree/bindings/rtc/cpcap-rtc.txt 25- Documentation/devicetree/bindings/leds/leds-cpcap.txt 26- Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml 27 28The only exception is the audio codec. Instead of a compatible value its 29node must be named "audio-codec". 30 31Required properties for the audio-codec subnode: 32 33- #sound-dai-cells = <1>; 34 35The audio-codec provides two DAIs. The first one is connected to the 36Stereo HiFi DAC and the second one is connected to the Voice DAC. 37 38Example: 39 40&mcspi1 { 41 cpcap: pmic@0 { 42 compatible = "motorola,cpcap", "ste,6556002"; 43 reg = <0>; /* cs0 */ 44 interrupt-parent = <&gpio1>; 45 interrupts = <7 IRQ_TYPE_EDGE_RISING>; 46 interrupt-controller; 47 #interrupt-cells = <2>; 48 #address-cells = <1>; 49 #size-cells = <0>; 50 spi-max-frequency = <3000000>; 51 spi-cs-high; 52 53 audio-codec { 54 #sound-dai-cells = <1>; 55 56 /* HiFi */ 57 port@0 { 58 endpoint { 59 remote-endpoint = <&cpu_dai1>; 60 }; 61 }; 62 63 /* Voice */ 64 port@1 { 65 endpoint { 66 remote-endpoint = <&cpu_dai2>; 67 }; 68 }; 69 }; 70 }; 71}; 72 73