Merge branch 'for-linus-4.8' of git://git.kernel.org/pub/scm/linux/kernel/git/mason...
[sfrench/cifs-2.6.git] / arch / arm / boot / dts / am57xx-sbc-am57x.dts
1 /*
2  * Support for CompuLab SBC-AM57x single board computer
3  *
4  * Copyright (C) 2015 CompuLab Ltd. - http://www.compulab.co.il/
5  * Author: Dmitry Lifshitz <lifshitz@compulab.co.il>
6  *
7  * This program is free software; you can redistribute it and/or modify it
8  * under the terms of the GNU General Public License version 2 as published by
9  * the Free Software Foundation.
10  */
11
12 #include "am57xx-cl-som-am57x.dts"
13 #include "compulab-sb-som.dtsi"
14
15 / {
16         model = "CompuLab CL-SOM-AM57x on SB-SOM-AM57x";
17         compatible = "compulab,sbc-am57x", "compulab,cl-som-am57x", "ti,am5728", "ti,dra742", "ti,dra74", "ti,dra7";
18
19         aliases {
20                 display0 = &lcd0;
21                 display1 = &hdmi;
22         };
23 };
24
25 &dra7_pmx_core {
26         uart3_pins_default: uart3_pins_default {
27                 pinctrl-single,pins = <
28                         DRA7XX_CORE_IOPAD(0x3648, PIN_INPUT_SLEW | MUX_MODE0)   /* uart3_rxd */
29                         DRA7XX_CORE_IOPAD(0x364c, PIN_INPUT_SLEW | MUX_MODE0)   /* uart3_txd */
30                 >;
31         };
32
33         mmc1_pins_default: mmc1_pins_default {
34                 pinctrl-single,pins = <
35                         DRA7XX_CORE_IOPAD(0x3754, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_clk.clk */
36                         DRA7XX_CORE_IOPAD(0x3758, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_cmd.cmd */
37                         DRA7XX_CORE_IOPAD(0x375c, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat0.dat0 */
38                         DRA7XX_CORE_IOPAD(0x3760, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat1.dat1 */
39                         DRA7XX_CORE_IOPAD(0x3764, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat2.dat2 */
40                         DRA7XX_CORE_IOPAD(0x3768, PIN_INPUT_PULLUP | MUX_MODE0) /* mmc1_dat3.dat3 */
41                         DRA7XX_CORE_IOPAD(0x376c, PIN_INPUT | MUX_MODE14)       /* mmc1_sdcd.gpio6_27 */
42                         DRA7XX_CORE_IOPAD(0x377c, PIN_INPUT | MUX_MODE14)       /* mmc1_sdwp.gpio6_28 */
43                 >;
44         };
45
46         usb1_pins: pinmux_usb1_pins {
47                 pinctrl-single,pins = <
48                         DRA7XX_CORE_IOPAD(0x3680, PIN_INPUT_SLEW | MUX_MODE0) /* usb1_drvvbus */
49                 >;
50         };
51
52         i2c5_pins_default: i2c5_pins_default {
53                 pinctrl-single,pins = <
54                         DRA7XX_CORE_IOPAD(0x36b4, PIN_INPUT| MUX_MODE10)        /* mcasp1_axr0.i2c5_sda */
55                         DRA7XX_CORE_IOPAD(0x36b8, PIN_INPUT| MUX_MODE10)        /* mcasp1_axr1.i2c5_scl */
56                 >;
57         };
58
59         lcd_pins_default: lcd_pins_default {
60                 pinctrl-single,pins = <
61                         DRA7XX_CORE_IOPAD(0x3564, PIN_OUTPUT | MUX_MODE14)      /* vin2a_vsync0.gpio4_0 */
62                 >;
63         };
64
65         hdmi_pins: pinmux_hdmi_pins {
66                 pinctrl-single,pins = <
67                         DRA7XX_CORE_IOPAD(0x3808, PIN_INPUT | MUX_MODE1)        /* i2c2_sda.hdmi1_ddc_scl */
68                         DRA7XX_CORE_IOPAD(0x380c, PIN_INPUT | MUX_MODE1)        /* i2c2_scl.hdmi1_ddc_sda */
69                 >;
70         };
71
72         hdmi_conn_pins: pinmux_hdmi_conn_pins {
73                 pinctrl-single,pins = <
74                         DRA7XX_CORE_IOPAD(0x37b8, PIN_INPUT | MUX_MODE14)       /* spi1_cs2.gpio7_12 */
75                 >;
76         };
77 };
78
79 &uart3 {
80         status = "okay";
81         interrupts-extended = <&crossbar_mpu GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>,
82                               <&dra7_pmx_core 0x3f8>;
83
84         pinctrl-names = "default";
85         pinctrl-0 = <&uart3_pins_default>;
86 };
87
88 &mmc1 {
89         status = "okay";
90
91         pinctrl-names = "default";
92         pinctrl-0 = <&mmc1_pins_default>;
93
94         vmmc-supply = <&ldo1_reg>;
95         bus-width = <4>;
96         cd-gpios = <&gpio6 27 GPIO_ACTIVE_LOW>;
97         wp-gpios = <&gpio6 28 GPIO_ACTIVE_HIGH>;
98 };
99
100 &usb1 {
101         pinctrl-names = "default";
102         pinctrl-0 = <&usb1_pins>;
103 };
104
105 &i2c5 {
106         status = "okay";
107         pinctrl-names = "default";
108         pinctrl-0 = <&i2c5_pins_default>;
109         clock-frequency = <400000>;
110
111         eeprom_base: atmel@54 {
112                 compatible = "atmel,24c08";
113                 reg = <0x54>;
114                 pagesize = <16>;
115         };
116
117         pca9555: pca9555@20 {
118                 compatible = "nxp,pca9555";
119                 reg = <0x20>;
120                 gpio-controller;
121                 #gpio-cells = <2>;
122         };
123 };
124
125 &dss {
126         status = "ok";
127
128         vdda_video-supply = <&ldoln_reg>;
129
130         port {
131                 dpi_lcd_out: endpoint {
132                         remote-endpoint = <&lcd_in>;
133                         data-lines = <24>;
134                 };
135         };
136 };
137
138 &lcd0 {
139         pinctrl-names = "default";
140         pinctrl-0 = <&lcd_pins_default>;
141
142         enable-gpios = <&pca9555 14 GPIO_ACTIVE_HIGH
143                         &gpio4 0 GPIO_ACTIVE_HIGH>;
144
145         port {
146                 lcd_in: endpoint {
147                         remote-endpoint = <&dpi_lcd_out>;
148                         data-lines = <24>;
149                 };
150         };
151 };
152
153 &hdmi {
154         status = "ok";
155         vdda-supply = <&ldo4_reg>;
156
157         pinctrl-names = "default";
158         pinctrl-0 = <&hdmi_pins>;
159
160         port {
161                 hdmi_out: endpoint {
162                         remote-endpoint = <&hdmi_connector_in>;
163                         lanes = <1 0 3 2 5 4 7 6>;
164                 };
165         };
166 };
167
168 &hdmi_conn {
169         pinctrl-names = "default";
170         pinctrl-0 = <&hdmi_conn_pins>;
171
172         hpd-gpios = <&gpio7 12 GPIO_ACTIVE_HIGH>;
173
174         port {
175                 hdmi_connector_in: endpoint {
176                         remote-endpoint = <&hdmi_out>;
177                 };
178         };
179 };