0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003 * Common CPCAP configuration used on Motorola phones
0004 */
0005
0006 &mcspi1 {
0007 cpcap: pmic@0 {
0008 compatible = "motorola,cpcap", "st,6556002";
0009 reg = <0>; /* cs0 */
0010 interrupt-parent = <&gpio1>;
0011 interrupts = <7 IRQ_TYPE_LEVEL_HIGH>;
0012 interrupt-controller;
0013 #interrupt-cells = <2>;
0014 #address-cells = <1>;
0015 #size-cells = <0>;
0016 spi-max-frequency = <9600000>;
0017 spi-cs-high;
0018 spi-cpol;
0019 spi-cpha;
0020
0021 cpcap_adc: adc {
0022 compatible = "motorola,mapphone-cpcap-adc";
0023 interrupts-extended = <&cpcap 8 0>;
0024 interrupt-names = "adcdone";
0025 #io-channel-cells = <1>;
0026 };
0027
0028 cpcap_battery: battery {
0029 compatible = "motorola,cpcap-battery";
0030 interrupts-extended =
0031 <&cpcap 6 0>, <&cpcap 5 0>, <&cpcap 3 0>,
0032 <&cpcap 20 0>, <&cpcap 54 0>, <&cpcap 57 0>;
0033 interrupt-names =
0034 "eol", "lowbph", "lowbpl",
0035 "chrgcurr1", "battdetb", "cccal";
0036 io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
0037 <&cpcap_adc 5>, <&cpcap_adc 6>;
0038 io-channel-names = "battdetb", "battp",
0039 "chg_isense", "batti";
0040 power-supplies = <&cpcap_charger>;
0041 };
0042
0043 cpcap_charger: charger {
0044 compatible = "motorola,mapphone-cpcap-charger";
0045 interrupts-extended =
0046 <&cpcap 13 0>, <&cpcap 12 0>, <&cpcap 29 0>,
0047 <&cpcap 28 0>, <&cpcap 22 0>, <&cpcap 21 0>,
0048 <&cpcap 20 0>, <&cpcap 19 0>, <&cpcap 54 0>;
0049 interrupt-names =
0050 "chrg_det", "rvrs_chrg", "chrg_se1b",
0051 "se0conn", "rvrs_mode", "chrgcurr2",
0052 "chrgcurr1", "vbusvld", "battdetb";
0053 mode-gpios = <&gpio3 29 GPIO_ACTIVE_LOW>,
0054 <&gpio3 23 GPIO_ACTIVE_LOW>;
0055 io-channels = <&cpcap_adc 0>, <&cpcap_adc 1>,
0056 <&cpcap_adc 2>, <&cpcap_adc 5>,
0057 <&cpcap_adc 6>;
0058 io-channel-names = "battdetb", "battp",
0059 "vbus", "chg_isense",
0060 "batti";
0061 };
0062
0063 cpcap_regulator: regulator {
0064 compatible = "motorola,mapphone-cpcap-regulator";
0065
0066 cpcap_regulators: regulators {
0067 };
0068 };
0069
0070 cpcap_audio: audio-codec {
0071 #sound-dai-cells = <1>;
0072
0073 port@0 {
0074 cpcap_audio_codec0: endpoint {
0075 };
0076 };
0077 port@1 {
0078 cpcap_audio_codec1: endpoint {
0079 };
0080 };
0081 };
0082
0083 cpcap_rtc: rtc {
0084 compatible = "motorola,cpcap-rtc";
0085
0086 interrupt-parent = <&cpcap>;
0087 interrupts = <39 IRQ_TYPE_NONE>, <26 IRQ_TYPE_NONE>;
0088 };
0089
0090 power_button: button {
0091 compatible = "motorola,cpcap-pwrbutton";
0092
0093 interrupts = <23 IRQ_TYPE_NONE>;
0094 };
0095
0096 cpcap_usb2_phy: phy {
0097 compatible = "motorola,mapphone-cpcap-usb-phy";
0098 pinctrl-0 = <&usb_gpio_mux_sel1>, <&usb_gpio_mux_sel2>;
0099 pinctrl-1 = <&usb_ulpi_pins>;
0100 pinctrl-2 = <&usb_utmi_pins>;
0101 pinctrl-3 = <&uart3_pins>;
0102 pinctrl-names = "default", "ulpi", "utmi", "uart";
0103 #phy-cells = <0>;
0104 interrupts-extended =
0105 <&cpcap 15 0>, <&cpcap 14 0>, <&cpcap 28 0>,
0106 <&cpcap 19 0>, <&cpcap 18 0>, <&cpcap 17 0>,
0107 <&cpcap 16 0>, <&cpcap 49 0>, <&cpcap 48 0>;
0108 interrupt-names =
0109 "id_ground", "id_float", "se0conn",
0110 "vbusvld", "sessvld", "sessend",
0111 "se1", "dm", "dp";
0112 mode-gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>,
0113 <&gpio1 0 GPIO_ACTIVE_HIGH>;
0114 io-channels = <&cpcap_adc 2>, <&cpcap_adc 7>;
0115 io-channel-names = "vbus", "id";
0116 vusb-supply = <&vusb>;
0117 };
0118
0119 led_red: led-red {
0120 compatible = "motorola,cpcap-led-red";
0121 vdd-supply = <&sw5>;
0122 label = "status-led:red";
0123 };
0124
0125 led_green: led-green {
0126 compatible = "motorola,cpcap-led-green";
0127 vdd-supply = <&sw5>;
0128 label = "status-led:green";
0129 };
0130
0131 led_blue: led-blue {
0132 compatible = "motorola,cpcap-led-blue";
0133 vdd-supply = <&sw5>;
0134 label = "status-led:blue";
0135 };
0136
0137 led_adl: led-adl {
0138 compatible = "motorola,cpcap-led-adl";
0139 vdd-supply = <&sw5>;
0140 label = "button-backlight";
0141 };
0142
0143 led_cp: led-cp {
0144 compatible = "motorola,cpcap-led-cp";
0145 vdd-supply = <&sw5>;
0146 label = "shift-key-light";
0147 };
0148 };
0149 };
0150
0151 &cpcap_regulators {
0152 sw5: SW5 {
0153 regulator-min-microvolt = <5050000>;
0154 regulator-max-microvolt = <5050000>;
0155 regulator-enable-ramp-delay = <50000>;
0156 regulator-boot-on;
0157 };
0158
0159 vcam: VCAM {
0160 regulator-min-microvolt = <2900000>;
0161 regulator-max-microvolt = <2900000>;
0162 regulator-enable-ramp-delay = <1000>;
0163 };
0164
0165 /* Used by DSS and is the "zerov_regulator" trigger for SoC off mode */
0166 vcsi: VCSI {
0167 regulator-min-microvolt = <1800000>;
0168 regulator-max-microvolt = <1800000>;
0169 regulator-enable-ramp-delay = <1000>;
0170 regulator-always-on;
0171 };
0172
0173 vdac: VDAC {
0174 regulator-min-microvolt = <1800000>;
0175 regulator-max-microvolt = <1800000>;
0176 regulator-enable-ramp-delay = <1000>;
0177 };
0178
0179 vdig: VDIG {
0180 regulator-min-microvolt = <1875000>;
0181 regulator-max-microvolt = <1875000>;
0182 regulator-enable-ramp-delay = <1000>;
0183 };
0184
0185 vfuse: VFUSE {
0186 regulator-min-microvolt = <1500000>;
0187 regulator-max-microvolt = <3150000>;
0188 regulator-enable-ramp-delay = <1000>;
0189 };
0190
0191 vhvio: VHVIO {
0192 regulator-min-microvolt = <2775000>;
0193 regulator-max-microvolt = <2775000>;
0194 regulator-enable-ramp-delay = <1000>;
0195 regulator-always-on;
0196 };
0197
0198 /* Used by eMMC at mmc2 */
0199 vsdio: VSDIO {
0200 regulator-min-microvolt = <2900000>;
0201 regulator-max-microvolt = <2900000>;
0202 regulator-enable-ramp-delay = <1000>;
0203 };
0204
0205 vpll: VPLL {
0206 regulator-min-microvolt = <1200000>;
0207 regulator-max-microvolt = <1800000>;
0208 regulator-enable-ramp-delay = <100>;
0209 };
0210
0211 vrf1: VRF1 {
0212 regulator-min-microvolt = <2775000>;
0213 regulator-max-microvolt = <2775000>;
0214 regulator-enable-ramp-delay = <1000>;
0215 };
0216
0217 vrf2: VRF2 {
0218 regulator-min-microvolt = <2775000>;
0219 regulator-max-microvolt = <2775000>;
0220 regulator-enable-ramp-delay = <1000>;
0221 };
0222
0223 vrfref: VRFREF {
0224 regulator-min-microvolt = <2500000>;
0225 regulator-max-microvolt = <2775000>;
0226 regulator-enable-ramp-delay = <100>;
0227 };
0228
0229 vwlan1: VWLAN1 {
0230 regulator-min-microvolt = <1800000>;
0231 regulator-max-microvolt = <1900000>;
0232 regulator-enable-ramp-delay = <1000>;
0233 };
0234
0235 /* Used by micro-SDIO at mmc1 */
0236 vwlan2: VWLAN2 {
0237 regulator-min-microvolt = <3000000>;
0238 regulator-max-microvolt = <3000000>;
0239 regulator-enable-ramp-delay = <1000>;
0240 };
0241
0242 vsim: VSIM {
0243 regulator-min-microvolt = <1800000>;
0244 regulator-max-microvolt = <2900000>;
0245 regulator-enable-ramp-delay = <1000>;
0246 };
0247
0248 vsimcard: VSIMCARD {
0249 regulator-min-microvolt = <1800000>;
0250 regulator-max-microvolt = <2900000>;
0251 regulator-enable-ramp-delay = <1000>;
0252 };
0253
0254 vvib: VVIB {
0255 regulator-min-microvolt = <1300000>;
0256 regulator-max-microvolt = <3000000>;
0257 regulator-enable-ramp-delay = <500>;
0258 };
0259
0260 vusb: VUSB {
0261 regulator-min-microvolt = <3300000>;
0262 regulator-max-microvolt = <3300000>;
0263 regulator-enable-ramp-delay = <1000>;
0264 };
0265
0266 vaudio: VAUDIO {
0267 regulator-min-microvolt = <2775000>;
0268 regulator-max-microvolt = <2775000>;
0269 regulator-enable-ramp-delay = <1000>;
0270 regulator-initial-mode = <0x00>; /* NORMAL */
0271 };
0272 };