// 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 = <3000000>;
		spi-cs-high;

		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
			>;
			interrupt-names =
				"eol", "lowbph", "lowbpl",
				"chrgcurr1", "battdetb";
			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 20 0 &cpcap 19 0 &cpcap 54 0
			>;
			interrupt-names =
				"chrg_det", "rvrs_chrg", "chrg_se1b", "se0conn",
				"rvrs_mode", "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 */
	vcsi: VCSI {
		regulator-min-microvolt = <1800000>;
		regulator-max-microvolt = <1800000>;
		regulator-enable-ramp-delay = <1000>;
		regulator-boot-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 */
	};
};
