ARM: dts: imx6q-sabresd: Add USB support
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / imx6q-sabresd.dts
1 /*
2  * Copyright 2012 Freescale Semiconductor, Inc.
3  * Copyright 2011 Linaro Ltd.
4  *
5  * The code contained herein is licensed under the GNU General Public
6  * License. You may obtain a copy of the GNU General Public License
7  * Version 2 or later at the following locations:
8  *
9  * http://www.opensource.org/licenses/gpl-license.html
10  * http://www.gnu.org/copyleft/gpl.html
11  */
12
13 /dts-v1/;
14 /include/ "imx6q.dtsi"
15
16 / {
17         model = "Freescale i.MX6Q SABRE Smart Device Board";
18         compatible = "fsl,imx6q-sabresd", "fsl,imx6q";
19
20         memory {
21                 reg = <0x10000000 0x40000000>;
22         };
23
24         regulators {
25                 compatible = "simple-bus";
26
27                 reg_usb_otg_vbus: usb_otg_vbus {
28                         compatible = "regulator-fixed";
29                         regulator-name = "usb_otg_vbus";
30                         regulator-min-microvolt = <5000000>;
31                         regulator-max-microvolt = <5000000>;
32                         gpio = <&gpio3 22 0>;
33                         enable-active-high;
34                 };
35         };
36
37         gpio-keys {
38                 compatible = "gpio-keys";
39
40                 volume-up {
41                         label = "Volume Up";
42                         gpios = <&gpio1 4 0>;
43                         linux,code = <115>; /* KEY_VOLUMEUP */
44                 };
45
46                 volume-down {
47                         label = "Volume Down";
48                         gpios = <&gpio1 5 0>;
49                         linux,code = <114>; /* KEY_VOLUMEDOWN */
50                 };
51         };
52 };
53
54 &uart1 {
55         pinctrl-names = "default";
56         pinctrl-0 = <&pinctrl_uart1_1>;
57         status = "okay";
58 };
59
60 &iomuxc {
61         pinctrl-names = "default";
62         pinctrl-0 = <&pinctrl_hog>;
63
64         hog {
65                 pinctrl_hog: hoggrp {
66                         fsl,pins = <
67                                 1004 0x80000000 /* MX6Q_PAD_GPIO_4__GPIO_1_4 */
68                                 1012 0x80000000 /* MX6Q_PAD_GPIO_5__GPIO_1_5 */
69                                 1402 0x80000000 /* MX6Q_PAD_NANDF_D0__GPIO_2_0 */
70                                 1410 0x80000000 /* MX6Q_PAD_NANDF_D1__GPIO_2_1 */
71                                 1418 0x80000000 /* MX6Q_PAD_NANDF_D2__GPIO_2_2 */
72                                 1426 0x80000000 /* MX6Q_PAD_NANDF_D3__GPIO_2_3 */
73                         >;
74                 };
75         };
76 };
77
78 &usbotg {
79         vbus-supply = <&reg_usb_otg_vbus>;
80         pinctrl-names = "default";
81         pinctrl-0 = <&pinctrl_usbotg_2>;
82         disable-over-current;
83         status = "okay";
84 };
85
86 &usbh1 {
87         status = "okay";
88 };
89
90 &fec {
91         pinctrl-names = "default";
92         pinctrl-0 = <&pinctrl_enet_1>;
93         phy-mode = "rgmii";
94         status = "okay";
95 };
96
97 &usdhc2 {
98         pinctrl-names = "default";
99         pinctrl-0 = <&pinctrl_usdhc2_1>;
100         cd-gpios = <&gpio2 2 0>;
101         wp-gpios = <&gpio2 3 0>;
102         status = "okay";
103 };
104
105 &usdhc3 {
106         pinctrl-names = "default";
107         pinctrl-0 = <&pinctrl_usdhc3_1>;
108         cd-gpios = <&gpio2 0 0>;
109         wp-gpios = <&gpio2 1 0>;
110         status = "okay";
111 };