Linux-libre 5.7.6-gnu
[librecmc/linux-libre.git] / arch / arm / boot / dts / imx23-xfi3.dts
1 /*
2  * Copyright (C) 2013-2016 Marek Vasut <marek.vasut@gmail.com>
3  *
4  * This file is dual-licensed: you can use it either under the terms
5  * of the GPL or the X11 license, at your option. Note that this dual
6  * licensing only applies to this file, and not this project as a
7  * whole.
8  *
9  *  a) This file is free software; you can redistribute it and/or
10  *     modify it under the terms of the GNU General Public License as
11  *     published by the Free Software Foundation; either version 2 of
12  *     the License, or (at your option) any later version.
13  *
14  *     This file is distributed in the hope that it will be useful,
15  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
16  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  *     GNU General Public License for more details.
18  *
19  * Or, alternatively,
20  *
21  *  b) Permission is hereby granted, free of charge, to any person
22  *     obtaining a copy of this software and associated documentation
23  *     files (the "Software"), to deal in the Software without
24  *     restriction, including without limitation the rights to use,
25  *     copy, modify, merge, publish, distribute, sublicense, and/or
26  *     sell copies of the Software, and to permit persons to whom the
27  *     Software is furnished to do so, subject to the following
28  *     conditions:
29  *
30  *     The above copyright notice and this permission notice shall be
31  *     included in all copies or substantial portions of the Software.
32  *
33  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
34  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
35  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
36  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
37  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
38  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
39  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
40  *     OTHER DEALINGS IN THE SOFTWARE.
41  *
42  */
43
44 /dts-v1/;
45 #include "imx23.dtsi"
46
47 / {
48         model = "Creative ZEN X-Fi3";
49         compatible = "creative,x-fi3", "fsl,imx23";
50
51         memory@40000000 {
52                 device_type = "memory";
53                 reg = <0x40000000 0x04000000>;
54         };
55
56         apb@80000000 {
57                 apbh@80000000 {
58                         ssp0: spi@80010000 {
59                                 compatible = "fsl,imx23-mmc";
60                                 pinctrl-names = "default";
61                                 pinctrl-0 = <&mmc0_4bit_pins_a &mmc0_pins_fixup>;
62                                 bus-width = <4>;
63                                 vmmc-supply = <&reg_vddio_sd0>;
64                                 cd-inverted;
65                                 status = "okay";
66                         };
67
68                         ssp1: spi@80034000 {
69                                 compatible = "fsl,imx23-mmc";
70                                 pinctrl-names = "default";
71                                 pinctrl-0 = <&mmc1_4bit_pins_a>;
72                                 bus-width = <4>;
73                                 non-removable;
74                                 status = "okay";
75                         };
76
77                         pinctrl@80018000 {
78                                 pinctrl-names = "default";
79                                 pinctrl-0 = <&hog_pins_a>;
80
81                                 hog_pins_a: hog@0 {
82                                         reg = <0>;
83                                         fsl,pinmux-ids = <
84                                                 MX23_PAD_GPMI_D07__GPIO_0_7
85                                         >;
86                                         fsl,drive-strength = <0>;
87                                         fsl,voltage = <1>;
88                                         fsl,pull-up = <0>;
89                                 };
90
91                                 key_pins_a: keys@0 {
92                                         reg = <0>;
93                                         fsl,pinmux-ids = <
94                                                 MX23_PAD_ROTARYA__GPIO_2_7
95                                                 MX23_PAD_ROTARYB__GPIO_2_8
96                                         >;
97                                         fsl,drive-strength = <0>;
98                                         fsl,voltage = <1>;
99                                         fsl,pull-up = <1>;
100                                 };
101                         };
102                 };
103
104                 apbx@80040000 {
105                         i2c: i2c@80058000 {
106                                 pinctrl-names = "default";
107                                 pinctrl-0 = <&i2c_pins_a>;
108                                 status = "okay";
109                         };
110
111                         pwm: pwm@80064000 {
112                                 pinctrl-names = "default";
113                                 pinctrl-0 = <&pwm2_pins_a>;
114                                 status = "okay";
115                         };
116
117                         duart: serial@80070000 {
118                                 pinctrl-names = "default";
119                                 pinctrl-0 = <&duart_pins_a>;
120                                 status = "okay";
121                         };
122
123                         auart1: serial@8006e000 {
124                                 pinctrl-names = "default";
125                                 pinctrl-0 = <&auart1_2pins_a>;
126                                 status = "okay";
127                         };
128
129                         usbphy0: usbphy@8007c000 {
130                                 status = "okay";
131                         };
132
133                         lradc@80050000 {
134                                 status = "okay";
135                         };
136                 };
137         };
138
139         ahb@80080000 {
140                 usb0: usb@80080000 {
141                         dr_mode = "peripheral";
142                         status = "okay";
143                 };
144         };
145
146         reg_vddio_sd0: regulator-vddio-sd0 {
147                 compatible = "regulator-fixed";
148                 regulator-name = "vddio-sd0";
149                 regulator-min-microvolt = <3300000>;
150                 regulator-max-microvolt = <3300000>;
151                 gpio = <&gpio0 7 0>;
152         };
153
154         backlight {
155                 compatible = "pwm-backlight";
156                 pwms = <&pwm 2 5000000>;
157                 brightness-levels = <0 4 8 16 32 64 128 255>;
158                 default-brightness-level = <6>;
159         };
160
161         gpio_keys {
162                 compatible = "gpio-keys";
163                 pinctrl-names = "default";
164                 pinctrl-0 = <&key_pins_a>;
165
166                 voldown {
167                         label = "volume-down";
168                         linux,code = <114>;
169                         gpios = <&gpio2 7 0>;
170                         debounce-interval = <20>;
171                 };
172
173                 volup {
174                         label = "volume-up";
175                         linux,code = <115>;
176                         gpios = <&gpio2 8 0>;
177                         debounce-interval = <20>;
178                 };
179         };
180 };