162306a36Sopenharmony_ciMotorola CPCAP PMIC device tree binding
262306a36Sopenharmony_ci
362306a36Sopenharmony_ciRequired properties:
462306a36Sopenharmony_ci- compatible		: One or both of "motorola,cpcap" or "ste,6556002"
562306a36Sopenharmony_ci- reg			: SPI chip select
662306a36Sopenharmony_ci- interrupts		: The interrupt line the device is connected to
762306a36Sopenharmony_ci- interrupt-controller	: Marks the device node as an interrupt controller
862306a36Sopenharmony_ci- #interrupt-cells	: The number of cells to describe an IRQ, should be 2
962306a36Sopenharmony_ci- #address-cells	: Child device offset number of cells, should be 1
1062306a36Sopenharmony_ci- #size-cells		: Child device size number of cells, should be 0
1162306a36Sopenharmony_ci- spi-max-frequency	: Typically set to 3000000
1262306a36Sopenharmony_ci- spi-cs-high		: SPI chip select direction
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ciOptional subnodes:
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciThe sub-functions of CPCAP get their own node with their own compatible values,
1762306a36Sopenharmony_ciwhich are described in the following files:
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci- Documentation/devicetree/bindings/power/supply/cpcap-battery.yaml
2062306a36Sopenharmony_ci- Documentation/devicetree/bindings/power/supply/cpcap-charger.yaml
2162306a36Sopenharmony_ci- Documentation/devicetree/bindings/regulator/cpcap-regulator.txt
2262306a36Sopenharmony_ci- Documentation/devicetree/bindings/phy/phy-cpcap-usb.txt
2362306a36Sopenharmony_ci- Documentation/devicetree/bindings/input/cpcap-pwrbutton.txt
2462306a36Sopenharmony_ci- Documentation/devicetree/bindings/rtc/cpcap-rtc.txt
2562306a36Sopenharmony_ci- Documentation/devicetree/bindings/leds/leds-cpcap.txt
2662306a36Sopenharmony_ci- Documentation/devicetree/bindings/iio/adc/motorola,cpcap-adc.yaml
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ciThe only exception is the audio codec. Instead of a compatible value its
2962306a36Sopenharmony_cinode must be named "audio-codec".
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ciRequired properties for the audio-codec subnode:
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci- #sound-dai-cells = <1>;
3462306a36Sopenharmony_ci
3562306a36Sopenharmony_ciThe audio-codec provides two DAIs. The first one is connected to the
3662306a36Sopenharmony_ciStereo HiFi DAC and the second one is connected to the Voice DAC.
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_ciExample:
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci&mcspi1 {
4162306a36Sopenharmony_ci	cpcap: pmic@0 {
4262306a36Sopenharmony_ci		compatible = "motorola,cpcap", "ste,6556002";
4362306a36Sopenharmony_ci		reg = <0>;	/* cs0 */
4462306a36Sopenharmony_ci		interrupt-parent = <&gpio1>;
4562306a36Sopenharmony_ci		interrupts = <7 IRQ_TYPE_EDGE_RISING>;
4662306a36Sopenharmony_ci		interrupt-controller;
4762306a36Sopenharmony_ci		#interrupt-cells = <2>;
4862306a36Sopenharmony_ci		#address-cells = <1>;
4962306a36Sopenharmony_ci		#size-cells = <0>;
5062306a36Sopenharmony_ci		spi-max-frequency = <3000000>;
5162306a36Sopenharmony_ci		spi-cs-high;
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci		audio-codec {
5462306a36Sopenharmony_ci			#sound-dai-cells = <1>;
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci			/* HiFi */
5762306a36Sopenharmony_ci			port@0 {
5862306a36Sopenharmony_ci				endpoint {
5962306a36Sopenharmony_ci					remote-endpoint = <&cpu_dai1>;
6062306a36Sopenharmony_ci				};
6162306a36Sopenharmony_ci			};
6262306a36Sopenharmony_ci
6362306a36Sopenharmony_ci			/* Voice */
6462306a36Sopenharmony_ci			port@1 {
6562306a36Sopenharmony_ci				endpoint {
6662306a36Sopenharmony_ci					remote-endpoint = <&cpu_dai2>;
6762306a36Sopenharmony_ci				};
6862306a36Sopenharmony_ci			};
6962306a36Sopenharmony_ci		};
7062306a36Sopenharmony_ci	};
7162306a36Sopenharmony_ci};
7262306a36Sopenharmony_ci
73