18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci/* Copyright (c) 2013-2016, The Linux Foundation. All rights reserved.
38c2ecf20Sopenharmony_ci */
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <dt-bindings/interrupt-controller/arm-gic.h>
68c2ecf20Sopenharmony_ci#include <dt-bindings/clock/qcom,gcc-msm8994.h>
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci/ {
98c2ecf20Sopenharmony_ci	interrupt-parent = <&intc>;
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ci	#address-cells = <2>;
128c2ecf20Sopenharmony_ci	#size-cells = <2>;
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	chosen { };
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	cpus {
178c2ecf20Sopenharmony_ci		#address-cells = <2>;
188c2ecf20Sopenharmony_ci		#size-cells = <0>;
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci		CPU0: cpu@0 {
218c2ecf20Sopenharmony_ci			device_type = "cpu";
228c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
238c2ecf20Sopenharmony_ci			reg = <0x0 0x0>;
248c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
258c2ecf20Sopenharmony_ci			enable-method = "psci";
268c2ecf20Sopenharmony_ci			L2_0: l2-cache {
278c2ecf20Sopenharmony_ci				compatible = "cache";
288c2ecf20Sopenharmony_ci				cache-level = <2>;
298c2ecf20Sopenharmony_ci			};
308c2ecf20Sopenharmony_ci		};
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci		CPU1: cpu@1 {
338c2ecf20Sopenharmony_ci			device_type = "cpu";
348c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
358c2ecf20Sopenharmony_ci			reg = <0x0 0x1>;
368c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
378c2ecf20Sopenharmony_ci			enable-method = "psci";
388c2ecf20Sopenharmony_ci		};
398c2ecf20Sopenharmony_ci
408c2ecf20Sopenharmony_ci		CPU2: cpu@2 {
418c2ecf20Sopenharmony_ci			device_type = "cpu";
428c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
438c2ecf20Sopenharmony_ci			reg = <0x0 0x2>;
448c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
458c2ecf20Sopenharmony_ci			enable-method = "psci";
468c2ecf20Sopenharmony_ci		};
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci		CPU3: cpu@3 {
498c2ecf20Sopenharmony_ci			device_type = "cpu";
508c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a53";
518c2ecf20Sopenharmony_ci			reg = <0x0 0x3>;
528c2ecf20Sopenharmony_ci			next-level-cache = <&L2_0>;
538c2ecf20Sopenharmony_ci			enable-method = "psci";
548c2ecf20Sopenharmony_ci		};
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci		CPU4: cpu@100 {
578c2ecf20Sopenharmony_ci			device_type = "cpu";
588c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a57";
598c2ecf20Sopenharmony_ci			reg = <0x0 0x100>;
608c2ecf20Sopenharmony_ci			next-level-cache = <&L2_1>;
618c2ecf20Sopenharmony_ci			enable-method = "psci";
628c2ecf20Sopenharmony_ci			L2_1: l2-cache {
638c2ecf20Sopenharmony_ci				compatible = "cache";
648c2ecf20Sopenharmony_ci				cache-level = <2>;
658c2ecf20Sopenharmony_ci			};
668c2ecf20Sopenharmony_ci		};
678c2ecf20Sopenharmony_ci
688c2ecf20Sopenharmony_ci		CPU5: cpu@101 {
698c2ecf20Sopenharmony_ci			device_type = "cpu";
708c2ecf20Sopenharmony_ci			compatible = "arm,cortex-a57";
718c2ecf20Sopenharmony_ci			reg = <0x0 0x101>;
728c2ecf20Sopenharmony_ci			next-level-cache = <&L2_1>;
738c2ecf20Sopenharmony_ci			enable-method = "psci";
748c2ecf20Sopenharmony_ci		};
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci		cpu-map {
778c2ecf20Sopenharmony_ci			cluster0 {
788c2ecf20Sopenharmony_ci				core0 {
798c2ecf20Sopenharmony_ci					cpu = <&CPU0>;
808c2ecf20Sopenharmony_ci				};
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ci				core1 {
838c2ecf20Sopenharmony_ci					cpu = <&CPU1>;
848c2ecf20Sopenharmony_ci				};
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci				core2 {
878c2ecf20Sopenharmony_ci					cpu = <&CPU2>;
888c2ecf20Sopenharmony_ci				};
898c2ecf20Sopenharmony_ci
908c2ecf20Sopenharmony_ci				core3 {
918c2ecf20Sopenharmony_ci					cpu = <&CPU3>;
928c2ecf20Sopenharmony_ci				};
938c2ecf20Sopenharmony_ci			};
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci			cluster1 {
968c2ecf20Sopenharmony_ci				core0 {
978c2ecf20Sopenharmony_ci					cpu = <&CPU4>;
988c2ecf20Sopenharmony_ci				};
998c2ecf20Sopenharmony_ci
1008c2ecf20Sopenharmony_ci				core1 {
1018c2ecf20Sopenharmony_ci					cpu = <&CPU5>;
1028c2ecf20Sopenharmony_ci				};
1038c2ecf20Sopenharmony_ci			};
1048c2ecf20Sopenharmony_ci		};
1058c2ecf20Sopenharmony_ci	};
1068c2ecf20Sopenharmony_ci
1078c2ecf20Sopenharmony_ci	clocks {
1088c2ecf20Sopenharmony_ci		xo_board: xo_board {
1098c2ecf20Sopenharmony_ci			compatible = "fixed-clock";
1108c2ecf20Sopenharmony_ci			#clock-cells = <0>;
1118c2ecf20Sopenharmony_ci			clock-frequency = <19200000>;
1128c2ecf20Sopenharmony_ci		};
1138c2ecf20Sopenharmony_ci
1148c2ecf20Sopenharmony_ci		sleep_clk: sleep_clk {
1158c2ecf20Sopenharmony_ci			compatible = "fixed-clock";
1168c2ecf20Sopenharmony_ci			#clock-cells = <0>;
1178c2ecf20Sopenharmony_ci			clock-frequency = <32768>;
1188c2ecf20Sopenharmony_ci		};
1198c2ecf20Sopenharmony_ci	};
1208c2ecf20Sopenharmony_ci
1218c2ecf20Sopenharmony_ci	firmware {
1228c2ecf20Sopenharmony_ci		scm {
1238c2ecf20Sopenharmony_ci			compatible = "qcom,scm-msm8994", "qcom,scm";
1248c2ecf20Sopenharmony_ci		};
1258c2ecf20Sopenharmony_ci	};
1268c2ecf20Sopenharmony_ci
1278c2ecf20Sopenharmony_ci	memory {
1288c2ecf20Sopenharmony_ci		device_type = "memory";
1298c2ecf20Sopenharmony_ci		/* We expect the bootloader to fill in the reg */
1308c2ecf20Sopenharmony_ci		reg = <0 0 0 0>;
1318c2ecf20Sopenharmony_ci	};
1328c2ecf20Sopenharmony_ci
1338c2ecf20Sopenharmony_ci	pmu {
1348c2ecf20Sopenharmony_ci		compatible = "arm,cortex-a53-pmu";
1358c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 7 (GIC_CPU_MASK_SIMPLE(4)| IRQ_TYPE_LEVEL_HIGH)>;
1368c2ecf20Sopenharmony_ci	};
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	psci {
1398c2ecf20Sopenharmony_ci		compatible = "arm,psci-0.2";
1408c2ecf20Sopenharmony_ci		method = "hvc";
1418c2ecf20Sopenharmony_ci	};
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ci	reserved-memory {
1448c2ecf20Sopenharmony_ci		#address-cells = <2>;
1458c2ecf20Sopenharmony_ci		#size-cells = <2>;
1468c2ecf20Sopenharmony_ci		ranges;
1478c2ecf20Sopenharmony_ci
1488c2ecf20Sopenharmony_ci		smem_region: smem@6a00000 {
1498c2ecf20Sopenharmony_ci			reg = <0x0 0x6a00000 0x0 0x200000>;
1508c2ecf20Sopenharmony_ci			no-map;
1518c2ecf20Sopenharmony_ci		};
1528c2ecf20Sopenharmony_ci	};
1538c2ecf20Sopenharmony_ci
1548c2ecf20Sopenharmony_ci	sfpb_mutex: hwmutex {
1558c2ecf20Sopenharmony_ci		compatible = "qcom,sfpb-mutex";
1568c2ecf20Sopenharmony_ci		syscon = <&sfpb_mutex_regs 0x0 0x100>;
1578c2ecf20Sopenharmony_ci		#hwlock-cells = <1>;
1588c2ecf20Sopenharmony_ci	};
1598c2ecf20Sopenharmony_ci
1608c2ecf20Sopenharmony_ci	smem {
1618c2ecf20Sopenharmony_ci		compatible = "qcom,smem";
1628c2ecf20Sopenharmony_ci		memory-region = <&smem_region>;
1638c2ecf20Sopenharmony_ci		qcom,rpm-msg-ram = <&rpm_msg_ram>;
1648c2ecf20Sopenharmony_ci		hwlocks = <&sfpb_mutex 3>;
1658c2ecf20Sopenharmony_ci	};
1668c2ecf20Sopenharmony_ci
1678c2ecf20Sopenharmony_ci	soc {
1688c2ecf20Sopenharmony_ci		#address-cells = <1>;
1698c2ecf20Sopenharmony_ci		#size-cells = <1>;
1708c2ecf20Sopenharmony_ci		ranges = <0 0 0 0xffffffff>;
1718c2ecf20Sopenharmony_ci		compatible = "simple-bus";
1728c2ecf20Sopenharmony_ci
1738c2ecf20Sopenharmony_ci		intc: interrupt-controller@f9000000 {
1748c2ecf20Sopenharmony_ci			compatible = "qcom,msm-qgic2";
1758c2ecf20Sopenharmony_ci			interrupt-controller;
1768c2ecf20Sopenharmony_ci			#interrupt-cells = <3>;
1778c2ecf20Sopenharmony_ci			reg = <0xf9000000 0x1000>,
1788c2ecf20Sopenharmony_ci				<0xf9002000 0x1000>;
1798c2ecf20Sopenharmony_ci		};
1808c2ecf20Sopenharmony_ci
1818c2ecf20Sopenharmony_ci		apcs: mailbox@f900d000 {
1828c2ecf20Sopenharmony_ci			compatible = "qcom,msm8994-apcs-kpss-global", "syscon";
1838c2ecf20Sopenharmony_ci			reg = <0xf900d000 0x2000>;
1848c2ecf20Sopenharmony_ci			#mbox-cells = <1>;
1858c2ecf20Sopenharmony_ci		};
1868c2ecf20Sopenharmony_ci
1878c2ecf20Sopenharmony_ci		timer@f9020000 {
1888c2ecf20Sopenharmony_ci			#address-cells = <1>;
1898c2ecf20Sopenharmony_ci			#size-cells = <1>;
1908c2ecf20Sopenharmony_ci			ranges;
1918c2ecf20Sopenharmony_ci			compatible = "arm,armv7-timer-mem";
1928c2ecf20Sopenharmony_ci			reg = <0xf9020000 0x1000>;
1938c2ecf20Sopenharmony_ci
1948c2ecf20Sopenharmony_ci			frame@f9021000 {
1958c2ecf20Sopenharmony_ci				frame-number = <0>;
1968c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
1978c2ecf20Sopenharmony_ci						<GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>;
1988c2ecf20Sopenharmony_ci				reg = <0xf9021000 0x1000>,
1998c2ecf20Sopenharmony_ci					<0xf9022000 0x1000>;
2008c2ecf20Sopenharmony_ci			};
2018c2ecf20Sopenharmony_ci
2028c2ecf20Sopenharmony_ci			frame@f9023000 {
2038c2ecf20Sopenharmony_ci				frame-number = <1>;
2048c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>;
2058c2ecf20Sopenharmony_ci				reg = <0xf9023000 0x1000>;
2068c2ecf20Sopenharmony_ci				status = "disabled";
2078c2ecf20Sopenharmony_ci			};
2088c2ecf20Sopenharmony_ci
2098c2ecf20Sopenharmony_ci			frame@f9024000 {
2108c2ecf20Sopenharmony_ci				frame-number = <2>;
2118c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
2128c2ecf20Sopenharmony_ci				reg = <0xf9024000 0x1000>;
2138c2ecf20Sopenharmony_ci				status = "disabled";
2148c2ecf20Sopenharmony_ci			};
2158c2ecf20Sopenharmony_ci
2168c2ecf20Sopenharmony_ci			frame@f9025000 {
2178c2ecf20Sopenharmony_ci				frame-number = <3>;
2188c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>;
2198c2ecf20Sopenharmony_ci				reg = <0xf9025000 0x1000>;
2208c2ecf20Sopenharmony_ci				status = "disabled";
2218c2ecf20Sopenharmony_ci			};
2228c2ecf20Sopenharmony_ci
2238c2ecf20Sopenharmony_ci			frame@f9026000 {
2248c2ecf20Sopenharmony_ci				frame-number = <4>;
2258c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>;
2268c2ecf20Sopenharmony_ci				reg = <0xf9026000 0x1000>;
2278c2ecf20Sopenharmony_ci				status = "disabled";
2288c2ecf20Sopenharmony_ci			};
2298c2ecf20Sopenharmony_ci
2308c2ecf20Sopenharmony_ci			frame@f9027000 {
2318c2ecf20Sopenharmony_ci				frame-number = <5>;
2328c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>;
2338c2ecf20Sopenharmony_ci				reg = <0xf9027000 0x1000>;
2348c2ecf20Sopenharmony_ci				status = "disabled";
2358c2ecf20Sopenharmony_ci			};
2368c2ecf20Sopenharmony_ci
2378c2ecf20Sopenharmony_ci			frame@f9028000 {
2388c2ecf20Sopenharmony_ci				frame-number = <6>;
2398c2ecf20Sopenharmony_ci				interrupts = <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>;
2408c2ecf20Sopenharmony_ci				reg = <0xf9028000 0x1000>;
2418c2ecf20Sopenharmony_ci				status = "disabled";
2428c2ecf20Sopenharmony_ci			};
2438c2ecf20Sopenharmony_ci		};
2448c2ecf20Sopenharmony_ci
2458c2ecf20Sopenharmony_ci		sdhc_1: sdhci@f9824900 {
2468c2ecf20Sopenharmony_ci			compatible = "qcom,sdhci-msm-v4";
2478c2ecf20Sopenharmony_ci			reg = <0xf9824900 0x1a0>, <0xf9824000 0x800>;
2488c2ecf20Sopenharmony_ci			reg-names = "hc_mem", "core_mem";
2498c2ecf20Sopenharmony_ci
2508c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
2518c2ecf20Sopenharmony_ci					<GIC_SPI 138 IRQ_TYPE_LEVEL_HIGH>;
2528c2ecf20Sopenharmony_ci			interrupt-names = "hc_irq", "pwr_irq";
2538c2ecf20Sopenharmony_ci
2548c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_SDCC1_APPS_CLK>,
2558c2ecf20Sopenharmony_ci				<&gcc GCC_SDCC1_AHB_CLK>,
2568c2ecf20Sopenharmony_ci				<&xo_board>;
2578c2ecf20Sopenharmony_ci			clock-names = "core", "iface", "xo";
2588c2ecf20Sopenharmony_ci
2598c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
2608c2ecf20Sopenharmony_ci			pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on
2618c2ecf20Sopenharmony_ci					&sdc1_rclk_on>;
2628c2ecf20Sopenharmony_ci			pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off
2638c2ecf20Sopenharmony_ci					&sdc1_rclk_off>;
2648c2ecf20Sopenharmony_ci
2658c2ecf20Sopenharmony_ci			regulator-always-on;
2668c2ecf20Sopenharmony_ci			bus-width = <8>;
2678c2ecf20Sopenharmony_ci			non-removable;
2688c2ecf20Sopenharmony_ci
2698c2ecf20Sopenharmony_ci			status = "disabled";
2708c2ecf20Sopenharmony_ci		};
2718c2ecf20Sopenharmony_ci
2728c2ecf20Sopenharmony_ci		blsp1_uart2: serial@f991e000 {
2738c2ecf20Sopenharmony_ci			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
2748c2ecf20Sopenharmony_ci			reg = <0xf991e000 0x1000>;
2758c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 108 IRQ_TYPE_LEVEL_LOW>;
2768c2ecf20Sopenharmony_ci			clock-names = "core", "iface";
2778c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_UART2_APPS_CLK>,
2788c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_AHB_CLK>;
2798c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
2808c2ecf20Sopenharmony_ci			pinctrl-0 = <&blsp1_uart2_default>;
2818c2ecf20Sopenharmony_ci			pinctrl-1 = <&blsp1_uart2_sleep>;
2828c2ecf20Sopenharmony_ci			status = "disabled";
2838c2ecf20Sopenharmony_ci		};
2848c2ecf20Sopenharmony_ci
2858c2ecf20Sopenharmony_ci		blsp_i2c2: i2c@f9924000 {
2868c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
2878c2ecf20Sopenharmony_ci			reg = <0xf9924000 0x500>;
2888c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>;
2898c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
2908c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_QUP2_I2C_APPS_CLK>;
2918c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
2928c2ecf20Sopenharmony_ci			clock-frequency = <400000>;
2938c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
2948c2ecf20Sopenharmony_ci			pinctrl-0 = <&i2c2_default>;
2958c2ecf20Sopenharmony_ci			pinctrl-1 = <&i2c2_sleep>;
2968c2ecf20Sopenharmony_ci			#address-cells = <1>;
2978c2ecf20Sopenharmony_ci			#size-cells = <0>;
2988c2ecf20Sopenharmony_ci			status = "disabled";
2998c2ecf20Sopenharmony_ci		};
3008c2ecf20Sopenharmony_ci
3018c2ecf20Sopenharmony_ci		/* Somebody was very creative with their numbering scheme downstream... */
3028c2ecf20Sopenharmony_ci
3038c2ecf20Sopenharmony_ci		blsp_i2c13: i2c@f9927000 {
3048c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
3058c2ecf20Sopenharmony_ci			reg = <0xf9927000 0x500>;
3068c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 99 IRQ_TYPE_LEVEL_HIGH>;
3078c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
3088c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_QUP5_I2C_APPS_CLK>;
3098c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
3108c2ecf20Sopenharmony_ci			clock-frequency = <400000>;
3118c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
3128c2ecf20Sopenharmony_ci			pinctrl-0 = <&i2c13_default>;
3138c2ecf20Sopenharmony_ci			pinctrl-1 = <&i2c13_sleep>;
3148c2ecf20Sopenharmony_ci			#address-cells = <1>;
3158c2ecf20Sopenharmony_ci			#size-cells = <0>;
3168c2ecf20Sopenharmony_ci			status = "disabled";
3178c2ecf20Sopenharmony_ci		};
3188c2ecf20Sopenharmony_ci
3198c2ecf20Sopenharmony_ci		blsp_i2c6: i2c@f9928000 {
3208c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
3218c2ecf20Sopenharmony_ci			reg = <0xf9928000 0x500>;
3228c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 100 IRQ_TYPE_LEVEL_HIGH>;
3238c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP1_AHB_CLK>,
3248c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP1_QUP6_I2C_APPS_CLK>;
3258c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
3268c2ecf20Sopenharmony_ci			clock-frequency = <400000>;
3278c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
3288c2ecf20Sopenharmony_ci			pinctrl-0 = <&i2c6_default>;
3298c2ecf20Sopenharmony_ci			pinctrl-1 = <&i2c6_sleep>;
3308c2ecf20Sopenharmony_ci			#address-cells = <1>;
3318c2ecf20Sopenharmony_ci			#size-cells = <0>;
3328c2ecf20Sopenharmony_ci			status = "disabled";
3338c2ecf20Sopenharmony_ci		};
3348c2ecf20Sopenharmony_ci
3358c2ecf20Sopenharmony_ci		blsp2_uart2: serial@f995e000 {
3368c2ecf20Sopenharmony_ci			compatible = "qcom,msm-uartdm-v1.4", "qcom,msm-uartdm";
3378c2ecf20Sopenharmony_ci			reg = <0xf995e000 0x1000>;
3388c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 146 IRQ_TYPE_LEVEL_LOW>;
3398c2ecf20Sopenharmony_ci			clock-names = "core", "iface";
3408c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP2_UART2_APPS_CLK>,
3418c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP2_AHB_CLK>;
3428c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
3438c2ecf20Sopenharmony_ci			pinctrl-0 = <&blsp2_uart2_default>;
3448c2ecf20Sopenharmony_ci			pinctrl-1 = <&blsp2_uart2_sleep>;
3458c2ecf20Sopenharmony_ci			status = "disabled";
3468c2ecf20Sopenharmony_ci		};
3478c2ecf20Sopenharmony_ci
3488c2ecf20Sopenharmony_ci		blsp_i2c7: i2c@f9963000 {
3498c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
3508c2ecf20Sopenharmony_ci			reg = <0xf9963000 0x500>;
3518c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 101 IRQ_TYPE_LEVEL_HIGH>;
3528c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
3538c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP2_QUP1_I2C_APPS_CLK>;
3548c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
3558c2ecf20Sopenharmony_ci			clock-frequency = <400000>;
3568c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
3578c2ecf20Sopenharmony_ci			pinctrl-0 = <&i2c7_default>;
3588c2ecf20Sopenharmony_ci			pinctrl-1 = <&i2c7_sleep>;
3598c2ecf20Sopenharmony_ci			#address-cells = <1>;
3608c2ecf20Sopenharmony_ci			#size-cells = <0>;
3618c2ecf20Sopenharmony_ci			status = "disabled";
3628c2ecf20Sopenharmony_ci		};
3638c2ecf20Sopenharmony_ci
3648c2ecf20Sopenharmony_ci		blsp_i2c5: i2c@f9967000 {
3658c2ecf20Sopenharmony_ci			compatible = "qcom,i2c-qup-v2.2.1";
3668c2ecf20Sopenharmony_ci			reg = <0xf9967000 0x500>;
3678c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
3688c2ecf20Sopenharmony_ci			clocks = <&gcc GCC_BLSP2_AHB_CLK>,
3698c2ecf20Sopenharmony_ci				<&gcc GCC_BLSP2_QUP5_I2C_APPS_CLK>;
3708c2ecf20Sopenharmony_ci			clock-names = "iface", "core";
3718c2ecf20Sopenharmony_ci			clock-frequency = <100000>;
3728c2ecf20Sopenharmony_ci			pinctrl-names = "default", "sleep";
3738c2ecf20Sopenharmony_ci			pinctrl-0 = <&i2c5_default>;
3748c2ecf20Sopenharmony_ci			pinctrl-1 = <&i2c5_sleep>;
3758c2ecf20Sopenharmony_ci			#address-cells = <1>;
3768c2ecf20Sopenharmony_ci			#size-cells = <0>;
3778c2ecf20Sopenharmony_ci			status = "disabled";
3788c2ecf20Sopenharmony_ci		};
3798c2ecf20Sopenharmony_ci
3808c2ecf20Sopenharmony_ci		gcc: clock-controller@fc400000 {
3818c2ecf20Sopenharmony_ci			compatible = "qcom,gcc-msm8994";
3828c2ecf20Sopenharmony_ci			#clock-cells = <1>;
3838c2ecf20Sopenharmony_ci			#reset-cells = <1>;
3848c2ecf20Sopenharmony_ci			#power-domain-cells = <1>;
3858c2ecf20Sopenharmony_ci			reg = <0xfc400000 0x2000>;
3868c2ecf20Sopenharmony_ci		};
3878c2ecf20Sopenharmony_ci
3888c2ecf20Sopenharmony_ci		rpm_msg_ram: memory@fc428000 {
3898c2ecf20Sopenharmony_ci			compatible = "qcom,rpm-msg-ram";
3908c2ecf20Sopenharmony_ci			reg = <0xfc428000 0x4000>;
3918c2ecf20Sopenharmony_ci		};
3928c2ecf20Sopenharmony_ci
3938c2ecf20Sopenharmony_ci		restart@fc4ab000 {
3948c2ecf20Sopenharmony_ci			compatible = "qcom,pshold";
3958c2ecf20Sopenharmony_ci			reg = <0xfc4ab000 0x4>;
3968c2ecf20Sopenharmony_ci		};
3978c2ecf20Sopenharmony_ci
3988c2ecf20Sopenharmony_ci		spmi_bus: spmi@fc4c0000 {
3998c2ecf20Sopenharmony_ci			compatible = "qcom,spmi-pmic-arb";
4008c2ecf20Sopenharmony_ci			reg = <0xfc4cf000 0x1000>,
4018c2ecf20Sopenharmony_ci			      <0xfc4cb000 0x1000>,
4028c2ecf20Sopenharmony_ci			      <0xfc4ca000 0x1000>;
4038c2ecf20Sopenharmony_ci			reg-names = "core", "intr", "cnfg";
4048c2ecf20Sopenharmony_ci			interrupt-names = "periph_irq";
4058c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
4068c2ecf20Sopenharmony_ci			qcom,ee = <0>;
4078c2ecf20Sopenharmony_ci			qcom,channel = <0>;
4088c2ecf20Sopenharmony_ci			#address-cells = <2>;
4098c2ecf20Sopenharmony_ci			#size-cells = <0>;
4108c2ecf20Sopenharmony_ci			interrupt-controller;
4118c2ecf20Sopenharmony_ci			#interrupt-cells = <4>;
4128c2ecf20Sopenharmony_ci		};
4138c2ecf20Sopenharmony_ci
4148c2ecf20Sopenharmony_ci		sfpb_mutex_regs: syscon@fd484000 {
4158c2ecf20Sopenharmony_ci			#address-cells = <1>;
4168c2ecf20Sopenharmony_ci			#size-cells = <1>;
4178c2ecf20Sopenharmony_ci			compatible = "syscon";
4188c2ecf20Sopenharmony_ci			reg = <0xfd484000 0x400>;
4198c2ecf20Sopenharmony_ci		};
4208c2ecf20Sopenharmony_ci
4218c2ecf20Sopenharmony_ci		tlmm: pinctrl@fd510000 {
4228c2ecf20Sopenharmony_ci			compatible = "qcom,msm8994-pinctrl";
4238c2ecf20Sopenharmony_ci			reg = <0xfd510000 0x4000>;
4248c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
4258c2ecf20Sopenharmony_ci			gpio-controller;
4268c2ecf20Sopenharmony_ci			gpio-ranges = <&tlmm 0 0 146>;
4278c2ecf20Sopenharmony_ci			#gpio-cells = <2>;
4288c2ecf20Sopenharmony_ci			interrupt-controller;
4298c2ecf20Sopenharmony_ci			#interrupt-cells = <2>;
4308c2ecf20Sopenharmony_ci
4318c2ecf20Sopenharmony_ci			blsp1_uart2_default: blsp1-uart2-default {
4328c2ecf20Sopenharmony_ci				function = "blsp_uart2";
4338c2ecf20Sopenharmony_ci				pins = "gpio4", "gpio5";
4348c2ecf20Sopenharmony_ci				drive-strength = <16>;
4358c2ecf20Sopenharmony_ci				bias-disable;
4368c2ecf20Sopenharmony_ci			};
4378c2ecf20Sopenharmony_ci
4388c2ecf20Sopenharmony_ci			blsp1_uart2_sleep: blsp1-uart2-sleep {
4398c2ecf20Sopenharmony_ci				function = "gpio";
4408c2ecf20Sopenharmony_ci				pins = "gpio4", "gpio5";
4418c2ecf20Sopenharmony_ci				drive-strength = <2>;
4428c2ecf20Sopenharmony_ci				bias-pull-down;
4438c2ecf20Sopenharmony_ci			};
4448c2ecf20Sopenharmony_ci
4458c2ecf20Sopenharmony_ci			blsp2_uart2_default: blsp2-uart2-default {
4468c2ecf20Sopenharmony_ci				function = "blsp_uart8";
4478c2ecf20Sopenharmony_ci				pins = "gpio45", "gpio46", "gpio47", "gpio48";
4488c2ecf20Sopenharmony_ci				drive-strength = <16>;
4498c2ecf20Sopenharmony_ci				bias-disable;
4508c2ecf20Sopenharmony_ci			};
4518c2ecf20Sopenharmony_ci
4528c2ecf20Sopenharmony_ci			blsp2_uart2_sleep: blsp2-uart2-sleep {
4538c2ecf20Sopenharmony_ci				function = "gpio";
4548c2ecf20Sopenharmony_ci				pins = "gpio45", "gpio46", "gpio47", "gpio48";
4558c2ecf20Sopenharmony_ci				drive-strength = <2>;
4568c2ecf20Sopenharmony_ci				bias-pull-down;
4578c2ecf20Sopenharmony_ci			};
4588c2ecf20Sopenharmony_ci
4598c2ecf20Sopenharmony_ci			sdc1_clk_on: clk-on {
4608c2ecf20Sopenharmony_ci				pins = "sdc1_clk";
4618c2ecf20Sopenharmony_ci				bias-disable;
4628c2ecf20Sopenharmony_ci				drive-strength = <6>;
4638c2ecf20Sopenharmony_ci			};
4648c2ecf20Sopenharmony_ci
4658c2ecf20Sopenharmony_ci			sdc1_clk_off: clk-off {
4668c2ecf20Sopenharmony_ci				pins = "sdc1_clk";
4678c2ecf20Sopenharmony_ci				bias-disable;
4688c2ecf20Sopenharmony_ci				drive-strength = <2>;
4698c2ecf20Sopenharmony_ci			};
4708c2ecf20Sopenharmony_ci
4718c2ecf20Sopenharmony_ci			sdc1_cmd_on: cmd-on {
4728c2ecf20Sopenharmony_ci				pins = "sdc1_cmd";
4738c2ecf20Sopenharmony_ci				bias-pull-up;
4748c2ecf20Sopenharmony_ci				drive-strength = <6>;
4758c2ecf20Sopenharmony_ci			};
4768c2ecf20Sopenharmony_ci
4778c2ecf20Sopenharmony_ci			sdc1_cmd_off: cmd-off {
4788c2ecf20Sopenharmony_ci				pins = "sdc1_cmd";
4798c2ecf20Sopenharmony_ci				bias-pull-up;
4808c2ecf20Sopenharmony_ci				drive-strength = <2>;
4818c2ecf20Sopenharmony_ci			};
4828c2ecf20Sopenharmony_ci
4838c2ecf20Sopenharmony_ci			sdc1_data_on: data-on {
4848c2ecf20Sopenharmony_ci				pins = "sdc1_data";
4858c2ecf20Sopenharmony_ci				bias-pull-up;
4868c2ecf20Sopenharmony_ci				drive-strength = <6>;
4878c2ecf20Sopenharmony_ci			};
4888c2ecf20Sopenharmony_ci
4898c2ecf20Sopenharmony_ci			sdc1_data_off: data-off {
4908c2ecf20Sopenharmony_ci				pins = "sdc1_data";
4918c2ecf20Sopenharmony_ci				bias-pull-up;
4928c2ecf20Sopenharmony_ci				drive-strength = <2>;
4938c2ecf20Sopenharmony_ci			};
4948c2ecf20Sopenharmony_ci
4958c2ecf20Sopenharmony_ci			sdc1_rclk_on: rclk-on {
4968c2ecf20Sopenharmony_ci				pins = "sdc1_rclk";
4978c2ecf20Sopenharmony_ci				bias-pull-down;
4988c2ecf20Sopenharmony_ci			};
4998c2ecf20Sopenharmony_ci
5008c2ecf20Sopenharmony_ci			sdc1_rclk_off: rclk-off {
5018c2ecf20Sopenharmony_ci				pins = "sdc1_rclk";
5028c2ecf20Sopenharmony_ci				bias-pull-down;
5038c2ecf20Sopenharmony_ci			};
5048c2ecf20Sopenharmony_ci
5058c2ecf20Sopenharmony_ci			i2c2_default: i2c2-default {
5068c2ecf20Sopenharmony_ci				function = "blsp_i2c2";
5078c2ecf20Sopenharmony_ci				pins = "gpio6", "gpio7";
5088c2ecf20Sopenharmony_ci				drive-strength = <2>;
5098c2ecf20Sopenharmony_ci				bias-disable;
5108c2ecf20Sopenharmony_ci			};
5118c2ecf20Sopenharmony_ci
5128c2ecf20Sopenharmony_ci			i2c2_sleep: i2c2-sleep {
5138c2ecf20Sopenharmony_ci				function = "gpio";
5148c2ecf20Sopenharmony_ci				pins = "gpio6", "gpio7";
5158c2ecf20Sopenharmony_ci				drive-strength = <2>;
5168c2ecf20Sopenharmony_ci				bias-disable;
5178c2ecf20Sopenharmony_ci			};
5188c2ecf20Sopenharmony_ci
5198c2ecf20Sopenharmony_ci			i2c5_default: i2c5-default {
5208c2ecf20Sopenharmony_ci				/* Don't be fooled! Nobody knows the reason why though... */
5218c2ecf20Sopenharmony_ci				function = "blsp_i2c11";
5228c2ecf20Sopenharmony_ci				pins = "gpio83", "gpio84";
5238c2ecf20Sopenharmony_ci				drive-strength = <2>;
5248c2ecf20Sopenharmony_ci				bias-disable;
5258c2ecf20Sopenharmony_ci			};
5268c2ecf20Sopenharmony_ci
5278c2ecf20Sopenharmony_ci			i2c5_sleep: i2c5-sleep {
5288c2ecf20Sopenharmony_ci				function = "gpio";
5298c2ecf20Sopenharmony_ci				pins = "gpio83", "gpio84";
5308c2ecf20Sopenharmony_ci				drive-strength = <2>;
5318c2ecf20Sopenharmony_ci				bias-disable;
5328c2ecf20Sopenharmony_ci			};
5338c2ecf20Sopenharmony_ci
5348c2ecf20Sopenharmony_ci			i2c6_default: i2c6-default {
5358c2ecf20Sopenharmony_ci				function = "blsp_i2c6";
5368c2ecf20Sopenharmony_ci				pins = "gpio28", "gpio27";
5378c2ecf20Sopenharmony_ci				drive-strength = <2>;
5388c2ecf20Sopenharmony_ci				bias-disable;
5398c2ecf20Sopenharmony_ci			};
5408c2ecf20Sopenharmony_ci
5418c2ecf20Sopenharmony_ci			i2c6_sleep: i2c6-sleep {
5428c2ecf20Sopenharmony_ci				function = "gpio";
5438c2ecf20Sopenharmony_ci				pins = "gpio28", "gpio27";
5448c2ecf20Sopenharmony_ci				drive-strength = <2>;
5458c2ecf20Sopenharmony_ci				bias-disable;
5468c2ecf20Sopenharmony_ci			};
5478c2ecf20Sopenharmony_ci
5488c2ecf20Sopenharmony_ci			i2c7_default: i2c7-default {
5498c2ecf20Sopenharmony_ci				function = "blsp_i2c7";
5508c2ecf20Sopenharmony_ci				pins = "gpio43", "gpio44";
5518c2ecf20Sopenharmony_ci				drive-strength = <2>;
5528c2ecf20Sopenharmony_ci				bias-disable;
5538c2ecf20Sopenharmony_ci			};
5548c2ecf20Sopenharmony_ci
5558c2ecf20Sopenharmony_ci			i2c7_sleep: i2c7-sleep {
5568c2ecf20Sopenharmony_ci				function = "gpio";
5578c2ecf20Sopenharmony_ci				pins = "gpio43", "gpio44";
5588c2ecf20Sopenharmony_ci				drive-strength = <2>;
5598c2ecf20Sopenharmony_ci				bias-disable;
5608c2ecf20Sopenharmony_ci			};
5618c2ecf20Sopenharmony_ci
5628c2ecf20Sopenharmony_ci			i2c13_default: i2c13-default {
5638c2ecf20Sopenharmony_ci				/* Not a typo either. */
5648c2ecf20Sopenharmony_ci				function = "blsp_i2c5";
5658c2ecf20Sopenharmony_ci				pins = "gpio23", "gpio24";
5668c2ecf20Sopenharmony_ci				drive-strength = <2>;
5678c2ecf20Sopenharmony_ci				bias-disable;
5688c2ecf20Sopenharmony_ci			};
5698c2ecf20Sopenharmony_ci
5708c2ecf20Sopenharmony_ci			i2c13_sleep: i2c13-sleep {
5718c2ecf20Sopenharmony_ci				function = "gpio";
5728c2ecf20Sopenharmony_ci				pins = "gpio23", "gpio24";
5738c2ecf20Sopenharmony_ci				drive-strength = <2>;
5748c2ecf20Sopenharmony_ci				bias-disable;
5758c2ecf20Sopenharmony_ci			};
5768c2ecf20Sopenharmony_ci		};
5778c2ecf20Sopenharmony_ci	};
5788c2ecf20Sopenharmony_ci
5798c2ecf20Sopenharmony_ci	smd_rpm: smd {
5808c2ecf20Sopenharmony_ci		compatible = "qcom,smd";
5818c2ecf20Sopenharmony_ci		rpm {
5828c2ecf20Sopenharmony_ci			interrupts = <GIC_SPI 168 IRQ_TYPE_EDGE_RISING>;
5838c2ecf20Sopenharmony_ci			qcom,ipc = <&apcs 8 0>;
5848c2ecf20Sopenharmony_ci			qcom,smd-edge = <15>;
5858c2ecf20Sopenharmony_ci			qcom,local-pid = <0>;
5868c2ecf20Sopenharmony_ci			qcom,remote-pid = <6>;
5878c2ecf20Sopenharmony_ci
5888c2ecf20Sopenharmony_ci			rpm_requests: rpm-requests {
5898c2ecf20Sopenharmony_ci				compatible = "qcom,rpm-msm8994";
5908c2ecf20Sopenharmony_ci				qcom,smd-channels = "rpm_requests";
5918c2ecf20Sopenharmony_ci
5928c2ecf20Sopenharmony_ci				rpmcc: rpmcc {
5938c2ecf20Sopenharmony_ci					compatible = "qcom,rpmcc-msm8992";
5948c2ecf20Sopenharmony_ci					#clock-cells = <1>;
5958c2ecf20Sopenharmony_ci				};
5968c2ecf20Sopenharmony_ci			};
5978c2ecf20Sopenharmony_ci		};
5988c2ecf20Sopenharmony_ci	};
5998c2ecf20Sopenharmony_ci
6008c2ecf20Sopenharmony_ci	timer {
6018c2ecf20Sopenharmony_ci		compatible = "arm,armv8-timer";
6028c2ecf20Sopenharmony_ci		interrupts = <GIC_PPI 2 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
6038c2ecf20Sopenharmony_ci			     <GIC_PPI 3 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
6048c2ecf20Sopenharmony_ci			     <GIC_PPI 4 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>,
6058c2ecf20Sopenharmony_ci			     <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
6068c2ecf20Sopenharmony_ci	};
6078c2ecf20Sopenharmony_ci
6088c2ecf20Sopenharmony_ci	vreg_vph_pwr: vreg-vph-pwr {
6098c2ecf20Sopenharmony_ci		compatible = "regulator-fixed";
6108c2ecf20Sopenharmony_ci		status = "okay";
6118c2ecf20Sopenharmony_ci		regulator-name = "vph-pwr";
6128c2ecf20Sopenharmony_ci
6138c2ecf20Sopenharmony_ci		regulator-min-microvolt = <3600000>;
6148c2ecf20Sopenharmony_ci		regulator-max-microvolt = <3600000>;
6158c2ecf20Sopenharmony_ci
6168c2ecf20Sopenharmony_ci		regulator-always-on;
6178c2ecf20Sopenharmony_ci	};
6188c2ecf20Sopenharmony_ci};
6198c2ecf20Sopenharmony_ci
620