1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Author: Anil Kumar <anilk4.v@gmail.com> 4724ba675SRob Herring */ 5724ba675SRob Herring 6724ba675SRob Herring#include <dt-bindings/input/input.h> 7724ba675SRob Herring 8724ba675SRob Herring#include "omap34xx.dtsi" 9724ba675SRob Herring/ { 10724ba675SRob Herring memory@80000000 { 11724ba675SRob Herring device_type = "memory"; 12724ba675SRob Herring reg = <0x80000000 0x10000000>; /* 256 MB */ 13724ba675SRob Herring }; 14724ba675SRob Herring 15724ba675SRob Herring leds { 16724ba675SRob Herring compatible = "gpio-leds"; 17724ba675SRob Herring 18724ba675SRob Herring led-heartbeat { 19724ba675SRob Herring label = "devkit8000::led1"; 20724ba675SRob Herring gpios = <&gpio6 26 GPIO_ACTIVE_HIGH>; /* 186 -> LED1 */ 21724ba675SRob Herring default-state = "on"; 22724ba675SRob Herring linux,default-trigger = "heartbeat"; 23724ba675SRob Herring }; 24724ba675SRob Herring 25724ba675SRob Herring led-mmc { 26724ba675SRob Herring label = "devkit8000::led2"; 27724ba675SRob Herring gpios = <&gpio6 3 GPIO_ACTIVE_HIGH>; /* 163 -> LED2 */ 28724ba675SRob Herring default-state = "on"; 29724ba675SRob Herring linux,default-trigger = "none"; 30724ba675SRob Herring }; 31724ba675SRob Herring 32724ba675SRob Herring led-usr { 33724ba675SRob Herring label = "devkit8000::led3"; 34724ba675SRob Herring gpios = <&gpio6 4 GPIO_ACTIVE_HIGH>; /* 164 -> LED3 */ 35724ba675SRob Herring default-state = "on"; 36724ba675SRob Herring linux,default-trigger = "usr"; 37724ba675SRob Herring }; 38724ba675SRob Herring 39724ba675SRob Herring led-pmu-stat { 40724ba675SRob Herring label = "devkit8000::pmu_stat"; 41724ba675SRob Herring gpios = <&twl_gpio 19 GPIO_ACTIVE_HIGH>; /* LEDB */ 42724ba675SRob Herring }; 43724ba675SRob Herring }; 44724ba675SRob Herring 45724ba675SRob Herring sound { 46724ba675SRob Herring compatible = "ti,omap-twl4030"; 47724ba675SRob Herring ti,model = "devkit8000"; 48724ba675SRob Herring 49724ba675SRob Herring ti,mcbsp = <&mcbsp2>; 50724ba675SRob Herring ti,audio-routing = 51724ba675SRob Herring "Ext Spk", "PREDRIVEL", 52724ba675SRob Herring "Ext Spk", "PREDRIVER", 53724ba675SRob Herring "MAINMIC", "Main Mic", 54724ba675SRob Herring "Main Mic", "Mic Bias 1"; 55724ba675SRob Herring }; 56724ba675SRob Herring 57724ba675SRob Herring gpio_keys { 58724ba675SRob Herring compatible = "gpio-keys"; 59724ba675SRob Herring 60724ba675SRob Herring user { 61724ba675SRob Herring label = "user"; 62724ba675SRob Herring gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>; 63724ba675SRob Herring linux,code = <BTN_EXTRA>; 64724ba675SRob Herring wakeup-source; 65724ba675SRob Herring }; 66724ba675SRob Herring }; 67724ba675SRob Herring 68724ba675SRob Herring tfp410: encoder0 { 69724ba675SRob Herring compatible = "ti,tfp410"; 70724ba675SRob Herring powerdown-gpios = <&twl_gpio 7 GPIO_ACTIVE_LOW>; 71724ba675SRob Herring 72724ba675SRob Herring ports { 73724ba675SRob Herring #address-cells = <1>; 74724ba675SRob Herring #size-cells = <0>; 75724ba675SRob Herring 76724ba675SRob Herring port@0 { 77724ba675SRob Herring reg = <0>; 78724ba675SRob Herring 79724ba675SRob Herring tfp410_in: endpoint { 80724ba675SRob Herring remote-endpoint = <&dpi_dvi_out>; 81724ba675SRob Herring }; 82724ba675SRob Herring }; 83724ba675SRob Herring 84724ba675SRob Herring port@1 { 85724ba675SRob Herring reg = <1>; 86724ba675SRob Herring 87724ba675SRob Herring tfp410_out: endpoint { 88724ba675SRob Herring remote-endpoint = <&dvi_connector_in>; 89724ba675SRob Herring }; 90724ba675SRob Herring }; 91724ba675SRob Herring }; 92724ba675SRob Herring }; 93724ba675SRob Herring 94724ba675SRob Herring dvi0: connector0 { 95724ba675SRob Herring compatible = "dvi-connector"; 96724ba675SRob Herring label = "dvi"; 97724ba675SRob Herring 98724ba675SRob Herring digital; 99724ba675SRob Herring 100724ba675SRob Herring ddc-i2c-bus = <&i2c2>; 101724ba675SRob Herring 102724ba675SRob Herring port { 103724ba675SRob Herring dvi_connector_in: endpoint { 104724ba675SRob Herring remote-endpoint = <&tfp410_out>; 105724ba675SRob Herring }; 106724ba675SRob Herring }; 107724ba675SRob Herring }; 108724ba675SRob Herring 109724ba675SRob Herring tv0: connector1 { 110724ba675SRob Herring compatible = "svideo-connector"; 111724ba675SRob Herring label = "tv"; 112724ba675SRob Herring 113724ba675SRob Herring port { 114724ba675SRob Herring tv_connector_in: endpoint { 115724ba675SRob Herring remote-endpoint = <&venc_out>; 116724ba675SRob Herring }; 117724ba675SRob Herring }; 118724ba675SRob Herring }; 119724ba675SRob Herring}; 120724ba675SRob Herring 121724ba675SRob Herring&i2c1 { 122724ba675SRob Herring clock-frequency = <2600000>; 123724ba675SRob Herring 124724ba675SRob Herring twl: twl@48 { 125724ba675SRob Herring reg = <0x48>; 126724ba675SRob Herring interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 127724ba675SRob Herring 128724ba675SRob Herring twl_audio: audio { 129724ba675SRob Herring compatible = "ti,twl4030-audio"; 130724ba675SRob Herring codec { 131724ba675SRob Herring }; 132724ba675SRob Herring }; 133724ba675SRob Herring }; 134724ba675SRob Herring}; 135724ba675SRob Herring 136724ba675SRob Herring&i2c2 { 137724ba675SRob Herring clock-frequency = <400000>; 138724ba675SRob Herring}; 139724ba675SRob Herring 140724ba675SRob Herring&i2c3 { 141724ba675SRob Herring status = "disabled"; 142724ba675SRob Herring}; 143724ba675SRob Herring 144724ba675SRob Herring#include "twl4030.dtsi" 145724ba675SRob Herring#include "twl4030_omap3.dtsi" 146724ba675SRob Herring 147724ba675SRob Herring&mmc1 { 148724ba675SRob Herring vmmc-supply = <&vmmc1>; 149724ba675SRob Herring vqmmc-supply = <&vsim>; 150724ba675SRob Herring bus-width = <8>; 151724ba675SRob Herring}; 152724ba675SRob Herring 153724ba675SRob Herring&mmc2 { 154724ba675SRob Herring status = "disabled"; 155724ba675SRob Herring}; 156724ba675SRob Herring 157724ba675SRob Herring&mmc3 { 158724ba675SRob Herring status = "disabled"; 159724ba675SRob Herring}; 160724ba675SRob Herring 161724ba675SRob Herring/* Unusable as clockevent because if unreliable oscillator, allow to idle */ 162724ba675SRob Herring&timer1_target { 163724ba675SRob Herring /delete-property/ti,no-reset-on-init; 164724ba675SRob Herring /delete-property/ti,no-idle; 165724ba675SRob Herring timer@0 { 166724ba675SRob Herring /delete-property/ti,timer-alwon; 167724ba675SRob Herring }; 168724ba675SRob Herring}; 169724ba675SRob Herring 170724ba675SRob Herring/* Preferred timer for clockevent */ 171724ba675SRob Herring&timer12_target { 172724ba675SRob Herring ti,no-reset-on-init; 173724ba675SRob Herring ti,no-idle; 174724ba675SRob Herring timer@0 { 175724ba675SRob Herring /* Always clocked by secure_32k_fck */ 176724ba675SRob Herring }; 177724ba675SRob Herring}; 178724ba675SRob Herring 179724ba675SRob Herring&twl_gpio { 180724ba675SRob Herring ti,use-leds; 181724ba675SRob Herring /* 182724ba675SRob Herring * pulldowns: 183724ba675SRob Herring * BIT(1), BIT(2), BIT(6), BIT(7), BIT(8), BIT(13) 184724ba675SRob Herring * BIT(15), BIT(16), BIT(17) 185724ba675SRob Herring */ 186724ba675SRob Herring ti,pulldowns = <0x03a1c6>; 187724ba675SRob Herring}; 188724ba675SRob Herring 189724ba675SRob Herring&twl_keypad { 190724ba675SRob Herring linux,keymap = <MATRIX_KEY(0, 0, KEY_1) 191724ba675SRob Herring MATRIX_KEY(1, 0, KEY_2) 192724ba675SRob Herring MATRIX_KEY(2, 0, KEY_3) 193724ba675SRob Herring MATRIX_KEY(0, 1, KEY_4) 194724ba675SRob Herring MATRIX_KEY(1, 1, KEY_5) 195724ba675SRob Herring MATRIX_KEY(2, 1, KEY_6) 196724ba675SRob Herring MATRIX_KEY(3, 1, KEY_F5) 197724ba675SRob Herring MATRIX_KEY(0, 2, KEY_7) 198724ba675SRob Herring MATRIX_KEY(1, 2, KEY_8) 199724ba675SRob Herring MATRIX_KEY(2, 2, KEY_9) 200724ba675SRob Herring MATRIX_KEY(3, 2, KEY_F6) 201724ba675SRob Herring MATRIX_KEY(0, 3, KEY_F7) 202724ba675SRob Herring MATRIX_KEY(1, 3, KEY_0) 203724ba675SRob Herring MATRIX_KEY(2, 3, KEY_F8) 204724ba675SRob Herring MATRIX_KEY(4, 5, KEY_RESERVED) 205724ba675SRob Herring MATRIX_KEY(4, 4, KEY_VOLUMEUP) 206724ba675SRob Herring MATRIX_KEY(5, 5, KEY_VOLUMEDOWN) 207724ba675SRob Herring >; 208724ba675SRob Herring}; 209724ba675SRob Herring 210724ba675SRob Herring&wdt2 { 211724ba675SRob Herring status = "disabled"; 212724ba675SRob Herring}; 213724ba675SRob Herring 214724ba675SRob Herring&mcbsp2 { 215724ba675SRob Herring status = "okay"; 216724ba675SRob Herring}; 217724ba675SRob Herring 218724ba675SRob Herring&gpmc { 219724ba675SRob Herring ranges = <0 0 0x30000000 0x1000000 /* CS0: 16MB for NAND */ 220724ba675SRob Herring 6 0 0x2c000000 0x1000000>; /* CS6: 16MB for DM9000 */ 221724ba675SRob Herring 222724ba675SRob Herring nand@0,0 { 223724ba675SRob Herring compatible = "ti,omap2-nand"; 224724ba675SRob Herring reg = <0 0 4>; /* CS0, offset 0, IO size 4 */ 225724ba675SRob Herring interrupt-parent = <&gpmc>; 226724ba675SRob Herring interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */ 227724ba675SRob Herring <1 IRQ_TYPE_NONE>; /* termcount */ 228724ba675SRob Herring nand-bus-width = <16>; 229724ba675SRob Herring gpmc,device-width = <2>; 230724ba675SRob Herring ti,nand-ecc-opt = "sw"; 231724ba675SRob Herring 232724ba675SRob Herring gpmc,sync-clk-ps = <0>; 233724ba675SRob Herring gpmc,cs-on-ns = <0>; 234724ba675SRob Herring gpmc,cs-rd-off-ns = <44>; 235724ba675SRob Herring gpmc,cs-wr-off-ns = <44>; 236724ba675SRob Herring gpmc,adv-on-ns = <6>; 237724ba675SRob Herring gpmc,adv-rd-off-ns = <34>; 238724ba675SRob Herring gpmc,adv-wr-off-ns = <44>; 239724ba675SRob Herring gpmc,we-off-ns = <40>; 240724ba675SRob Herring gpmc,oe-off-ns = <54>; 241724ba675SRob Herring gpmc,access-ns = <64>; 242724ba675SRob Herring gpmc,rd-cycle-ns = <82>; 243724ba675SRob Herring gpmc,wr-cycle-ns = <82>; 244724ba675SRob Herring gpmc,wr-access-ns = <40>; 245724ba675SRob Herring gpmc,wr-data-mux-bus-ns = <0>; 246724ba675SRob Herring 247724ba675SRob Herring #address-cells = <1>; 248724ba675SRob Herring #size-cells = <1>; 249724ba675SRob Herring 250724ba675SRob Herring x-loader@0 { 251724ba675SRob Herring label = "X-Loader"; 252724ba675SRob Herring reg = <0 0x80000>; 253724ba675SRob Herring }; 254724ba675SRob Herring 255724ba675SRob Herring bootloaders@80000 { 256724ba675SRob Herring label = "U-Boot"; 257724ba675SRob Herring reg = <0x80000 0x1e0000>; 258724ba675SRob Herring }; 259724ba675SRob Herring 260724ba675SRob Herring bootloaders_env@260000 { 261724ba675SRob Herring label = "U-Boot Env"; 262724ba675SRob Herring reg = <0x260000 0x20000>; 263724ba675SRob Herring }; 264724ba675SRob Herring 265724ba675SRob Herring kernel@280000 { 266724ba675SRob Herring label = "Kernel"; 267724ba675SRob Herring reg = <0x280000 0x400000>; 268724ba675SRob Herring }; 269724ba675SRob Herring 270724ba675SRob Herring filesystem@680000 { 271724ba675SRob Herring label = "File System"; 272724ba675SRob Herring reg = <0x680000 0xf980000>; 273724ba675SRob Herring }; 274724ba675SRob Herring }; 275724ba675SRob Herring 276724ba675SRob Herring ethernet@6,0 { 277724ba675SRob Herring compatible = "davicom,dm9000"; 278*33d6227fSKrzysztof Kozlowski reg = <6 0x000 2>, 279*33d6227fSKrzysztof Kozlowski <6 0x400 2>; /* CS6, offset 0 and 0x400, IO size 2 */ 280724ba675SRob Herring bank-width = <2>; 281724ba675SRob Herring interrupt-parent = <&gpio1>; 282724ba675SRob Herring interrupts = <25 IRQ_TYPE_LEVEL_LOW>; 283724ba675SRob Herring davicom,no-eeprom; 284724ba675SRob Herring 285724ba675SRob Herring gpmc,mux-add-data = <0>; 286724ba675SRob Herring gpmc,device-width = <1>; 287724ba675SRob Herring gpmc,wait-pin = <0>; 288724ba675SRob Herring gpmc,cycle2cycle-samecsen; 289724ba675SRob Herring gpmc,cycle2cycle-diffcsen; 290724ba675SRob Herring 291724ba675SRob Herring gpmc,cs-on-ns = <6>; 292724ba675SRob Herring gpmc,cs-rd-off-ns = <180>; 293724ba675SRob Herring gpmc,cs-wr-off-ns = <180>; 294724ba675SRob Herring gpmc,adv-on-ns = <0>; 295724ba675SRob Herring gpmc,adv-rd-off-ns = <18>; 296724ba675SRob Herring gpmc,adv-wr-off-ns = <48>; 297724ba675SRob Herring gpmc,oe-on-ns = <54>; 298724ba675SRob Herring gpmc,oe-off-ns = <168>; 299724ba675SRob Herring gpmc,we-on-ns = <54>; 300724ba675SRob Herring gpmc,we-off-ns = <168>; 301724ba675SRob Herring gpmc,rd-cycle-ns = <186>; 302724ba675SRob Herring gpmc,wr-cycle-ns = <186>; 303724ba675SRob Herring gpmc,access-ns = <144>; 304724ba675SRob Herring gpmc,page-burst-access-ns = <24>; 305724ba675SRob Herring gpmc,bus-turnaround-ns = <90>; 306724ba675SRob Herring gpmc,cycle2cycle-delay-ns = <90>; 307724ba675SRob Herring gpmc,wait-monitoring-ns = <0>; 308724ba675SRob Herring gpmc,clk-activation-ns = <0>; 309724ba675SRob Herring gpmc,wr-data-mux-bus-ns = <0>; 310724ba675SRob Herring gpmc,wr-access-ns = <0>; 311724ba675SRob Herring }; 312724ba675SRob Herring}; 313724ba675SRob Herring 314724ba675SRob Herring&omap3_pmx_core { 315724ba675SRob Herring dss_dpi_pins: dss-dpi-pins { 316724ba675SRob Herring pinctrl-single,pins = < 317724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0) /* dss_pclk.dss_pclk */ 318724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0) /* dss_hsync.dss_hsync */ 319724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0) /* dss_vsync.dss_vsync */ 320724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0) /* dss_acbias.dss_acbias */ 321724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0) /* dss_data0.dss_data0 */ 322724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0) /* dss_data1.dss_data1 */ 323724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0) /* dss_data2.dss_data2 */ 324724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0) /* dss_data3.dss_data3 */ 325724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0) /* dss_data4.dss_data4 */ 326724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0) /* dss_data5.dss_data5 */ 327724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0) /* dss_data6.dss_data6 */ 328724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0) /* dss_data7.dss_data7 */ 329724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0) /* dss_data8.dss_data8 */ 330724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0) /* dss_data9.dss_data9 */ 331724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0) /* dss_data10.dss_data10 */ 332724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0) /* dss_data11.dss_data11 */ 333724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0) /* dss_data12.dss_data12 */ 334724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0) /* dss_data13.dss_data13 */ 335724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0) /* dss_data14.dss_data14 */ 336724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0) /* dss_data15.dss_data15 */ 337724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0) /* dss_data16.dss_data16 */ 338724ba675SRob Herring OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0) /* dss_data17.dss_data17 */ 339724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0) /* dss_data18.dss_data18 */ 340724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0) /* dss_data19.dss_data19 */ 341724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0) /* dss_data20.dss_data20 */ 342724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0) /* dss_data21.dss_data21 */ 343724ba675SRob Herring OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0) /* dss_data22.dss_data22 */ 344724ba675SRob Herring OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0) /* dss_data23.dss_data23 */ 345724ba675SRob Herring >; 346724ba675SRob Herring }; 347724ba675SRob Herring}; 348724ba675SRob Herring 349724ba675SRob Herring&vpll1 { 350724ba675SRob Herring /* Needed for DSS */ 351724ba675SRob Herring regulator-name = "vdds_dsi"; 352724ba675SRob Herring 353724ba675SRob Herring regulator-min-microvolt = <1800000>; 354724ba675SRob Herring regulator-max-microvolt = <1800000>; 355724ba675SRob Herring}; 356724ba675SRob Herring 357724ba675SRob Herring&dss { 358724ba675SRob Herring status = "okay"; 359724ba675SRob Herring 360724ba675SRob Herring pinctrl-names = "default"; 361724ba675SRob Herring pinctrl-0 = <&dss_dpi_pins>; 362724ba675SRob Herring 363724ba675SRob Herring vdds_dsi-supply = <&vpll1>; 364724ba675SRob Herring vdda_dac-supply = <&vdac>; 365724ba675SRob Herring 366724ba675SRob Herring port { 367724ba675SRob Herring #address-cells = <1>; 368724ba675SRob Herring #size-cells = <0>; 369724ba675SRob Herring dpi_dvi_out: endpoint@0 { 370724ba675SRob Herring reg = <0>; 371724ba675SRob Herring remote-endpoint = <&tfp410_in>; 372724ba675SRob Herring data-lines = <24>; 373724ba675SRob Herring }; 374724ba675SRob Herring 375724ba675SRob Herring endpoint@1 { 376724ba675SRob Herring reg = <1>; 377724ba675SRob Herring }; 378724ba675SRob Herring }; 379724ba675SRob Herring}; 380724ba675SRob Herring 381724ba675SRob Herring&venc { 382724ba675SRob Herring status = "okay"; 383724ba675SRob Herring 384724ba675SRob Herring vdda-supply = <&vdac>; 385724ba675SRob Herring 386724ba675SRob Herring port { 387724ba675SRob Herring venc_out: endpoint { 388724ba675SRob Herring remote-endpoint = <&tv_connector_in>; 389724ba675SRob Herring ti,channels = <2>; 390724ba675SRob Herring }; 391724ba675SRob Herring }; 392724ba675SRob Herring}; 393