| // 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 */ | 
 | 	}; | 
 | }; |