183d290c5STom Rini// SPDX-License-Identifier: GPL-2.0+
2626f048bSMateusz Kulikowski/*
3626f048bSMateusz Kulikowski * Qualcomm APQ8016 based Dragonboard 410C board device tree source
4626f048bSMateusz Kulikowski *
5626f048bSMateusz Kulikowski * (C) Copyright 2015 Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
6626f048bSMateusz Kulikowski */
7626f048bSMateusz Kulikowski
8626f048bSMateusz Kulikowski/dts-v1/;
9626f048bSMateusz Kulikowski
10626f048bSMateusz Kulikowski#include "skeleton64.dtsi"
119558ddabSRamon Fried#include <dt-bindings/pinctrl/pinctrl-snapdragon.h>
12626f048bSMateusz Kulikowski
13626f048bSMateusz Kulikowski/ {
14626f048bSMateusz Kulikowski	model = "Qualcomm Technologies, Inc. Dragonboard 410c";
15626f048bSMateusz Kulikowski	compatible = "qcom,dragonboard", "qcom,apq8016-sbc";
16626f048bSMateusz Kulikowski	qcom,msm-id = <0xce 0x0 0xf8 0x0 0xf9 0x0 0xfa 0x0 0xf7 0x0>;
17626f048bSMateusz Kulikowski	qcom,board-id = <0x10018 0x0>;
18626f048bSMateusz Kulikowski	#address-cells = <0x2>;
19626f048bSMateusz Kulikowski	#size-cells = <0x2>;
20626f048bSMateusz Kulikowski
21626f048bSMateusz Kulikowski	memory {
22626f048bSMateusz Kulikowski		device_type = "memory";
23626f048bSMateusz Kulikowski		reg = <0 0x80000000 0 0x3da00000>;
24626f048bSMateusz Kulikowski	};
25626f048bSMateusz Kulikowski
2635bdd839SRob Clark	reserved-memory {
2735bdd839SRob Clark		#address-cells = <2>;
2835bdd839SRob Clark		#size-cells = <2>;
2935bdd839SRob Clark		ranges;
30*072787ddSRamon Fried
31*072787ddSRamon Fried		smem_mem: smem_region@86300000 {
32*072787ddSRamon Fried			reg = <0x0 0x86300000 0x0 0x100000>;
33*072787ddSRamon Fried			no-map;
34*072787ddSRamon Fried		};
3535bdd839SRob Clark	};
3635bdd839SRob Clark
37626f048bSMateusz Kulikowski	chosen {
38626f048bSMateusz Kulikowski		stdout-path = "/soc/serial@78b0000";
39626f048bSMateusz Kulikowski	};
40626f048bSMateusz Kulikowski
41*072787ddSRamon Fried	smem {
42*072787ddSRamon Fried		compatible = "qcom,smem";
43*072787ddSRamon Fried		memory-region = <&smem_mem>;
44*072787ddSRamon Fried		qcom,rpm-msg-ram = <&rpm_msg_ram>;
45*072787ddSRamon Fried	};
46*072787ddSRamon Fried
47626f048bSMateusz Kulikowski	soc {
48626f048bSMateusz Kulikowski		#address-cells = <0x1>;
49626f048bSMateusz Kulikowski		#size-cells = <0x1>;
50626f048bSMateusz Kulikowski		ranges = <0x0 0x0 0x0 0xffffffff>;
51626f048bSMateusz Kulikowski		compatible = "simple-bus";
52626f048bSMateusz Kulikowski
53*072787ddSRamon Fried		rpm_msg_ram: memory@60000 {
54*072787ddSRamon Fried			compatible = "qcom,rpm-msg-ram";
55*072787ddSRamon Fried			reg = <0x60000 0x8000>;
56*072787ddSRamon Fried		};
57*072787ddSRamon Fried
589558ddabSRamon Fried		pinctrl: qcom,tlmm@1000000 {
599558ddabSRamon Fried			compatible = "qcom,tlmm-apq8016";
609558ddabSRamon Fried			reg = <0x1000000 0x400000>;
619558ddabSRamon Fried
629558ddabSRamon Fried			blsp1_uart: uart {
639558ddabSRamon Fried				function = "blsp1_uart";
649558ddabSRamon Fried				pins = "GPIO_4", "GPIO_5";
659558ddabSRamon Fried				drive-strength = <DRIVE_STRENGTH_8MA>;
669558ddabSRamon Fried				bias-disable;
679558ddabSRamon Fried			};
689558ddabSRamon Fried		};
69626f048bSMateusz Kulikowski		clkc: qcom,gcc@1800000 {
70626f048bSMateusz Kulikowski			compatible = "qcom,gcc-apq8016";
71626f048bSMateusz Kulikowski			reg = <0x1800000 0x80000>;
72626f048bSMateusz Kulikowski			#address-cells = <0x1>;
73626f048bSMateusz Kulikowski			#size-cells = <0x0>;
74626f048bSMateusz Kulikowski		};
75626f048bSMateusz Kulikowski
76626f048bSMateusz Kulikowski		serial@78b0000 {
77626f048bSMateusz Kulikowski			compatible = "qcom,msm-uartdm-v1.4";
78626f048bSMateusz Kulikowski			reg = <0x78b0000 0x200>;
79626f048bSMateusz Kulikowski			clock = <&clkc 4>;
809558ddabSRamon Fried			pinctrl-names = "uart";
819558ddabSRamon Fried			pinctrl-0 = <&blsp1_uart>;
82626f048bSMateusz Kulikowski		};
83626f048bSMateusz Kulikowski
84626f048bSMateusz Kulikowski		soc_gpios: pinctrl@1000000 {
85626f048bSMateusz Kulikowski			compatible = "qcom,apq8016-pinctrl";
86626f048bSMateusz Kulikowski			reg = <0x1000000 0x300000>;
87626f048bSMateusz Kulikowski			gpio-controller;
88626f048bSMateusz Kulikowski			gpio-count = <122>;
89626f048bSMateusz Kulikowski			gpio-bank-name="soc";
90626f048bSMateusz Kulikowski			#gpio-cells = <1>;
91626f048bSMateusz Kulikowski		};
92626f048bSMateusz Kulikowski
93626f048bSMateusz Kulikowski		ehci@78d9000 {
94626f048bSMateusz Kulikowski			compatible = "qcom,ehci-host";
95626f048bSMateusz Kulikowski			reg = <0x78d9000 0x400>;
96626f048bSMateusz Kulikowski		};
97626f048bSMateusz Kulikowski
98626f048bSMateusz Kulikowski		sdhci@07824000 {
99626f048bSMateusz Kulikowski			compatible = "qcom,sdhci-msm-v4";
100626f048bSMateusz Kulikowski			reg = <0x7824900 0x11c 0x7824000 0x800>;
101626f048bSMateusz Kulikowski			bus-width = <0x8>;
102626f048bSMateusz Kulikowski			index = <0x0>;
103626f048bSMateusz Kulikowski			non-removable;
104626f048bSMateusz Kulikowski			clock = <&clkc 0>;
105626f048bSMateusz Kulikowski			clock-frequency = <100000000>;
106626f048bSMateusz Kulikowski		};
107626f048bSMateusz Kulikowski
108626f048bSMateusz Kulikowski		sdhci@07864000 {
109626f048bSMateusz Kulikowski			compatible = "qcom,sdhci-msm-v4";
110626f048bSMateusz Kulikowski			reg = <0x7864900 0x11c 0x7864000 0x800>;
111626f048bSMateusz Kulikowski			index = <0x1>;
112626f048bSMateusz Kulikowski			bus-width = <0x4>;
113626f048bSMateusz Kulikowski			clock = <&clkc 1>;
114626f048bSMateusz Kulikowski			clock-frequency = <200000000>;
115626f048bSMateusz Kulikowski		};
116626f048bSMateusz Kulikowski
117e2beb872SJorge Ramirez-Ortiz		wcnss {
118e2beb872SJorge Ramirez-Ortiz			bt {
119e2beb872SJorge Ramirez-Ortiz				compatible="qcom,wcnss-bt";
120e2beb872SJorge Ramirez-Ortiz			};
121e2beb872SJorge Ramirez-Ortiz
122e2beb872SJorge Ramirez-Ortiz			wifi {
123e2beb872SJorge Ramirez-Ortiz				compatible="qcom,wcnss-wlan";
124e2beb872SJorge Ramirez-Ortiz			};
125e2beb872SJorge Ramirez-Ortiz		};
126e2beb872SJorge Ramirez-Ortiz
127626f048bSMateusz Kulikowski		spmi@200f000 {
128626f048bSMateusz Kulikowski			compatible = "qcom,spmi-pmic-arb";
129626f048bSMateusz Kulikowski			reg = <0x200f800 0x200 0x2400000 0x400000 0x2c00000 0x400000>;
130626f048bSMateusz Kulikowski			#address-cells = <0x1>;
131626f048bSMateusz Kulikowski			#size-cells = <0x1>;
132626f048bSMateusz Kulikowski			pmic0: pm8916@0 {
133626f048bSMateusz Kulikowski				compatible = "qcom,spmi-pmic";
134626f048bSMateusz Kulikowski				reg = <0x0 0x1>;
135626f048bSMateusz Kulikowski				#address-cells = <0x1>;
136626f048bSMateusz Kulikowski				#size-cells = <0x1>;
137626f048bSMateusz Kulikowski
138626f048bSMateusz Kulikowski				pm8916_pon: pm8916_pon@800 {
139626f048bSMateusz Kulikowski					compatible = "qcom,pm8916-pwrkey";
140626f048bSMateusz Kulikowski					reg = <0x800 0x96>;
141626f048bSMateusz Kulikowski					#gpio-cells = <2>;
142626f048bSMateusz Kulikowski					gpio-controller;
143626f048bSMateusz Kulikowski				};
144626f048bSMateusz Kulikowski
145626f048bSMateusz Kulikowski				pm8916_gpios: pm8916_gpios@c000 {
146626f048bSMateusz Kulikowski					compatible = "qcom,pm8916-gpio";
147626f048bSMateusz Kulikowski					reg = <0xc000 0x400>;
148626f048bSMateusz Kulikowski					gpio-controller;
149626f048bSMateusz Kulikowski					gpio-count = <4>;
150626f048bSMateusz Kulikowski					#gpio-cells = <2>;
151626f048bSMateusz Kulikowski					gpio-bank-name="pmic";
152626f048bSMateusz Kulikowski				};
153626f048bSMateusz Kulikowski			};
154626f048bSMateusz Kulikowski
155626f048bSMateusz Kulikowski			pmic1: pm8916@1 {
156626f048bSMateusz Kulikowski				compatible = "qcom,spmi-pmic";
157626f048bSMateusz Kulikowski				reg = <0x1 0x1>;
158626f048bSMateusz Kulikowski			};
159626f048bSMateusz Kulikowski		};
160626f048bSMateusz Kulikowski	};
161626f048bSMateusz Kulikowski
162626f048bSMateusz Kulikowski	leds {
163626f048bSMateusz Kulikowski		compatible = "gpio-leds";
164626f048bSMateusz Kulikowski		user1 {
165626f048bSMateusz Kulikowski			label = "green:user1";
166626f048bSMateusz Kulikowski			gpios = <&soc_gpios 21 0>;
167626f048bSMateusz Kulikowski		};
168626f048bSMateusz Kulikowski
169626f048bSMateusz Kulikowski		user2 {
170626f048bSMateusz Kulikowski			label = "green:user2";
171626f048bSMateusz Kulikowski			gpios = <&soc_gpios 120 0>;
172626f048bSMateusz Kulikowski		};
173626f048bSMateusz Kulikowski
174626f048bSMateusz Kulikowski		user3 {
175626f048bSMateusz Kulikowski			label = "green:user3";
176626f048bSMateusz Kulikowski			gpios = <&pm8916_gpios 0 0>;
177626f048bSMateusz Kulikowski		};
178626f048bSMateusz Kulikowski
179626f048bSMateusz Kulikowski		user4 {
180626f048bSMateusz Kulikowski			label = "green:user4";
181626f048bSMateusz Kulikowski			gpios = <&pm8916_gpios 1 0>;
182626f048bSMateusz Kulikowski		};
183626f048bSMateusz Kulikowski	};
184626f048bSMateusz Kulikowski};
185626f048bSMateusz Kulikowski
186626f048bSMateusz Kulikowski#include "dragonboard410c-uboot.dtsi"
187