1*4882a593Smuzhiyun// SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun/* 3*4882a593Smuzhiyun * Common support for omap3 EVM boards 4*4882a593Smuzhiyun */ 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun#include <dt-bindings/input/input.h> 7*4882a593Smuzhiyun#include "omap-gpmc-smsc911x.dtsi" 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun/ { 10*4882a593Smuzhiyun cpus { 11*4882a593Smuzhiyun cpu@0 { 12*4882a593Smuzhiyun cpu0-supply = <&vcc>; 13*4882a593Smuzhiyun }; 14*4882a593Smuzhiyun }; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun /* HS USB Port 2 Power */ 17*4882a593Smuzhiyun hsusb2_power: hsusb2_power_reg { 18*4882a593Smuzhiyun compatible = "regulator-fixed"; 19*4882a593Smuzhiyun regulator-name = "hsusb2_vbus"; 20*4882a593Smuzhiyun regulator-min-microvolt = <3300000>; 21*4882a593Smuzhiyun regulator-max-microvolt = <3300000>; 22*4882a593Smuzhiyun gpio = <&gpio1 22 GPIO_ACTIVE_HIGH>; /* gpio_22 */ 23*4882a593Smuzhiyun startup-delay-us = <70000>; 24*4882a593Smuzhiyun enable-active-high; 25*4882a593Smuzhiyun }; 26*4882a593Smuzhiyun 27*4882a593Smuzhiyun /* HS USB Host PHY on PORT 2 */ 28*4882a593Smuzhiyun hsusb2_phy: hsusb2_phy { 29*4882a593Smuzhiyun compatible = "usb-nop-xceiv"; 30*4882a593Smuzhiyun reset-gpios = <&gpio1 21 GPIO_ACTIVE_LOW>; /* gpio_21 */ 31*4882a593Smuzhiyun vcc-supply = <&hsusb2_power>; 32*4882a593Smuzhiyun #phy-cells = <0>; 33*4882a593Smuzhiyun }; 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun leds { 36*4882a593Smuzhiyun compatible = "gpio-leds"; 37*4882a593Smuzhiyun ledb { 38*4882a593Smuzhiyun label = "omap3evm::ledb"; 39*4882a593Smuzhiyun gpios = <&twl_gpio 19 GPIO_ACTIVE_HIGH>; /* LEDB */ 40*4882a593Smuzhiyun linux,default-trigger = "default-on"; 41*4882a593Smuzhiyun }; 42*4882a593Smuzhiyun }; 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun wl12xx_vmmc: wl12xx_vmmc { 45*4882a593Smuzhiyun compatible = "regulator-fixed"; 46*4882a593Smuzhiyun regulator-name = "vwl1271"; 47*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 48*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 49*4882a593Smuzhiyun gpio = <&gpio5 22 GPIO_ACTIVE_HIGH>; /* gpio150 */ 50*4882a593Smuzhiyun startup-delay-us = <70000>; 51*4882a593Smuzhiyun enable-active-high; 52*4882a593Smuzhiyun vin-supply = <&vmmc2>; 53*4882a593Smuzhiyun }; 54*4882a593Smuzhiyun}; 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun&i2c1 { 57*4882a593Smuzhiyun clock-frequency = <2600000>; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun twl: twl@48 { 60*4882a593Smuzhiyun reg = <0x48>; 61*4882a593Smuzhiyun interrupts = <7>; /* SYS_NIRQ cascaded to intc */ 62*4882a593Smuzhiyun interrupt-parent = <&intc>; 63*4882a593Smuzhiyun }; 64*4882a593Smuzhiyun}; 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun#include "twl4030.dtsi" 67*4882a593Smuzhiyun#include "twl4030_omap3.dtsi" 68*4882a593Smuzhiyun#include "omap3-panel-sharp-ls037v7dw01.dtsi" 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun&backlight0 { 71*4882a593Smuzhiyun gpios = <&twl_gpio 18 GPIO_ACTIVE_LOW>; 72*4882a593Smuzhiyun}; 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun&twl { 75*4882a593Smuzhiyun twl_power: power { 76*4882a593Smuzhiyun compatible = "ti,twl4030-power-omap3-evm", "ti,twl4030-power-idle"; 77*4882a593Smuzhiyun ti,use_poweroff; 78*4882a593Smuzhiyun }; 79*4882a593Smuzhiyun}; 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun&i2c2 { 82*4882a593Smuzhiyun clock-frequency = <400000>; 83*4882a593Smuzhiyun}; 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun&i2c3 { 86*4882a593Smuzhiyun clock-frequency = <400000>; 87*4882a593Smuzhiyun 88*4882a593Smuzhiyun /* 89*4882a593Smuzhiyun * TVP5146 Video decoder-in for analog input support. 90*4882a593Smuzhiyun */ 91*4882a593Smuzhiyun tvp5146@5c { 92*4882a593Smuzhiyun compatible = "ti,tvp5146m2"; 93*4882a593Smuzhiyun reg = <0x5c>; 94*4882a593Smuzhiyun }; 95*4882a593Smuzhiyun}; 96*4882a593Smuzhiyun 97*4882a593Smuzhiyun&lcd_3v3 { 98*4882a593Smuzhiyun gpio = <&gpio5 25 GPIO_ACTIVE_LOW>; /* gpio153 */ 99*4882a593Smuzhiyun}; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun&lcd0 { 102*4882a593Smuzhiyun enable-gpios = <&gpio5 24 GPIO_ACTIVE_HIGH>; /* gpio152, lcd INI */ 103*4882a593Smuzhiyun reset-gpios = <&gpio5 27 GPIO_ACTIVE_HIGH>; /* gpio155, lcd RESB */ 104*4882a593Smuzhiyun mode-gpios = <&gpio5 26 GPIO_ACTIVE_HIGH /* gpio154, lcd MO */ 105*4882a593Smuzhiyun &gpio1 2 GPIO_ACTIVE_HIGH /* gpio2, lcd LR */ 106*4882a593Smuzhiyun &gpio1 3 GPIO_ACTIVE_HIGH>; /* gpio3, lcd UD */ 107*4882a593Smuzhiyun}; 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun&mcspi1 { 110*4882a593Smuzhiyun tsc2046@0 { 111*4882a593Smuzhiyun interrupt-parent = <&gpio6>; 112*4882a593Smuzhiyun interrupts = <15 0>; /* gpio175 */ 113*4882a593Smuzhiyun pendown-gpio = <&gpio6 15 GPIO_ACTIVE_HIGH>; 114*4882a593Smuzhiyun }; 115*4882a593Smuzhiyun}; 116*4882a593Smuzhiyun 117*4882a593Smuzhiyun&mmc1 { 118*4882a593Smuzhiyun interrupts-extended = <&intc 83 &omap3_pmx_core 0x11a>; 119*4882a593Smuzhiyun vmmc-supply = <&vmmc1>; 120*4882a593Smuzhiyun vqmmc-supply = <&vsim>; 121*4882a593Smuzhiyun bus-width = <8>; 122*4882a593Smuzhiyun}; 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun&mmc2 { 125*4882a593Smuzhiyun interrupts-extended = <&intc 86 &omap3_pmx_core 0x12e>; 126*4882a593Smuzhiyun vmmc-supply = <&wl12xx_vmmc>; 127*4882a593Smuzhiyun non-removable; 128*4882a593Smuzhiyun bus-width = <4>; 129*4882a593Smuzhiyun cap-power-off-card; 130*4882a593Smuzhiyun 131*4882a593Smuzhiyun #address-cells = <1>; 132*4882a593Smuzhiyun #size-cells = <0>; 133*4882a593Smuzhiyun wlcore: wlcore@2 { 134*4882a593Smuzhiyun compatible = "ti,wl1271"; 135*4882a593Smuzhiyun reg = <2>; 136*4882a593Smuzhiyun /* gpio_149 with uart1_rts pad as wakeirq */ 137*4882a593Smuzhiyun interrupts-extended = <&gpio5 21 IRQ_TYPE_EDGE_RISING>, 138*4882a593Smuzhiyun <&omap3_pmx_core 0x14e>; 139*4882a593Smuzhiyun interrupt-names = "irq", "wakeup"; 140*4882a593Smuzhiyun ref-clock-frequency = <38400000>; 141*4882a593Smuzhiyun }; 142*4882a593Smuzhiyun}; 143*4882a593Smuzhiyun 144*4882a593Smuzhiyun&twl_gpio { 145*4882a593Smuzhiyun ti,use-leds; 146*4882a593Smuzhiyun}; 147*4882a593Smuzhiyun 148*4882a593Smuzhiyun&twl_keypad { 149*4882a593Smuzhiyun linux,keymap = < 150*4882a593Smuzhiyun MATRIX_KEY(2, 2, KEY_1) 151*4882a593Smuzhiyun MATRIX_KEY(1, 1, KEY_2) 152*4882a593Smuzhiyun MATRIX_KEY(0, 0, KEY_3) 153*4882a593Smuzhiyun MATRIX_KEY(3, 2, KEY_4) 154*4882a593Smuzhiyun MATRIX_KEY(2, 1, KEY_5) 155*4882a593Smuzhiyun MATRIX_KEY(1, 0, KEY_6) 156*4882a593Smuzhiyun MATRIX_KEY(1, 3, KEY_7) 157*4882a593Smuzhiyun MATRIX_KEY(3, 1, KEY_8) 158*4882a593Smuzhiyun MATRIX_KEY(2, 0, KEY_9) 159*4882a593Smuzhiyun MATRIX_KEY(2, 3, KEY_KPASTERISK) 160*4882a593Smuzhiyun MATRIX_KEY(0, 2, KEY_0) 161*4882a593Smuzhiyun MATRIX_KEY(3, 0, KEY_KPDOT) 162*4882a593Smuzhiyun /* s4 not wired */ 163*4882a593Smuzhiyun MATRIX_KEY(1, 2, KEY_BACKSPACE) 164*4882a593Smuzhiyun MATRIX_KEY(0, 1, KEY_ENTER) 165*4882a593Smuzhiyun >; 166*4882a593Smuzhiyun}; 167*4882a593Smuzhiyun 168*4882a593Smuzhiyun&usbhshost { 169*4882a593Smuzhiyun port2-mode = "ehci-phy"; 170*4882a593Smuzhiyun}; 171*4882a593Smuzhiyun 172*4882a593Smuzhiyun&usbhsehci { 173*4882a593Smuzhiyun phys = <0 &hsusb2_phy>; 174*4882a593Smuzhiyun}; 175*4882a593Smuzhiyun 176*4882a593Smuzhiyun&usb_otg_hs { 177*4882a593Smuzhiyun interface-type = <0>; 178*4882a593Smuzhiyun usb-phy = <&usb2_phy>; 179*4882a593Smuzhiyun phys = <&usb2_phy>; 180*4882a593Smuzhiyun phy-names = "usb2-phy"; 181*4882a593Smuzhiyun mode = <3>; 182*4882a593Smuzhiyun power = <50>; 183*4882a593Smuzhiyun}; 184*4882a593Smuzhiyun 185*4882a593Smuzhiyun&gpmc { 186*4882a593Smuzhiyun ethernet@gpmc { 187*4882a593Smuzhiyun interrupt-parent = <&gpio6>; 188*4882a593Smuzhiyun interrupts = <16 8>; 189*4882a593Smuzhiyun reg = <5 0 0xff>; 190*4882a593Smuzhiyun }; 191*4882a593Smuzhiyun}; 192*4882a593Smuzhiyun 193*4882a593Smuzhiyun&vaux2 { 194*4882a593Smuzhiyun regulator-name = "usb_1v8"; 195*4882a593Smuzhiyun regulator-min-microvolt = <1800000>; 196*4882a593Smuzhiyun regulator-max-microvolt = <1800000>; 197*4882a593Smuzhiyun regulator-always-on; 198*4882a593Smuzhiyun}; 199