Loading...
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";
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 };
191};
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>;
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 };
213 };
214};
215
216/* Display */
217&lcdc {
218 status = "okay";
219};
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * am335x-sbc-t335.dts - Device Tree file for Compulab SBC-T335
4 *
5 * Copyright (C) 2014 - 2015 CompuLab Ltd. - http://www.compulab.co.il/
6 */
7
8#include "am335x-cm-t335.dts"
9
10/ {
11 model = "CompuLab CM-T335 on SB-T335";
12 compatible = "compulab,sbc-t335", "compulab,cm-t335", "ti,am33xx";
13
14 /* DRM display driver */
15 panel {
16 compatible = "ti,tilcdc,panel";
17 status = "okay";
18 pinctrl-names = "default", "sleep";
19 pinctrl-0 = <&lcd_pins_default>;
20 pinctrl-1 = <&lcd_pins_sleep>;
21
22 panel-info {
23 ac-bias = <255>;
24 ac-bias-intrpt = <0>;
25 dma-burst-sz = <16>;
26 bpp = <32>;
27 fdd = <0x80>;
28 sync-edge = <0>;
29 sync-ctrl = <1>;
30 raster-order = <0>;
31 fifo-th = <0>;
32 };
33 display-timings {
34 /* Timing selection performed by U-Boot */
35 timing0: lcd {/* 800x480p62 */
36 clock-frequency = <30000000>;
37 hactive = <800>;
38 vactive = <480>;
39 hfront-porch = <39>;
40 hback-porch = <39>;
41 hsync-len = <47>;
42 vback-porch = <29>;
43 vfront-porch = <13>;
44 vsync-len = <2>;
45 hsync-active = <1>;
46 vsync-active = <1>;
47 };
48 timing1: dvi { /* 1024x768p60 */
49 clock-frequency = <65000000>;
50 hactive = <1024>;
51 hfront-porch = <24>;
52 hback-porch = <160>;
53 hsync-len = <136>;
54 vactive = <768>;
55 vfront-porch = <3>;
56 vback-porch = <29>;
57 vsync-len = <6>;
58 hsync-active = <0>;
59 vsync-active = <0>;
60 };
61 };
62 };
63};
64
65&am33xx_pinmux {
66 /* Display */
67 lcd_pins_default: lcd_pins_default {
68 pinctrl-single,pins = <
69 /* gpmc_ad8.lcd_data23 */
70 AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_OUTPUT, MUX_MODE1)
71 /* gpmc_ad9.lcd_data22 */
72 AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_OUTPUT, MUX_MODE1)
73 /* gpmc_ad10.lcd_data21 */
74 AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_OUTPUT, MUX_MODE1)
75 /* gpmc_ad11.lcd_data20 */
76 AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_OUTPUT, MUX_MODE1)
77 /* gpmc_ad12.lcd_data19 */
78 AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_OUTPUT, MUX_MODE1)
79 /* gpmc_ad13.lcd_data18 */
80 AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_OUTPUT, MUX_MODE1)
81 /* gpmc_ad14.lcd_data17 */
82 AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_OUTPUT, MUX_MODE1)
83 /* gpmc_ad15.lcd_data16 */
84 AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_OUTPUT, MUX_MODE1)
85 AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PIN_OUTPUT, MUX_MODE0)
86 AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PIN_OUTPUT, MUX_MODE0)
87 AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PIN_OUTPUT, MUX_MODE0)
88 AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PIN_OUTPUT, MUX_MODE0)
89 AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PIN_OUTPUT, MUX_MODE0)
90 AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PIN_OUTPUT, MUX_MODE0)
91 AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PIN_OUTPUT, MUX_MODE0)
92 AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PIN_OUTPUT, MUX_MODE0)
93 AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PIN_OUTPUT, MUX_MODE0)
94 AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PIN_OUTPUT, MUX_MODE0)
95 AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PIN_OUTPUT, MUX_MODE0)
96 AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PIN_OUTPUT, MUX_MODE0)
97 AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PIN_OUTPUT, MUX_MODE0)
98 AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PIN_OUTPUT, MUX_MODE0)
99 AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PIN_OUTPUT, MUX_MODE0)
100 AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PIN_OUTPUT, MUX_MODE0)
101 AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_OUTPUT, MUX_MODE0)
102 AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_OUTPUT, MUX_MODE0)
103 AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_OUTPUT, MUX_MODE0)
104 AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_OUTPUT, MUX_MODE0)
105 >;
106 };
107
108 lcd_pins_sleep: lcd_pins_sleep {
109 pinctrl-single,pins = <
110 /* gpmc_ad8.lcd_data23 */
111 AM33XX_PADCONF(AM335X_PIN_GPMC_AD8, PIN_INPUT_PULLDOWN, MUX_MODE7)
112 /* gpmc_ad9.lcd_data22 */
113 AM33XX_PADCONF(AM335X_PIN_GPMC_AD9, PIN_INPUT_PULLDOWN, MUX_MODE7)
114 /* gpmc_ad10.lcd_data21 */
115 AM33XX_PADCONF(AM335X_PIN_GPMC_AD10, PIN_INPUT_PULLDOWN, MUX_MODE7)
116 /* gpmc_ad11.lcd_data20 */
117 AM33XX_PADCONF(AM335X_PIN_GPMC_AD11, PIN_INPUT_PULLDOWN, MUX_MODE7)
118 /* gpmc_ad12.lcd_data19 */
119 AM33XX_PADCONF(AM335X_PIN_GPMC_AD12, PIN_INPUT_PULLDOWN, MUX_MODE7)
120 /* gpmc_ad13.lcd_data18 */
121 AM33XX_PADCONF(AM335X_PIN_GPMC_AD13, PIN_INPUT_PULLDOWN, MUX_MODE7)
122 /* gpmc_ad14.lcd_data17 */
123 AM33XX_PADCONF(AM335X_PIN_GPMC_AD14, PIN_INPUT_PULLDOWN, MUX_MODE7)
124 /* gpmc_ad15.lcd_data16 */
125 AM33XX_PADCONF(AM335X_PIN_GPMC_AD15, PIN_INPUT_PULLDOWN, MUX_MODE7)
126 AM33XX_PADCONF(AM335X_PIN_LCD_DATA0, PULL_DISABLE, MUX_MODE7)
127 AM33XX_PADCONF(AM335X_PIN_LCD_DATA1, PULL_DISABLE, MUX_MODE7)
128 AM33XX_PADCONF(AM335X_PIN_LCD_DATA2, PULL_DISABLE, MUX_MODE7)
129 AM33XX_PADCONF(AM335X_PIN_LCD_DATA3, PULL_DISABLE, MUX_MODE7)
130 AM33XX_PADCONF(AM335X_PIN_LCD_DATA4, PULL_DISABLE, MUX_MODE7)
131 AM33XX_PADCONF(AM335X_PIN_LCD_DATA5, PULL_DISABLE, MUX_MODE7)
132 AM33XX_PADCONF(AM335X_PIN_LCD_DATA6, PULL_DISABLE, MUX_MODE7)
133 AM33XX_PADCONF(AM335X_PIN_LCD_DATA7, PULL_DISABLE, MUX_MODE7)
134 AM33XX_PADCONF(AM335X_PIN_LCD_DATA8, PULL_DISABLE, MUX_MODE7)
135 AM33XX_PADCONF(AM335X_PIN_LCD_DATA9, PULL_DISABLE, MUX_MODE7)
136 AM33XX_PADCONF(AM335X_PIN_LCD_DATA10, PULL_DISABLE, MUX_MODE7)
137 AM33XX_PADCONF(AM335X_PIN_LCD_DATA11, PULL_DISABLE, MUX_MODE7)
138 AM33XX_PADCONF(AM335X_PIN_LCD_DATA12, PULL_DISABLE, MUX_MODE7)
139 AM33XX_PADCONF(AM335X_PIN_LCD_DATA13, PULL_DISABLE, MUX_MODE7)
140 AM33XX_PADCONF(AM335X_PIN_LCD_DATA14, PULL_DISABLE, MUX_MODE7)
141 AM33XX_PADCONF(AM335X_PIN_LCD_DATA15, PULL_DISABLE, MUX_MODE7)
142 AM33XX_PADCONF(AM335X_PIN_LCD_VSYNC, PIN_INPUT_PULLDOWN, MUX_MODE7)
143 AM33XX_PADCONF(AM335X_PIN_LCD_HSYNC, PIN_INPUT_PULLDOWN, MUX_MODE7)
144 AM33XX_PADCONF(AM335X_PIN_LCD_PCLK, PIN_INPUT_PULLDOWN, MUX_MODE7)
145 AM33XX_PADCONF(AM335X_PIN_LCD_AC_BIAS_EN, PIN_INPUT_PULLDOWN, MUX_MODE7)
146 >;
147 };
148};
149
150&i2c0 {
151 /* GPIO extender */
152 gpio_ext: pca9555@26 {
153 compatible = "nxp,pca9555";
154 pinctrl-names = "default";
155 gpio-controller;
156 #gpio-cells = <2>;
157 reg = <0x26>;
158 dvi-ena-hog {
159 gpio-hog;
160 gpios = <13 GPIO_ACTIVE_HIGH>;
161 output-high;
162 line-name = "dvi-enable";
163 };
164 lcd-ena-hog {
165 gpio-hog;
166 gpios = <11 GPIO_ACTIVE_HIGH>;
167 output-high;
168 line-name = "lcd-enable";
169 };
170 };
171};
172
173/* Display */
174&lcdc {
175 status = "okay";
176};