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
216b0861a9SRamon Fried	aliases {
226b0861a9SRamon Fried		usb0 = "/soc/ehci@78d9000";
236b0861a9SRamon Fried	};
246b0861a9SRamon Fried
25626f048bSMateusz Kulikowski	memory {
26626f048bSMateusz Kulikowski		device_type = "memory";
27626f048bSMateusz Kulikowski		reg = <0 0x80000000 0 0x3da00000>;
28626f048bSMateusz Kulikowski	};
29626f048bSMateusz Kulikowski
3035bdd839SRob Clark	reserved-memory {
3135bdd839SRob Clark		#address-cells = <2>;
3235bdd839SRob Clark		#size-cells = <2>;
3335bdd839SRob Clark		ranges;
34072787ddSRamon Fried
35072787ddSRamon Fried		smem_mem: smem_region@86300000 {
36072787ddSRamon Fried			reg = <0x0 0x86300000 0x0 0x100000>;
37072787ddSRamon Fried			no-map;
38072787ddSRamon Fried		};
3935bdd839SRob Clark	};
4035bdd839SRob Clark
41626f048bSMateusz Kulikowski	chosen {
42626f048bSMateusz Kulikowski		stdout-path = "/soc/serial@78b0000";
43626f048bSMateusz Kulikowski	};
44626f048bSMateusz Kulikowski
45072787ddSRamon Fried	smem {
46072787ddSRamon Fried		compatible = "qcom,smem";
47072787ddSRamon Fried		memory-region = <&smem_mem>;
48072787ddSRamon Fried		qcom,rpm-msg-ram = <&rpm_msg_ram>;
49072787ddSRamon Fried	};
50072787ddSRamon Fried
51626f048bSMateusz Kulikowski	soc {
52626f048bSMateusz Kulikowski		#address-cells = <0x1>;
53626f048bSMateusz Kulikowski		#size-cells = <0x1>;
54626f048bSMateusz Kulikowski		ranges = <0x0 0x0 0x0 0xffffffff>;
55626f048bSMateusz Kulikowski		compatible = "simple-bus";
56626f048bSMateusz Kulikowski
57072787ddSRamon Fried		rpm_msg_ram: memory@60000 {
58072787ddSRamon Fried			compatible = "qcom,rpm-msg-ram";
59072787ddSRamon Fried			reg = <0x60000 0x8000>;
60072787ddSRamon Fried		};
61072787ddSRamon Fried
629558ddabSRamon Fried		pinctrl: qcom,tlmm@1000000 {
639558ddabSRamon Fried			compatible = "qcom,tlmm-apq8016";
649558ddabSRamon Fried			reg = <0x1000000 0x400000>;
659558ddabSRamon Fried
669558ddabSRamon Fried			blsp1_uart: uart {
679558ddabSRamon Fried				function = "blsp1_uart";
689558ddabSRamon Fried				pins = "GPIO_4", "GPIO_5";
699558ddabSRamon Fried				drive-strength = <DRIVE_STRENGTH_8MA>;
709558ddabSRamon Fried				bias-disable;
719558ddabSRamon Fried			};
729558ddabSRamon Fried		};
73626f048bSMateusz Kulikowski		clkc: qcom,gcc@1800000 {
74626f048bSMateusz Kulikowski			compatible = "qcom,gcc-apq8016";
75626f048bSMateusz Kulikowski			reg = <0x1800000 0x80000>;
76626f048bSMateusz Kulikowski			#address-cells = <0x1>;
77626f048bSMateusz Kulikowski			#size-cells = <0x0>;
78626f048bSMateusz Kulikowski		};
79626f048bSMateusz Kulikowski
80626f048bSMateusz Kulikowski		serial@78b0000 {
81626f048bSMateusz Kulikowski			compatible = "qcom,msm-uartdm-v1.4";
82626f048bSMateusz Kulikowski			reg = <0x78b0000 0x200>;
83626f048bSMateusz Kulikowski			clock = <&clkc 4>;
849558ddabSRamon Fried			pinctrl-names = "uart";
859558ddabSRamon Fried			pinctrl-0 = <&blsp1_uart>;
86626f048bSMateusz Kulikowski		};
87626f048bSMateusz Kulikowski
88626f048bSMateusz Kulikowski		soc_gpios: pinctrl@1000000 {
89626f048bSMateusz Kulikowski			compatible = "qcom,apq8016-pinctrl";
90626f048bSMateusz Kulikowski			reg = <0x1000000 0x300000>;
91626f048bSMateusz Kulikowski			gpio-controller;
92626f048bSMateusz Kulikowski			gpio-count = <122>;
93626f048bSMateusz Kulikowski			gpio-bank-name="soc";
94626f048bSMateusz Kulikowski			#gpio-cells = <1>;
95626f048bSMateusz Kulikowski		};
96626f048bSMateusz Kulikowski
97626f048bSMateusz Kulikowski		ehci@78d9000 {
98626f048bSMateusz Kulikowski			compatible = "qcom,ehci-host";
99626f048bSMateusz Kulikowski			reg = <0x78d9000 0x400>;
100*665e4525SRamon Fried			phys = <&ehci_phy>;
101*665e4525SRamon Fried		};
102*665e4525SRamon Fried
103*665e4525SRamon Fried		ehci_phy: ehci_phy@78d9000 {
104*665e4525SRamon Fried			compatible = "qcom,apq8016-usbphy";
105*665e4525SRamon Fried			reg = <0x78d9000 0x400>;
106*665e4525SRamon Fried			#phy-cells = <0>;
107626f048bSMateusz Kulikowski		};
108626f048bSMateusz Kulikowski
109626f048bSMateusz Kulikowski		sdhci@07824000 {
110626f048bSMateusz Kulikowski			compatible = "qcom,sdhci-msm-v4";
111626f048bSMateusz Kulikowski			reg = <0x7824900 0x11c 0x7824000 0x800>;
112626f048bSMateusz Kulikowski			bus-width = <0x8>;
113626f048bSMateusz Kulikowski			index = <0x0>;
114626f048bSMateusz Kulikowski			non-removable;
115626f048bSMateusz Kulikowski			clock = <&clkc 0>;
116626f048bSMateusz Kulikowski			clock-frequency = <100000000>;
117626f048bSMateusz Kulikowski		};
118626f048bSMateusz Kulikowski
119626f048bSMateusz Kulikowski		sdhci@07864000 {
120626f048bSMateusz Kulikowski			compatible = "qcom,sdhci-msm-v4";
121626f048bSMateusz Kulikowski			reg = <0x7864900 0x11c 0x7864000 0x800>;
122626f048bSMateusz Kulikowski			index = <0x1>;
123626f048bSMateusz Kulikowski			bus-width = <0x4>;
124626f048bSMateusz Kulikowski			clock = <&clkc 1>;
125626f048bSMateusz Kulikowski			clock-frequency = <200000000>;
126626f048bSMateusz Kulikowski		};
127626f048bSMateusz Kulikowski
128e2beb872SJorge Ramirez-Ortiz		wcnss {
129e2beb872SJorge Ramirez-Ortiz			bt {
130e2beb872SJorge Ramirez-Ortiz				compatible="qcom,wcnss-bt";
131e2beb872SJorge Ramirez-Ortiz			};
132e2beb872SJorge Ramirez-Ortiz
133e2beb872SJorge Ramirez-Ortiz			wifi {
134e2beb872SJorge Ramirez-Ortiz				compatible="qcom,wcnss-wlan";
135e2beb872SJorge Ramirez-Ortiz			};
136e2beb872SJorge Ramirez-Ortiz		};
137e2beb872SJorge Ramirez-Ortiz
138626f048bSMateusz Kulikowski		spmi@200f000 {
139626f048bSMateusz Kulikowski			compatible = "qcom,spmi-pmic-arb";
140626f048bSMateusz Kulikowski			reg = <0x200f800 0x200 0x2400000 0x400000 0x2c00000 0x400000>;
141626f048bSMateusz Kulikowski			#address-cells = <0x1>;
142626f048bSMateusz Kulikowski			#size-cells = <0x1>;
143626f048bSMateusz Kulikowski			pmic0: pm8916@0 {
144626f048bSMateusz Kulikowski				compatible = "qcom,spmi-pmic";
145626f048bSMateusz Kulikowski				reg = <0x0 0x1>;
146626f048bSMateusz Kulikowski				#address-cells = <0x1>;
147626f048bSMateusz Kulikowski				#size-cells = <0x1>;
148626f048bSMateusz Kulikowski
149626f048bSMateusz Kulikowski				pm8916_pon: pm8916_pon@800 {
150626f048bSMateusz Kulikowski					compatible = "qcom,pm8916-pwrkey";
151626f048bSMateusz Kulikowski					reg = <0x800 0x96>;
152626f048bSMateusz Kulikowski					#gpio-cells = <2>;
153626f048bSMateusz Kulikowski					gpio-controller;
154626f048bSMateusz Kulikowski				};
155626f048bSMateusz Kulikowski
156626f048bSMateusz Kulikowski				pm8916_gpios: pm8916_gpios@c000 {
157626f048bSMateusz Kulikowski					compatible = "qcom,pm8916-gpio";
158626f048bSMateusz Kulikowski					reg = <0xc000 0x400>;
159626f048bSMateusz Kulikowski					gpio-controller;
160626f048bSMateusz Kulikowski					gpio-count = <4>;
161626f048bSMateusz Kulikowski					#gpio-cells = <2>;
162626f048bSMateusz Kulikowski					gpio-bank-name="pmic";
163626f048bSMateusz Kulikowski				};
164626f048bSMateusz Kulikowski			};
165626f048bSMateusz Kulikowski
166626f048bSMateusz Kulikowski			pmic1: pm8916@1 {
167626f048bSMateusz Kulikowski				compatible = "qcom,spmi-pmic";
168626f048bSMateusz Kulikowski				reg = <0x1 0x1>;
169626f048bSMateusz Kulikowski			};
170626f048bSMateusz Kulikowski		};
171626f048bSMateusz Kulikowski	};
172626f048bSMateusz Kulikowski
173626f048bSMateusz Kulikowski	leds {
174626f048bSMateusz Kulikowski		compatible = "gpio-leds";
175626f048bSMateusz Kulikowski		user1 {
176626f048bSMateusz Kulikowski			label = "green:user1";
177626f048bSMateusz Kulikowski			gpios = <&soc_gpios 21 0>;
178626f048bSMateusz Kulikowski		};
179626f048bSMateusz Kulikowski
180626f048bSMateusz Kulikowski		user2 {
181626f048bSMateusz Kulikowski			label = "green:user2";
182626f048bSMateusz Kulikowski			gpios = <&soc_gpios 120 0>;
183626f048bSMateusz Kulikowski		};
184626f048bSMateusz Kulikowski
185626f048bSMateusz Kulikowski		user3 {
186626f048bSMateusz Kulikowski			label = "green:user3";
187626f048bSMateusz Kulikowski			gpios = <&pm8916_gpios 0 0>;
188626f048bSMateusz Kulikowski		};
189626f048bSMateusz Kulikowski
190626f048bSMateusz Kulikowski		user4 {
191626f048bSMateusz Kulikowski			label = "green:user4";
192626f048bSMateusz Kulikowski			gpios = <&pm8916_gpios 1 0>;
193626f048bSMateusz Kulikowski		};
194626f048bSMateusz Kulikowski	};
195626f048bSMateusz Kulikowski};
196626f048bSMateusz Kulikowski
197626f048bSMateusz Kulikowski#include "dragonboard410c-uboot.dtsi"
198