]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/arm/boot/dts/am335x-sbc-t335.dts
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm
[mirror_ubuntu-bionic-kernel.git] / arch / arm / boot / dts / am335x-sbc-t335.dts
CommitLineData
c6135a6f
UM
1/*
2 * am335x-sbc-t335.dts - Device Tree file for Compulab SBC-T335
3 *
4 * Copyright (C) 2014 - 2015 CompuLab Ltd. - http://www.compulab.co.il/
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 */
10
11#include "am335x-cm-t335.dts"
12
13/ {
14 model = "CompuLab CM-T335 on SB-T335";
15 compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
3089e40e
UM
16
17 /* DRM display driver */
18 panel {
19 compatible = "ti,tilcdc,panel";
20 status = "okay";
21 pinctrl-names = "default", "sleep";
22 pinctrl-0 = <&lcd_pins_default>;
23 pinctrl-1 = <&lcd_pins_sleep>;
24
25 panel-info {
26 ac-bias = <255>;
27 ac-bias-intrpt = <0>;
28 dma-burst-sz = <16>;
29 bpp = <32>;
30 fdd = <0x80>;
31 sync-edge = <0>;
32 sync-ctrl = <1>;
33 raster-order = <0>;
34 fifo-th = <0>;
35 };
36 display-timings {
37 /* Timing selection performed by U-Boot */
38 timing0: lcd {/* 800x480p62 */
39 clock-frequency = <30000000>;
40 hactive = <800>;
41 vactive = <480>;
42 hfront-porch = <39>;
43 hback-porch = <39>;
44 hsync-len = <47>;
45 vback-porch = <29>;
46 vfront-porch = <13>;
47 vsync-len = <2>;
48 hsync-active = <1>;
49 vsync-active = <1>;
50 };
51 timing1: dvi { /* 1024x768p60 */
52 clock-frequency = <65000000>;
53 hactive = <1024>;
54 hfront-porch = <24>;
55 hback-porch = <160>;
56 hsync-len = <136>;
57 vactive = <768>;
58 vfront-porch = <3>;
59 vback-porch = <29>;
60 vsync-len = <6>;
61 hsync-active = <0>;
62 vsync-active = <0>;
63 };
64 };
65 };
66};
67
68&am33xx_pinmux {
69 /* Display */
70 lcd_pins_default: lcd_pins_default {
71 pinctrl-single,pins = <
72 /* gpmc_ad8.lcd_data23 */
73 AM33XX_IOPAD(0x820, PIN_OUTPUT | MUX_MODE1)
74 /* gpmc_ad9.lcd_data22 */
75 AM33XX_IOPAD(0x824, PIN_OUTPUT | MUX_MODE1)
76 /* gpmc_ad10.lcd_data21 */
77 AM33XX_IOPAD(0x828, PIN_OUTPUT | MUX_MODE1)
78 /* gpmc_ad11.lcd_data20 */
79 AM33XX_IOPAD(0x82c, PIN_OUTPUT | MUX_MODE1)
80 /* gpmc_ad12.lcd_data19 */
81 AM33XX_IOPAD(0x830, PIN_OUTPUT | MUX_MODE1)
82 /* gpmc_ad13.lcd_data18 */
83 AM33XX_IOPAD(0x834, PIN_OUTPUT | MUX_MODE1)
84 /* gpmc_ad14.lcd_data17 */
85 AM33XX_IOPAD(0x838, PIN_OUTPUT | MUX_MODE1)
86 /* gpmc_ad15.lcd_data16 */
87 AM33XX_IOPAD(0x83c, PIN_OUTPUT | MUX_MODE1)
88 /* lcd_data0.lcd_data0 */
89 AM33XX_IOPAD(0x8a0, PIN_OUTPUT | MUX_MODE0)
90 /* lcd_data1.lcd_data1 */
91 AM33XX_IOPAD(0x8a4, PIN_OUTPUT | MUX_MODE0)
92 /* lcd_data2.lcd_data2 */
93 AM33XX_IOPAD(0x8a8, PIN_OUTPUT | MUX_MODE0)
94 /* lcd_data3.lcd_data3 */
95 AM33XX_IOPAD(0x8ac, PIN_OUTPUT | MUX_MODE0)
96 /* lcd_data4.lcd_data4 */
97 AM33XX_IOPAD(0x8b0, PIN_OUTPUT | MUX_MODE0)
98 /* lcd_data5.lcd_data5 */
99 AM33XX_IOPAD(0x8b4, PIN_OUTPUT | MUX_MODE0)
100 /* lcd_data6.lcd_data6 */
101 AM33XX_IOPAD(0x8b8, PIN_OUTPUT | MUX_MODE0)
102 /* lcd_data7.lcd_data7 */
103 AM33XX_IOPAD(0x8bc, PIN_OUTPUT | MUX_MODE0)
104 /* lcd_data8.lcd_data8 */
105 AM33XX_IOPAD(0x8c0, PIN_OUTPUT | MUX_MODE0)
106 /* lcd_data9.lcd_data9 */
107 AM33XX_IOPAD(0x8c4, PIN_OUTPUT | MUX_MODE0)
108 /* lcd_data10.lcd_data10 */
109 AM33XX_IOPAD(0x8c8, PIN_OUTPUT | MUX_MODE0)
110 /* lcd_data11.lcd_data11 */
111 AM33XX_IOPAD(0x8cc, PIN_OUTPUT | MUX_MODE0)
112 /* lcd_data12.lcd_data12 */
113 AM33XX_IOPAD(0x8d0, PIN_OUTPUT | MUX_MODE0)
114 /* lcd_data13.lcd_data13 */
115 AM33XX_IOPAD(0x8d4, PIN_OUTPUT | MUX_MODE0)
116 /* lcd_data14.lcd_data14 */
117 AM33XX_IOPAD(0x8d8, PIN_OUTPUT | MUX_MODE0)
118 /* lcd_data15.lcd_data15 */
119 AM33XX_IOPAD(0x8dc, PIN_OUTPUT | MUX_MODE0)
120 /* lcd_vsync.lcd_vsync */
121 AM33XX_IOPAD(0x8e0, PIN_OUTPUT | MUX_MODE0)
122 /* lcd_hsync.lcd_hsync */
123 AM33XX_IOPAD(0x8e4, PIN_OUTPUT | MUX_MODE0)
124 /* lcd_pclk.lcd_pclk */
125 AM33XX_IOPAD(0x8e8, PIN_OUTPUT | MUX_MODE0)
126 /* lcd_ac_bias_en.lcd_ac_bias_en */
127 AM33XX_IOPAD(0x8ec, PIN_OUTPUT | MUX_MODE0)
128 >;
129 };
130
131 lcd_pins_sleep: lcd_pins_sleep {
132 pinctrl-single,pins = <
133 /* gpmc_ad8.lcd_data23 */
134 AM33XX_IOPAD(0x820, PIN_INPUT_PULLDOWN | MUX_MODE7)
135 /* gpmc_ad9.lcd_data22 */
136 AM33XX_IOPAD(0x824, PIN_INPUT_PULLDOWN | MUX_MODE7)
137 /* gpmc_ad10.lcd_data21 */
138 AM33XX_IOPAD(0x828, PIN_INPUT_PULLDOWN | MUX_MODE7)
139 /* gpmc_ad11.lcd_data20 */
140 AM33XX_IOPAD(0x82c, PIN_INPUT_PULLDOWN | MUX_MODE7)
141 /* gpmc_ad12.lcd_data19 */
142 AM33XX_IOPAD(0x830, PIN_INPUT_PULLDOWN | MUX_MODE7)
143 /* gpmc_ad13.lcd_data18 */
144 AM33XX_IOPAD(0x834, PIN_INPUT_PULLDOWN | MUX_MODE7)
145 /* gpmc_ad14.lcd_data17 */
146 AM33XX_IOPAD(0x838, PIN_INPUT_PULLDOWN | MUX_MODE7)
147 /* gpmc_ad15.lcd_data16 */
148 AM33XX_IOPAD(0x83c, PIN_INPUT_PULLDOWN | MUX_MODE7)
149 /* lcd_data0.lcd_data0 */
150 AM33XX_IOPAD(0x8a0, PULL_DISABLE | MUX_MODE7)
151 /* lcd_data1.lcd_data1 */
152 AM33XX_IOPAD(0x8a4, PULL_DISABLE | MUX_MODE7)
153 /* lcd_data2.lcd_data2 */
154 AM33XX_IOPAD(0x8a8, PULL_DISABLE | MUX_MODE7)
155 /* lcd_data3.lcd_data3 */
156 AM33XX_IOPAD(0x8ac, PULL_DISABLE | MUX_MODE7)
157 /* lcd_data4.lcd_data4 */
158 AM33XX_IOPAD(0x8b0, PULL_DISABLE | MUX_MODE7)
159 /* lcd_data5.lcd_data5 */
160 AM33XX_IOPAD(0x8b4, PULL_DISABLE | MUX_MODE7)
161 /* lcd_data6.lcd_data6 */
162 AM33XX_IOPAD(0x8b8, PULL_DISABLE | MUX_MODE7)
163 /* lcd_data7.lcd_data7 */
164 AM33XX_IOPAD(0x8bc, PULL_DISABLE | MUX_MODE7)
165 /* lcd_data8.lcd_data8 */
166 AM33XX_IOPAD(0x8c0, PULL_DISABLE | MUX_MODE7)
167 /* lcd_data9.lcd_data9 */
168 AM33XX_IOPAD(0x8c4, PULL_DISABLE | MUX_MODE7)
169 /* lcd_data10.lcd_data10 */
170 AM33XX_IOPAD(0x8c8, PULL_DISABLE | MUX_MODE7)
171 /* lcd_data11.lcd_data11 */
172 AM33XX_IOPAD(0x8cc, PULL_DISABLE | MUX_MODE7)
173 /* lcd_data12.lcd_data12 */
174 AM33XX_IOPAD(0x8d0, PULL_DISABLE | MUX_MODE7)
175 /* lcd_data13.lcd_data13 */
176 AM33XX_IOPAD(0x8d4, PULL_DISABLE | MUX_MODE7)
177 /* lcd_data14.lcd_data14 */
178 AM33XX_IOPAD(0x8d8, PULL_DISABLE | MUX_MODE7)
179 /* lcd_data15.lcd_data15 */
180 AM33XX_IOPAD(0x8dc, PULL_DISABLE | MUX_MODE7)
181 /* lcd_vsync.lcd_vsync */
182 AM33XX_IOPAD(0x8e0, PIN_INPUT_PULLDOWN | MUX_MODE7)
183 /* lcd_hsync.lcd_hsync */
184 AM33XX_IOPAD(0x8e4, PIN_INPUT_PULLDOWN | MUX_MODE7)
185 /* lcd_pclk.lcd_pclk */
186 AM33XX_IOPAD(0x8e8, PIN_INPUT_PULLDOWN | MUX_MODE7)
187 /* lcd_ac_bias_en.lcd_ac_bias_en */
188 AM33XX_IOPAD(0x8ec, PIN_INPUT_PULLDOWN | MUX_MODE7)
189 >;
190 };
c6135a6f 191};
98e5d898
UM
192
193&i2c0 {
194 /* GPIO extender */
195 gpio_ext: pca9555@26 {
196 compatible = "nxp,pca9555";
197 pinctrl-names = "default";
198 gpio-controller;
199 #gpio-cells = <2>;
200 reg = <0x26>;
3089e40e
UM
201 dvi_ena {
202 gpio-hog;
203 gpios = <13 GPIO_ACTIVE_HIGH>;
204 output-high;
205 line-name = "dvi-enable";
206 };
207 lcd_ena {
208 gpio-hog;
209 gpios = <11 GPIO_ACTIVE_HIGH>;
210 output-high;
211 line-name = "lcd-enable";
212 };
98e5d898
UM
213 };
214};
3089e40e
UM
215
216/* Display */
217&lcdc {
218 status = "okay";
219};