]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/arm/dts/txsd-410e.dts
arm64: add support for Ka-Ro TXSD-410E
[karo-tx-uboot.git] / arch / arm / dts / txsd-410e.dts
1 /*
2  * Qualcomm APQ8016 based Ka-Ro TXSD-410E board device tree source
3  *
4  * (C) Copyright 2016 Lothar Waßmann <LW@KARO-electronics.de>
5  *
6  * SPDX-License-Identifier:     GPL-2.0+
7  */
8
9 /dts-v1/;
10
11 #include "skeleton64.dtsi"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14
15 / {
16         model = "Ka-Ro electronics GmbH TXSD-410E";
17         compatible = "qcom,dragonboard", "qcom,apq8016-sbc";
18         qcom,msm-id = <0xce 0x0 0xf8 0x0 0xf9 0x0 0xfa 0x0 0xf7 0x0>;
19         qcom,board-id = <0x10018 0x0>;
20         #address-cells = <0x2>;
21         #size-cells = <0x2>;
22
23         aliases {
24                 serial0 = &uart1;
25                 soc_gpios = &soc_gpios;
26                 i2c0 = &i2c_gpio1;
27                 i2c1 = &i2c_gpio2;
28                 i2c2 = &i2c_gpio3;
29         };
30
31         memory {
32                 device_type = "memory";
33                 reg = <0 0x90000000 0 0x2da00000>;
34         };
35
36         chosen {
37                 stdout-path = "serial0";
38         };
39
40         psci {
41                 compatible = "arm,psci-1.0";
42                 method = "smc";
43         };
44
45         soc {
46                 #address-cells = <0x1>;
47                 #size-cells = <0x1>;
48                 ranges = <0x0 0x0 0x0 0xffffffff>;
49                 compatible = "simple-bus";
50
51                 clkc: qcom,gcc@1800000 {
52                         compatible = "qcom,gcc-apq8016";
53                         reg = <0x1800000 0x80000>;
54                         #address-cells = <0x1>;
55                         #size-cells = <0x0>;
56                 };
57
58                 uart1: serial@78b0000 {
59                         compatible = "qcom,msm-uartdm-v1.4";
60                         reg = <0x78b0000 0x200>;
61                         u-boot,dm-pre-reloc;
62                         clock = <&clkc 4>;
63                 };
64
65                 restart@4ab000 {
66                         compatible = "qcom,pshold";
67                         reg = <0x4ab000 0x4>;
68                 };
69
70                 soc_gpios: pinctrl@1000000 {
71                         compatible = "qcom,apq8016-pinctrl";
72                         reg = <0x1000000 0x300000>;
73                         gpio-controller;
74                         gpio-count = <122>;
75                         gpio-bank-name = "soc";
76                         #gpio-cells = <2>;
77                 };
78
79                 ehci@78d9000 {
80                         compatible = "qcom,ehci-host";
81                         reg = <0x78d9000 0x400>;
82                 };
83
84                 sdhci@07824000 {
85                         compatible = "qcom,sdhci-msm-v4";
86                         reg = <0x7824900 0x11c 0x7824000 0x800>;
87                         bus-width = <0x8>;
88                         index = <0x0>;
89                         non-removable;
90                         clock = <&clkc 0>;
91                         clock-frequency = <100000000>;
92                 };
93
94                 sdhci@07864000 {
95                         compatible = "qcom,sdhci-msm-v4";
96                         reg = <0x7864900 0x11c 0x7864000 0x800>;
97                         index = <0x1>;
98                         bus-width = <0x4>;
99                         clock = <&clkc 1>;
100                         clock-frequency = <200000000>;
101                 };
102
103                 spmi@200f000 {
104                         compatible = "qcom,spmi-pmic-arb";
105                         reg = <0x200f000 0x1000
106                                0x2400000 0x400000
107                                0x2c00000 0x400000
108                                >;
109                         #address-cells = <0x1>;
110                         #size-cells = <0x1>;
111
112                         pmic0: pm8916@0 {
113                                 compatible = "qcom,spmi-pmic";
114                                 reg = <0x0 0x1>;
115                                 #address-cells = <0x1>;
116                                 #size-cells = <0x1>;
117
118                                 rtc@6000 {
119                                         compatible = "qcom,pm8941-rtc";
120                                         reg = <0x6000 0x4c>, <0x6100 0x49>;
121                                         reg-names = "rtc", "alarm";
122                                         interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
123                                 };
124
125                                 pm8916_gpios: pm8916_gpios@c000 {
126                                         compatible = "qcom,pm8916-gpio";
127                                         reg = <0xc000 0x400>;
128                                         gpio-controller;
129                                         gpio-count = <4>;
130                                         #gpio-cells = <2>;
131                                         gpio-bank-name = "pmic";
132                                 };
133                         };
134
135                         pmic1: pm8916@1 {
136                                 compatible = "qcom,spmi-pmic";
137                                 reg = <0x1 0x1>;
138                         };
139                 };
140         };
141
142         i2c_gpio1: i2c-gpio@0 {
143                 compatible = "i2c-gpio";
144                 #address-cells = <1>;
145                 #size-cells = <0>;
146                 pinctrl-names = "default";
147                 pinctrl-0 = <&i2c0_pinmux>;
148                 gpios = <&soc_gpios 18 GPIO_ACTIVE_HIGH>, /* SDA */
149                         <&soc_gpios 19 GPIO_ACTIVE_HIGH>; /* CLK */
150
151                 tsc2007@48 {
152                         compatible = "ti,tsc2007";
153                         reg = <0x48>;
154                 };
155         };
156
157         i2c_gpio2: i2c-gpio@1 {
158                 compatible = "i2c-gpio";
159                 #address-cells = <1>;
160                 #size-cells = <0>;
161                 pinctrl-names = "default";
162                 pinctrl-0 = <&i2c1_pinmux>;
163                 gpios = <&soc_gpios 53 GPIO_ACTIVE_HIGH>, /* SDA */
164                         <&soc_gpios 54 GPIO_ACTIVE_HIGH>; /* CLK */
165
166                 dsi83@2c {
167                         compatible = "ti,sn65dsi83";
168                         reg = <0x2c>;
169                 };
170         };
171
172         i2c_gpio3: i2c-gpio@2 {
173                 compatible = "i2c-gpio";
174                 #address-cells = <1>;
175                 #size-cells = <0>;
176                 pinctrl-names = "default";
177                 pinctrl-0 = <&i2c2_pinmux>;
178                 gpios = <&soc_gpios 29 GPIO_ACTIVE_HIGH>, /* SDA */
179                         <&soc_gpios 30 GPIO_ACTIVE_HIGH>; /* CLK */
180         };
181
182         leds {
183                 compatible = "gpio-leds";
184
185                 user {
186                         label = "user";
187                         gpios = <&soc_gpios 71 GPIO_ACTIVE_HIGH>;
188                 };
189         };
190 };
191
192 &soc_gpios {
193         i2c0_pinmux: i2c0-pins {
194                 pinmux {
195                         function = "gpio";
196                         pins = "gpio18", "gpio19";
197                 };
198
199                 pinconf {
200                         pins = "gpio18", "gpio19";
201                         drive-strength = <16>;
202                         bias-pull-up;
203                 };
204         };
205
206         i2c1_pinmux: i2c1-pins {
207                 pinmux {
208                         function = "gpio";
209                         pins = "gpio53", "gpio54";
210                 };
211
212                 pinconf {
213                         pins = "gpio53", "gpio54";
214                         drive-strength = <16>;
215                         bias-pull-up;
216                 };
217         };
218
219         i2c2_pinmux: i2c2-pins {
220                 pinmux {
221                         function = "gpio";
222                         pins = "gpio29", "gpio30";
223                 };
224
225                 pinconf {
226                         pins = "gpio29", "gpio30";
227                         drive-strength = <16>;
228                         bias-pull-up;
229                 };
230         };
231
232         led_pinmux: led-pins {
233                 pinmux {
234                         function = "gpio";
235                         pins = "gpio71";
236         };
237
238                 pinconf {
239                         pins = "gpio71";
240                         drive-strength = <16>;
241         };
242 };
243
244         usb_vbus_pinmux: usb-vbus {
245                 pinmux {
246                         function = "gpio";
247                         pins = "gpio56";
248         };
249
250                 pinconf {
251                         pins = "gpio56";
252                         drive-strength = <16>;
253                 };
254         };
255 };