Kernel-4.18.0-80.el8_motorola-cpcap

Motorola CPCAP PMIC device tree binding

Required properties:

  • compatible : One or both of “motorola,cpcap” or “ste,6556002”
  • reg : SPI chip select
  • interrupt-parent : The parent interrupt controller
  • 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>;
            };
        };
    };
};

};