// SPDX-License-Identifier: GPL-2.0-only
/*
* Common CPCAP configuration used on Motorola phones
*/
&mcspi1 {
cpcap: pmic@0 {
compatible = "motorola,cpcap", "st,6556002";
reg = <0>; /* cs0 */
interrupt-parent = <&gpio1>;
interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
interrupt-controller;
#interrupt-cells = <2>;
#address-cells = <1>;
#size-cells = <0>;
spi-max-frequency = <9600000>;
spi-cs-high;
spi-cpol;
spi-cpha;
cpcap_adc: adc {
compatible = "motorola,mapphone-cpcap-adc";
interrupts-extended = <&cpcap 8 0>;
interrupt-names = "adcdone";
#io-channel-cells = <1>;
};
cpcap_battery: battery {
compatible = "motorola,cpcap-battery";
interrupts-extended = <
&cpcap 6 0 &cpcap 5 0 &cpcap 3 0
&cpcap 20 0 &cpcap 54 0 &cpcap 57 0
>;
interrupt-names =
"eol", "lowbph", "lowbpl",
"chrgcurr1", "battdetb",
"cccal";
io-channels = <&cpcap_adc 0 &cpcap_adc 1
&cpcap_adc 5 &cpcap_adc 6>;
io-channel-names = "battdetb", "battp",
"chg_isense", "batti";
power-supplies = <&cpcap_charger>;
};
cpcap_charger: charger {
compatible = "motorola,mapphone-cpcap-charger";
interrupts-extended = <
&cpcap 13 0 &cpcap 12 0 &cpcap 29 0 &cpcap 28 0
&cpcap 22 0 &cpcap 21 0 &cpcap 20 0 &cpcap 19 0
&cpcap 54 0
>;
interrupt-names =
"chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
"rvrs_mode", "chrgcurr2", "chrgcurr1", "vbusvld",
"battdetb";
mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW
&gpio3 23 GPIO_ACTIVE_LOW>;
io-channels = <&cpcap_adc 0 &cpcap_adc 1
&cpcap_adc 2 &cpcap_adc 5
&cpcap_adc 6>;
io-channel-names = "battdetb", "battp",
"vbus", "chg_isense",
"batti";
};
cpcap_regulator: regulator {
compatible = "motorola,mapphone-cpcap-regulator";
cpcap_regulators: regulators {
};
};
cpcap_audio: audio-codec {
#sound-dai-cells = <1>;
port@0 {
cpcap_audio_codec0: endpoint {
};
};
port@1 {
cpcap_audio_codec1: endpoint {
};
};
};
cpcap_rtc: rtc {
compatible = "motorola,cpcap-rtc";
interrupt-parent = <&cpcap>;
interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
};
power_button: button {
compatible = "motorola,cpcap-pwrbutton";
interrupts = <23 IRQ_TYPE_NONE>;
};
cpcap_usb2_phy: phy {
compatible = "motorola,mapphone-cpcap-usb-phy";
pinctrl-0 = <&usb_gpio_mux_sel1 &usb_gpio_mux_sel2>;
pinctrl-1 = <&usb_ulpi_pins>;
pinctrl-2 = <&usb_utmi_pins>;
pinctrl-3 = <&uart3_pins>;
pinctrl-names = "default", "ulpi", "utmi", "uart";
#phy-cells = <0>;
interrupts-extended = <
&cpcap 15 0 &cpcap 14 0 &cpcap 28 0 &cpcap 19 0
&cpcap 18 0 &cpcap 17 0 &cpcap 16 0 &cpcap 49 0
&cpcap 48 0
>;
interrupt-names =
"id_ground", "id_float", "se0conn", "vbusvld",
"sessvld", "sessend", "se1", "dm", "dp";
mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH
&gpio1 0 GPIO_ACTIVE_HIGH>;
io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
io-channel-names = "vbus", "id";
vusb-supply = <&vusb>;
};
led_red: led-red {
compatible = "motorola,cpcap-led-red";
vdd-supply = <&sw5>;
label = "status-led:red";
};
led_green: led-green {
compatible = "motorola,cpcap-led-green";
vdd-supply = <&sw5>;
label = "status-led:green";
};
led_blue: led-blue {
compatible = "motorola,cpcap-led-blue";
vdd-supply = <&sw5>;
label = "status-led:blue";
};
led_adl: led-adl {
compatible = "motorola,cpcap-led-adl";
vdd-supply = <&sw5>;
label = "button-backlight";
};
led_cp: led-cp {
compatible = "motorola,cpcap-led-cp";
vdd-supply = <&sw5>;
label = "shift-key-light";
};
};
};
&cpcap_regulators {
sw5: SW5 {
regulator-min-microvolt = <5050000>;
regulator-max-microvolt = <5050000>;
regulator-enable-ramp-delay = <50000>;
regulator-boot-on;
};
vcam: VCAM {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
regulator-enable-ramp-delay = <1000>;
};
/* Used by DSS and is the "zerov_regulator" trigger for SoC off mode */
vcsi: VCSI {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
};
vdac: VDAC {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <1000>;
};
vdig: VDIG {
regulator-min-microvolt = <1875000>;
regulator-max-microvolt = <1875000>;
regulator-enable-ramp-delay = <1000>;
};
vfuse: VFUSE {
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <3150000>;
regulator-enable-ramp-delay = <1000>;
};
vhvio: VHVIO {
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <1000>;
regulator-always-on;
};
/* Used by eMMC at mmc2 */
vsdio: VSDIO {
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
regulator-enable-ramp-delay = <1000>;
};
vpll: VPLL {
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1800000>;
regulator-enable-ramp-delay = <100>;
};
vrf1: VRF1 {
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <1000>;
};
vrf2: VRF2 {
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <1000>;
};
vrfref: VRFREF {
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <100>;
};
vwlan1: VWLAN1 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1900000>;
regulator-enable-ramp-delay = <1000>;
};
/* Used by micro-SDIO at mmc1 */
vwlan2: VWLAN2 {
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-enable-ramp-delay = <1000>;
};
vsim: VSIM {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2900000>;
regulator-enable-ramp-delay = <1000>;
};
vsimcard: VSIMCARD {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2900000>;
regulator-enable-ramp-delay = <1000>;
};
vvib: VVIB {
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <3000000>;
regulator-enable-ramp-delay = <500>;
};
vusb: VUSB {
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-enable-ramp-delay = <1000>;
};
vaudio: VAUDIO {
regulator-min-microvolt = <2775000>;
regulator-max-microvolt = <2775000>;
regulator-enable-ramp-delay = <1000>;
regulator-initial-mode = <0x00>; /* NORMAL */
};
};