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