18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
28c2ecf20Sopenharmony_ci#include <dt-bindings/input/input.h>
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#include "qcom-msm8960.dtsi"
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ci/ {
78c2ecf20Sopenharmony_ci	model = "Qualcomm MSM8960 CDP";
88c2ecf20Sopenharmony_ci	compatible = "qcom,msm8960-cdp", "qcom,msm8960";
98c2ecf20Sopenharmony_ci
108c2ecf20Sopenharmony_ci	aliases {
118c2ecf20Sopenharmony_ci		serial0 = &gsbi5_serial;
128c2ecf20Sopenharmony_ci	};
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	chosen {
158c2ecf20Sopenharmony_ci		stdout-path = "serial0:115200n8";
168c2ecf20Sopenharmony_ci	};
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci	soc {
198c2ecf20Sopenharmony_ci		gsbi@16400000 {
208c2ecf20Sopenharmony_ci			status = "ok";
218c2ecf20Sopenharmony_ci			qcom,mode = <GSBI_PROT_I2C_UART>;
228c2ecf20Sopenharmony_ci			serial@16440000 {
238c2ecf20Sopenharmony_ci				status = "ok";
248c2ecf20Sopenharmony_ci			};
258c2ecf20Sopenharmony_ci		};
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci		amba {
288c2ecf20Sopenharmony_ci			/* eMMC */
298c2ecf20Sopenharmony_ci			sdcc1: sdcc@12400000 {
308c2ecf20Sopenharmony_ci				status = "okay";
318c2ecf20Sopenharmony_ci			};
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci			/* External micro SD card */
348c2ecf20Sopenharmony_ci			sdcc3: sdcc@12180000 {
358c2ecf20Sopenharmony_ci				status = "okay";
368c2ecf20Sopenharmony_ci			};
378c2ecf20Sopenharmony_ci		};
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci		rpm@108000 {
408c2ecf20Sopenharmony_ci			regulators {
418c2ecf20Sopenharmony_ci				compatible = "qcom,rpm-pm8921-regulators";
428c2ecf20Sopenharmony_ci				vin_lvs1_3_6-supply = <&pm8921_s4>;
438c2ecf20Sopenharmony_ci				vin_lvs2-supply = <&pm8921_s4>;
448c2ecf20Sopenharmony_ci				vin_lvs4_5_7-supply = <&pm8921_s4>;
458c2ecf20Sopenharmony_ci				vdd_ncp-supply = <&pm8921_l6>;
468c2ecf20Sopenharmony_ci				vdd_l1_l2_l12_l18-supply = <&pm8921_s4>;
478c2ecf20Sopenharmony_ci				vdd_l21_l23_l29-supply = <&pm8921_s8>;
488c2ecf20Sopenharmony_ci				vdd_l24-supply = <&pm8921_s1>;
498c2ecf20Sopenharmony_ci				vdd_l25-supply = <&pm8921_s1>;
508c2ecf20Sopenharmony_ci				vdd_l27-supply = <&pm8921_s7>;
518c2ecf20Sopenharmony_ci				vdd_l28-supply = <&pm8921_s7>;
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci				/* Buck SMPS */
548c2ecf20Sopenharmony_ci				pm8921_s1: s1 {
558c2ecf20Sopenharmony_ci					regulator-always-on;
568c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1225000>;
578c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1225000>;
588c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <3200000>;
598c2ecf20Sopenharmony_ci					bias-pull-down;
608c2ecf20Sopenharmony_ci				};
618c2ecf20Sopenharmony_ci
628c2ecf20Sopenharmony_ci				pm8921_s2: s2 {
638c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1300000>;
648c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1300000>;
658c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <1600000>;
668c2ecf20Sopenharmony_ci					bias-pull-down;
678c2ecf20Sopenharmony_ci				};
688c2ecf20Sopenharmony_ci
698c2ecf20Sopenharmony_ci				pm8921_s3: s3 {
708c2ecf20Sopenharmony_ci					regulator-min-microvolt = <500000>;
718c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1150000>;
728c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <4800000>;
738c2ecf20Sopenharmony_ci					bias-pull-down;
748c2ecf20Sopenharmony_ci				};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci				pm8921_s4: s4 {
778c2ecf20Sopenharmony_ci					regulator-always-on;
788c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
798c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1800000>;
808c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <1600000>;
818c2ecf20Sopenharmony_ci					bias-pull-down;
828c2ecf20Sopenharmony_ci					qcom,force-mode = <QCOM_RPM_FORCE_MODE_AUTO>;
838c2ecf20Sopenharmony_ci				};
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci				pm8921_s7: s7 {
868c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1150000>;
878c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1150000>;
888c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <3200000>;
898c2ecf20Sopenharmony_ci					bias-pull-down;
908c2ecf20Sopenharmony_ci				};
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_ci				pm8921_s8: s8 {
938c2ecf20Sopenharmony_ci					regulator-always-on;
948c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2050000>;
958c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2050000>;
968c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <1600000>;
978c2ecf20Sopenharmony_ci					bias-pull-down;
988c2ecf20Sopenharmony_ci				};
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci				/* PMOS LDO */
1018c2ecf20Sopenharmony_ci				pm8921_l1: l1 {
1028c2ecf20Sopenharmony_ci					regulator-always-on;
1038c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1050000>;
1048c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1050000>;
1058c2ecf20Sopenharmony_ci					bias-pull-down;
1068c2ecf20Sopenharmony_ci				};
1078c2ecf20Sopenharmony_ci
1088c2ecf20Sopenharmony_ci				pm8921_l2: l2 {
1098c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1200000>;
1108c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1200000>;
1118c2ecf20Sopenharmony_ci					bias-pull-down;
1128c2ecf20Sopenharmony_ci				};
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci				pm8921_l3: l3 {
1158c2ecf20Sopenharmony_ci					regulator-min-microvolt = <3075000>;
1168c2ecf20Sopenharmony_ci					regulator-max-microvolt = <3075000>;
1178c2ecf20Sopenharmony_ci					bias-pull-down;
1188c2ecf20Sopenharmony_ci				};
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ci				pm8921_l4: l4 {
1218c2ecf20Sopenharmony_ci					regulator-always-on;
1228c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
1238c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1800000>;
1248c2ecf20Sopenharmony_ci					bias-pull-down;
1258c2ecf20Sopenharmony_ci				};
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci				pm8921_l5: l5 {
1288c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2950000>;
1298c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2950000>;
1308c2ecf20Sopenharmony_ci					bias-pull-down;
1318c2ecf20Sopenharmony_ci				};
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci				pm8921_l6: l6 {
1348c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2950000>;
1358c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2950000>;
1368c2ecf20Sopenharmony_ci					bias-pull-down;
1378c2ecf20Sopenharmony_ci				};
1388c2ecf20Sopenharmony_ci
1398c2ecf20Sopenharmony_ci				pm8921_l7: l7 {
1408c2ecf20Sopenharmony_ci					regulator-always-on;
1418c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1850000>;
1428c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2950000>;
1438c2ecf20Sopenharmony_ci					bias-pull-down;
1448c2ecf20Sopenharmony_ci				};
1458c2ecf20Sopenharmony_ci
1468c2ecf20Sopenharmony_ci				pm8921_l8: l8 {
1478c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2800000>;
1488c2ecf20Sopenharmony_ci					regulator-max-microvolt = <3000000>;
1498c2ecf20Sopenharmony_ci					bias-pull-down;
1508c2ecf20Sopenharmony_ci				};
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ci				pm8921_l9: l9 {
1538c2ecf20Sopenharmony_ci					regulator-min-microvolt = <3000000>;
1548c2ecf20Sopenharmony_ci					regulator-max-microvolt = <3000000>;
1558c2ecf20Sopenharmony_ci					bias-pull-down;
1568c2ecf20Sopenharmony_ci				};
1578c2ecf20Sopenharmony_ci
1588c2ecf20Sopenharmony_ci				pm8921_l10: l10 {
1598c2ecf20Sopenharmony_ci					regulator-min-microvolt = <3000000>;
1608c2ecf20Sopenharmony_ci					regulator-max-microvolt = <3000000>;
1618c2ecf20Sopenharmony_ci					bias-pull-down;
1628c2ecf20Sopenharmony_ci				};
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci				pm8921_l11: l11 {
1658c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2850000>;
1668c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2850000>;
1678c2ecf20Sopenharmony_ci					bias-pull-down;
1688c2ecf20Sopenharmony_ci				};
1698c2ecf20Sopenharmony_ci
1708c2ecf20Sopenharmony_ci				pm8921_l12: l12 {
1718c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1200000>;
1728c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1200000>;
1738c2ecf20Sopenharmony_ci					bias-pull-down;
1748c2ecf20Sopenharmony_ci				};
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ci				pm8921_l14: l14 {
1778c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
1788c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1800000>;
1798c2ecf20Sopenharmony_ci					bias-pull-down;
1808c2ecf20Sopenharmony_ci				};
1818c2ecf20Sopenharmony_ci
1828c2ecf20Sopenharmony_ci				pm8921_l15: l15 {
1838c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
1848c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2950000>;
1858c2ecf20Sopenharmony_ci					bias-pull-down;
1868c2ecf20Sopenharmony_ci				};
1878c2ecf20Sopenharmony_ci
1888c2ecf20Sopenharmony_ci				pm8921_l16: l16 {
1898c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2800000>;
1908c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2800000>;
1918c2ecf20Sopenharmony_ci					bias-pull-down;
1928c2ecf20Sopenharmony_ci				};
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci				pm8921_l17: l17 {
1958c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
1968c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2950000>;
1978c2ecf20Sopenharmony_ci					bias-pull-down;
1988c2ecf20Sopenharmony_ci				};
1998c2ecf20Sopenharmony_ci
2008c2ecf20Sopenharmony_ci				pm8921_l18: l18 {
2018c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1300000>;
2028c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1300000>;
2038c2ecf20Sopenharmony_ci					bias-pull-down;
2048c2ecf20Sopenharmony_ci				};
2058c2ecf20Sopenharmony_ci
2068c2ecf20Sopenharmony_ci				pm8921_l21: l21 {
2078c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1900000>;
2088c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1900000>;
2098c2ecf20Sopenharmony_ci					bias-pull-down;
2108c2ecf20Sopenharmony_ci				};
2118c2ecf20Sopenharmony_ci
2128c2ecf20Sopenharmony_ci				pm8921_l22: l22 {
2138c2ecf20Sopenharmony_ci					regulator-min-microvolt = <2750000>;
2148c2ecf20Sopenharmony_ci					regulator-max-microvolt = <2750000>;
2158c2ecf20Sopenharmony_ci					bias-pull-down;
2168c2ecf20Sopenharmony_ci				};
2178c2ecf20Sopenharmony_ci
2188c2ecf20Sopenharmony_ci				pm8921_l23: l23 {
2198c2ecf20Sopenharmony_ci					regulator-always-on;
2208c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
2218c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1800000>;
2228c2ecf20Sopenharmony_ci					bias-pull-down;
2238c2ecf20Sopenharmony_ci				};
2248c2ecf20Sopenharmony_ci
2258c2ecf20Sopenharmony_ci				pm8921_l24: l24 {
2268c2ecf20Sopenharmony_ci					regulator-min-microvolt = <750000>;
2278c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1150000>;
2288c2ecf20Sopenharmony_ci					bias-pull-down;
2298c2ecf20Sopenharmony_ci				};
2308c2ecf20Sopenharmony_ci
2318c2ecf20Sopenharmony_ci				pm8921_l25: l25 {
2328c2ecf20Sopenharmony_ci					regulator-always-on;
2338c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1250000>;
2348c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1250000>;
2358c2ecf20Sopenharmony_ci					bias-pull-down;
2368c2ecf20Sopenharmony_ci				};
2378c2ecf20Sopenharmony_ci
2388c2ecf20Sopenharmony_ci				/* Low Voltage Switch */
2398c2ecf20Sopenharmony_ci				pm8921_lvs1: lvs1 {
2408c2ecf20Sopenharmony_ci					bias-pull-down;
2418c2ecf20Sopenharmony_ci				};
2428c2ecf20Sopenharmony_ci
2438c2ecf20Sopenharmony_ci				pm8921_lvs2: lvs2 {
2448c2ecf20Sopenharmony_ci					bias-pull-down;
2458c2ecf20Sopenharmony_ci				};
2468c2ecf20Sopenharmony_ci
2478c2ecf20Sopenharmony_ci				pm8921_lvs3: lvs3 {
2488c2ecf20Sopenharmony_ci					bias-pull-down;
2498c2ecf20Sopenharmony_ci				};
2508c2ecf20Sopenharmony_ci
2518c2ecf20Sopenharmony_ci				pm8921_lvs4: lvs4 {
2528c2ecf20Sopenharmony_ci					bias-pull-down;
2538c2ecf20Sopenharmony_ci				};
2548c2ecf20Sopenharmony_ci
2558c2ecf20Sopenharmony_ci				pm8921_lvs5: lvs5 {
2568c2ecf20Sopenharmony_ci					bias-pull-down;
2578c2ecf20Sopenharmony_ci				};
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci				pm8921_lvs6: lvs6 {
2608c2ecf20Sopenharmony_ci					bias-pull-down;
2618c2ecf20Sopenharmony_ci				};
2628c2ecf20Sopenharmony_ci
2638c2ecf20Sopenharmony_ci				pm8921_lvs7: lvs7 {
2648c2ecf20Sopenharmony_ci					bias-pull-down;
2658c2ecf20Sopenharmony_ci				};
2668c2ecf20Sopenharmony_ci
2678c2ecf20Sopenharmony_ci				pm8921_ncp: ncp {
2688c2ecf20Sopenharmony_ci					regulator-min-microvolt = <1800000>;
2698c2ecf20Sopenharmony_ci					regulator-max-microvolt = <1800000>;
2708c2ecf20Sopenharmony_ci					qcom,switch-mode-frequency = <1600000>;
2718c2ecf20Sopenharmony_ci				};
2728c2ecf20Sopenharmony_ci			};
2738c2ecf20Sopenharmony_ci		};
2748c2ecf20Sopenharmony_ci
2758c2ecf20Sopenharmony_ci		gsbi@16000000 {
2768c2ecf20Sopenharmony_ci			status = "ok";
2778c2ecf20Sopenharmony_ci			qcom,mode = <GSBI_PROT_SPI>;
2788c2ecf20Sopenharmony_ci			pinctrl-names = "default";
2798c2ecf20Sopenharmony_ci			pinctrl-0 = <&spi1_default>;
2808c2ecf20Sopenharmony_ci			spi@16080000 {
2818c2ecf20Sopenharmony_ci				status = "ok";
2828c2ecf20Sopenharmony_ci				eth@0 {
2838c2ecf20Sopenharmony_ci					compatible = "micrel,ks8851";
2848c2ecf20Sopenharmony_ci					reg = <0>;
2858c2ecf20Sopenharmony_ci					interrupt-parent = <&msmgpio>;
2868c2ecf20Sopenharmony_ci					interrupts = <90 8>;
2878c2ecf20Sopenharmony_ci					spi-max-frequency = <5400000>;
2888c2ecf20Sopenharmony_ci					vdd-supply = <&ext_l2>;
2898c2ecf20Sopenharmony_ci					vdd-io-supply = <&pm8921_lvs6>;
2908c2ecf20Sopenharmony_ci					reset-gpios = <&msmgpio 89 0>;
2918c2ecf20Sopenharmony_ci				};
2928c2ecf20Sopenharmony_ci			};
2938c2ecf20Sopenharmony_ci		};
2948c2ecf20Sopenharmony_ci
2958c2ecf20Sopenharmony_ci		pinctrl@800000 {
2968c2ecf20Sopenharmony_ci			spi1_default: spi1_default {
2978c2ecf20Sopenharmony_ci				mux {
2988c2ecf20Sopenharmony_ci					pins = "gpio6", "gpio7", "gpio9";
2998c2ecf20Sopenharmony_ci					function = "gsbi1";
3008c2ecf20Sopenharmony_ci				};
3018c2ecf20Sopenharmony_ci
3028c2ecf20Sopenharmony_ci				mosi {
3038c2ecf20Sopenharmony_ci					pins = "gpio6";
3048c2ecf20Sopenharmony_ci					drive-strength = <12>;
3058c2ecf20Sopenharmony_ci					bias-disable;
3068c2ecf20Sopenharmony_ci				};
3078c2ecf20Sopenharmony_ci
3088c2ecf20Sopenharmony_ci				miso {
3098c2ecf20Sopenharmony_ci					pins = "gpio7";
3108c2ecf20Sopenharmony_ci					drive-strength = <12>;
3118c2ecf20Sopenharmony_ci					bias-disable;
3128c2ecf20Sopenharmony_ci				};
3138c2ecf20Sopenharmony_ci
3148c2ecf20Sopenharmony_ci				cs {
3158c2ecf20Sopenharmony_ci					pins = "gpio8";
3168c2ecf20Sopenharmony_ci					drive-strength = <12>;
3178c2ecf20Sopenharmony_ci					bias-disable;
3188c2ecf20Sopenharmony_ci					output-low;
3198c2ecf20Sopenharmony_ci				};
3208c2ecf20Sopenharmony_ci
3218c2ecf20Sopenharmony_ci				clk {
3228c2ecf20Sopenharmony_ci					pins = "gpio9";
3238c2ecf20Sopenharmony_ci					drive-strength = <12>;
3248c2ecf20Sopenharmony_ci					bias-disable;
3258c2ecf20Sopenharmony_ci				};
3268c2ecf20Sopenharmony_ci			};
3278c2ecf20Sopenharmony_ci		};
3288c2ecf20Sopenharmony_ci	};
3298c2ecf20Sopenharmony_ci
3308c2ecf20Sopenharmony_ci	regulators {
3318c2ecf20Sopenharmony_ci		compatible = "simple-bus";
3328c2ecf20Sopenharmony_ci
3338c2ecf20Sopenharmony_ci		ext_l2: gpio-regulator@91 {
3348c2ecf20Sopenharmony_ci			compatible = "regulator-fixed";
3358c2ecf20Sopenharmony_ci			regulator-name = "ext_l2";
3368c2ecf20Sopenharmony_ci			gpio = <&msmgpio 91 0>;
3378c2ecf20Sopenharmony_ci			startup-delay-us = <10000>;
3388c2ecf20Sopenharmony_ci			enable-active-high;
3398c2ecf20Sopenharmony_ci		};
3408c2ecf20Sopenharmony_ci	};
3418c2ecf20Sopenharmony_ci};
3428c2ecf20Sopenharmony_ci
3438c2ecf20Sopenharmony_ci&pmicintc {
3448c2ecf20Sopenharmony_ci	keypad@148 {
3458c2ecf20Sopenharmony_ci		linux,keymap = <
3468c2ecf20Sopenharmony_ci			MATRIX_KEY(0, 0, KEY_VOLUMEUP)
3478c2ecf20Sopenharmony_ci			MATRIX_KEY(0, 1, KEY_VOLUMEDOWN)
3488c2ecf20Sopenharmony_ci			MATRIX_KEY(0, 2, KEY_CAMERA_FOCUS)
3498c2ecf20Sopenharmony_ci			MATRIX_KEY(0, 3, KEY_CAMERA)
3508c2ecf20Sopenharmony_ci			>;
3518c2ecf20Sopenharmony_ci		keypad,num-rows = <1>;
3528c2ecf20Sopenharmony_ci		keypad,num-columns = <5>;
3538c2ecf20Sopenharmony_ci	};
3548c2ecf20Sopenharmony_ci};
355