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}; 220