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