Motorola CPCAP PMIC device tree binding Required properties: - compatible : One or both of "motorola,cpcap" or "ste,6556002" - reg : SPI chip select - interrupts : The interrupt line the device is connected to - interrupt-controller : Marks the device node as an interrupt controller - #interrupt-cells : The number of cells to describe an IRQ, should be 2 - #address-cells : Child device offset number of cells, should be 1 - #size-cells : Child device size number of cells, should be 0 - spi-max-frequency : Typically set to 3000000 - spi-cs-high : SPI chip select direction Optional subnodes: The sub-functions of CPCAP get their own node with their own compatible values, which are described in the following files: - ../power/supply/cpcap-battery.txt - ../power/supply/cpcap-charger.txt - ../regulator/cpcap-regulator.txt - ../phy/phy-cpcap-usb.txt - ../input/cpcap-pwrbutton.txt - ../rtc/cpcap-rtc.txt - ../leds/leds-cpcap.txt - ../iio/adc/cpcap-adc.txt The only exception is the audio codec. Instead of a compatible value its node must be named "audio-codec". Required properties for the audio-codec subnode: - #sound-dai-cells = <1>; The audio-codec provides two DAIs. The first one is connected to the Stereo HiFi DAC and the second one is connected to the Voice DAC. Example: &mcspi1 { cpcap: pmic@0 { compatible = "motorola,cpcap", "ste,6556002"; reg = <0>; /* cs0 */ interrupt-parent = <&gpio1>; interrupts = <7 IRQ_TYPE_EDGE_RISING>; interrupt-controller; #interrupt-cells = <2>; #address-cells = <1>; #size-cells = <0>; spi-max-frequency = <3000000>; spi-cs-high; audio-codec { #sound-dai-cells = <1>; /* HiFi */ port@0 { endpoint { remote-endpoint = <&cpu_dai1>; }; }; /* Voice */ port@1 { endpoint { remote-endpoint = <&cpu_dai2>; }; }; }; }; };