1724ba675SRob Herring// SPDX-License-Identifier: GPL-2.0-only 2724ba675SRob Herring/* 3724ba675SRob Herring * Copyright (C) 2023 Andreas Kemnade 4724ba675SRob Herring */ 5724ba675SRob Herring/dts-v1/; 6724ba675SRob Herring 705ee882dSAndreas Kemnade#include <dt-bindings/leds/common.h> 8724ba675SRob Herring#include <dt-bindings/input/input.h> 9724ba675SRob Herring#include "omap4460.dtsi" 10724ba675SRob Herring 11724ba675SRob Herring/ { 12724ba675SRob Herring model = "Epson Moverio BT-200"; 13724ba675SRob Herring compatible = "epson,embt2ws", "ti,omap4460", "ti,omap4"; 14724ba675SRob Herring 15724ba675SRob Herring memory@80000000 { 16724ba675SRob Herring device_type = "memory"; 17724ba675SRob Herring reg = <0x80000000 0x40000000>; /* 1024M */ 18724ba675SRob Herring }; 19724ba675SRob Herring 20*a2c06140SAndreas Kemnade battery: battery { 21*a2c06140SAndreas Kemnade compatible = "simple-battery"; 22*a2c06140SAndreas Kemnade device-chemistry = "lithium-ion"; 23*a2c06140SAndreas Kemnade charge-full-design-microamp-hours = <2720000>; 24*a2c06140SAndreas Kemnade voltage-max-design-microvolt = <4200000>; 25*a2c06140SAndreas Kemnade voltage-min-design-microvolt = <3300000>; 26*a2c06140SAndreas Kemnade 27*a2c06140SAndreas Kemnade constant-charge-voltage-max-microvolt = <4200000>; 28*a2c06140SAndreas Kemnade /* 29*a2c06140SAndreas Kemnade * vendor kernel says max charge 1400000, input limit 900000 30*a2c06140SAndreas Kemnade * and charges only with dcp chargers. So it is unclear what 31*a2c06140SAndreas Kemnade * is really allowed. Play safe for now and restrict things 32*a2c06140SAndreas Kemnade * here. Maybe 900000 is just the limit of the vendor charger? 33*a2c06140SAndreas Kemnade */ 34*a2c06140SAndreas Kemnade constant-charge-current-max-microamp = <900000>; 35*a2c06140SAndreas Kemnade charge-term-current-microamp = <200000>; 36*a2c06140SAndreas Kemnade }; 37*a2c06140SAndreas Kemnade 38724ba675SRob Herring backlight-left { 39724ba675SRob Herring compatible = "pwm-backlight"; 40724ba675SRob Herring pwms = <&twl_pwm 1 7812500>; 4114238514SAndreas Kemnade power-supply = <&lb_v50>; 42724ba675SRob Herring }; 43724ba675SRob Herring 44724ba675SRob Herring backlight-right { 45724ba675SRob Herring compatible = "pwm-backlight"; 46724ba675SRob Herring pwms = <&twl_pwm 0 7812500>; 4714238514SAndreas Kemnade power-supply = <&lb_v50>; 48724ba675SRob Herring }; 49724ba675SRob Herring 50724ba675SRob Herring chosen { 51724ba675SRob Herring stdout-path = &uart3; 52724ba675SRob Herring }; 53724ba675SRob Herring 54724ba675SRob Herring gpio-keys { 55724ba675SRob Herring compatible = "gpio-keys"; 56724ba675SRob Herring pinctrl-names = "default"; 57724ba675SRob Herring pinctrl-0 = <&gpio_keys_pins>; 58724ba675SRob Herring 59724ba675SRob Herring key-lock { 60724ba675SRob Herring label = "Lock"; 61724ba675SRob Herring gpios = <&gpio2 3 GPIO_ACTIVE_LOW>; 62724ba675SRob Herring linux,code = <SW_ROTATE_LOCK>; /* SW_TOUCHPAD_LOCK */ 63724ba675SRob Herring linux,input-type = <EV_SW>; 64724ba675SRob Herring }; 65724ba675SRob Herring }; 66724ba675SRob Herring 6711dcae18SAndreas Kemnade cb_v18: regulator-cb-v18 { 6811dcae18SAndreas Kemnade pinctrl-names = "default"; 6911dcae18SAndreas Kemnade pinctrl-0 = <&cb_v18_pins>; 7011dcae18SAndreas Kemnade compatible = "regulator-fixed"; 7111dcae18SAndreas Kemnade regulator-name = "cb_v18"; 7211dcae18SAndreas Kemnade regulator-min-microvolt = <1800000>; 7311dcae18SAndreas Kemnade regulator-max-microvolt = <1800000>; 7411dcae18SAndreas Kemnade regulator-always-on; 7511dcae18SAndreas Kemnade gpio = <&gpio1 28 GPIO_ACTIVE_HIGH>; 7611dcae18SAndreas Kemnade enable-active-high; 7711dcae18SAndreas Kemnade }; 7811dcae18SAndreas Kemnade 7911dcae18SAndreas Kemnade cb_v33: regulator-cb-v33 { 8011dcae18SAndreas Kemnade pinctrl-names = "default"; 8111dcae18SAndreas Kemnade pinctrl-0 = <&cb_v33_pins>; 8211dcae18SAndreas Kemnade compatible = "regulator-fixed"; 8311dcae18SAndreas Kemnade regulator-name = "cb_v33"; 8411dcae18SAndreas Kemnade regulator-min-microvolt = <3300000>; 8511dcae18SAndreas Kemnade regulator-max-microvolt = <3300000>; 8611dcae18SAndreas Kemnade regulator-always-on; 8711dcae18SAndreas Kemnade gpio = <&gpio6 30 GPIO_ACTIVE_HIGH>; 8811dcae18SAndreas Kemnade enable-active-high; 8911dcae18SAndreas Kemnade }; 9011dcae18SAndreas Kemnade 9111dcae18SAndreas Kemnade regulator-cb-v50 { 9211dcae18SAndreas Kemnade pinctrl-names = "default"; 9311dcae18SAndreas Kemnade pinctrl-0 = <&cb_v50_pins>; 9411dcae18SAndreas Kemnade compatible = "regulator-fixed"; 9511dcae18SAndreas Kemnade regulator-name = "cb_v50"; 9611dcae18SAndreas Kemnade regulator-min-microvolt = <5000000>; 9711dcae18SAndreas Kemnade regulator-max-microvolt = <5000000>; 9811dcae18SAndreas Kemnade regulator-always-on; 9911dcae18SAndreas Kemnade gpio = <&gpio6 31 GPIO_ACTIVE_HIGH>; 10011dcae18SAndreas Kemnade enable-active-high; 10111dcae18SAndreas Kemnade }; 10211dcae18SAndreas Kemnade 10311dcae18SAndreas Kemnade lb_v50: regulator-lb-v50 { 10411dcae18SAndreas Kemnade /* required for many things at the head (probably indirectly) */ 10511dcae18SAndreas Kemnade pinctrl-names = "default"; 10611dcae18SAndreas Kemnade pinctrl-0 = <&lb_v50_pins>; 10711dcae18SAndreas Kemnade compatible = "regulator-fixed"; 10811dcae18SAndreas Kemnade regulator-name = "lb_v50"; 10911dcae18SAndreas Kemnade regulator-min-microvolt = <5000000>; 11011dcae18SAndreas Kemnade regulator-max-microvolt = <5000000>; 11111dcae18SAndreas Kemnade regulator-always-on; 11211dcae18SAndreas Kemnade gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>; 11311dcae18SAndreas Kemnade enable-active-high; 11411dcae18SAndreas Kemnade }; 11511dcae18SAndreas Kemnade 116b1a041afSAndreas Kemnade wl12xx_pwrseq: wl12xx-pwrseq { 117b1a041afSAndreas Kemnade compatible = "mmc-pwrseq-simple"; 118b1a041afSAndreas Kemnade clocks = <&twl 1>; 119b1a041afSAndreas Kemnade clock-names = "ext_clock"; 120b1a041afSAndreas Kemnade }; 121b1a041afSAndreas Kemnade 122724ba675SRob Herring /* regulator for wl12xx on sdio2 */ 123724ba675SRob Herring wl12xx_vmmc: wl12xx-vmmc { 124724ba675SRob Herring pinctrl-names = "default"; 125724ba675SRob Herring pinctrl-0 = <&wl12xx_gpio>; 126724ba675SRob Herring compatible = "regulator-fixed"; 127724ba675SRob Herring regulator-name = "vwl1271"; 128724ba675SRob Herring regulator-min-microvolt = <1800000>; 129724ba675SRob Herring regulator-max-microvolt = <1800000>; 130724ba675SRob Herring gpio = <&gpio1 24 GPIO_ACTIVE_HIGH>; 131724ba675SRob Herring startup-delay-us = <70000>; 132724ba675SRob Herring enable-active-high; 133724ba675SRob Herring }; 134724ba675SRob Herring}; 135724ba675SRob Herring 13660fdc971SAndreas Kemnade&gpio1 { 13760fdc971SAndreas Kemnade pinctrl-names = "default"; 13860fdc971SAndreas Kemnade pinctrl-0 = <&gpio1_hog_pins &gpio1wk_hog_pins>; 13960fdc971SAndreas Kemnade 14060fdc971SAndreas Kemnade lb-reset-hog { 14160fdc971SAndreas Kemnade gpio-hog; 14260fdc971SAndreas Kemnade gpios = <9 GPIO_ACTIVE_HIGH>; 14360fdc971SAndreas Kemnade output-low; 14460fdc971SAndreas Kemnade line-name = "lb_reset"; 14560fdc971SAndreas Kemnade }; 14660fdc971SAndreas Kemnade 14760fdc971SAndreas Kemnade power-en-hog { 14860fdc971SAndreas Kemnade gpio-hog; 14960fdc971SAndreas Kemnade gpios = <10 GPIO_ACTIVE_HIGH>; 15060fdc971SAndreas Kemnade output-high; 15160fdc971SAndreas Kemnade line-name = "power_en"; 15260fdc971SAndreas Kemnade }; 15360fdc971SAndreas Kemnade 15460fdc971SAndreas Kemnade /* 15560fdc971SAndreas Kemnade * Name taken from vendor kernel but no evidence of actual usage found 15660fdc971SAndreas Kemnade * nor what it really controls. 15760fdc971SAndreas Kemnade */ 15860fdc971SAndreas Kemnade panel-power-en-hog { 15960fdc971SAndreas Kemnade gpio-hog; 16060fdc971SAndreas Kemnade gpios = <14 GPIO_ACTIVE_HIGH>; 16160fdc971SAndreas Kemnade output-low; 16260fdc971SAndreas Kemnade line-name = "panel_power_en"; 16360fdc971SAndreas Kemnade }; 16460fdc971SAndreas Kemnade 16560fdc971SAndreas Kemnade /* 16660fdc971SAndreas Kemnade * These two are exported to sysfs in vendor kernel, usage unknown, 16760fdc971SAndreas Kemnade * backlight state seems unrelated to these. 16860fdc971SAndreas Kemnade */ 16960fdc971SAndreas Kemnade blc-r-hog { 17060fdc971SAndreas Kemnade gpio-hog; 17160fdc971SAndreas Kemnade gpios = <17 GPIO_ACTIVE_HIGH>; 17260fdc971SAndreas Kemnade output-low; 17360fdc971SAndreas Kemnade line-name = "blc_r"; 17460fdc971SAndreas Kemnade }; 17560fdc971SAndreas Kemnade 17660fdc971SAndreas Kemnade blc-l-hog { 17760fdc971SAndreas Kemnade gpio-hog; 17860fdc971SAndreas Kemnade gpios = <16 GPIO_ACTIVE_HIGH>; 17960fdc971SAndreas Kemnade output-low; 18060fdc971SAndreas Kemnade line-name = "blc_l"; 18160fdc971SAndreas Kemnade }; 18260fdc971SAndreas Kemnade 18360fdc971SAndreas Kemnade high-hog { 18460fdc971SAndreas Kemnade gpio-hog; 18560fdc971SAndreas Kemnade gpios = <15 GPIO_ACTIVE_HIGH /* maybe dsi to dpi chip reset? */ 18660fdc971SAndreas Kemnade 21 GPIO_ACTIVE_HIGH 18760fdc971SAndreas Kemnade 26 GPIO_ACTIVE_HIGH>; 18860fdc971SAndreas Kemnade output-high; 18960fdc971SAndreas Kemnade line-name = "unknown-high"; 19060fdc971SAndreas Kemnade }; 19160fdc971SAndreas Kemnade 19260fdc971SAndreas Kemnade low-hog { 19360fdc971SAndreas Kemnade gpio-hog; 19460fdc971SAndreas Kemnade gpios = <18 GPIO_ACTIVE_HIGH 19560fdc971SAndreas Kemnade 19 GPIO_ACTIVE_HIGH 19660fdc971SAndreas Kemnade 20 GPIO_ACTIVE_HIGH 19760fdc971SAndreas Kemnade 22 GPIO_ACTIVE_HIGH>; 19860fdc971SAndreas Kemnade output-low; 19960fdc971SAndreas Kemnade line-name = "unknown-low"; 20060fdc971SAndreas Kemnade }; 20160fdc971SAndreas Kemnade}; 20260fdc971SAndreas Kemnade 203724ba675SRob Herring&i2c1 { 204724ba675SRob Herring pinctrl-names = "default"; 205724ba675SRob Herring pinctrl-0 = <&i2c1_pins>; 206724ba675SRob Herring 207724ba675SRob Herring clock-frequency = <400000>; 208724ba675SRob Herring 209724ba675SRob Herring twl: pmic@48 { 210724ba675SRob Herring compatible = "ti,twl6032"; 211724ba675SRob Herring reg = <0x48>; 212b1a041afSAndreas Kemnade #clock-cells = <1>; 213724ba675SRob Herring /* IRQ# = 7 */ 214724ba675SRob Herring interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ 215724ba675SRob Herring interrupt-controller; 216724ba675SRob Herring #interrupt-cells = <1>; 217ba95cc59SAndreas Kemnade system-power-controller; 218724ba675SRob Herring 219*a2c06140SAndreas Kemnade charger { 220*a2c06140SAndreas Kemnade compatible = "ti,twl6032-charger", "ti,twl6030-charger"; 221*a2c06140SAndreas Kemnade interrupts = <2>, <5>; 222*a2c06140SAndreas Kemnade io-channels = <&gpadc 10>; 223*a2c06140SAndreas Kemnade io-channel-names = "vusb"; 224*a2c06140SAndreas Kemnade monitored-battery = <&battery>; 225*a2c06140SAndreas Kemnade }; 226*a2c06140SAndreas Kemnade 227724ba675SRob Herring rtc { 228724ba675SRob Herring compatible = "ti,twl4030-rtc"; 229724ba675SRob Herring interrupts = <11>; 230724ba675SRob Herring }; 231724ba675SRob Herring 232724ba675SRob Herring ldo2: regulator-ldo2 { 233724ba675SRob Herring compatible = "ti,twl6032-ldo2"; 234724ba675SRob Herring regulator-min-microvolt = <1000000>; 235724ba675SRob Herring regulator-max-microvolt = <3000000>; 236724ba675SRob Herring }; 237724ba675SRob Herring 238724ba675SRob Herring ldo4: regulator-ldo4 { 239724ba675SRob Herring compatible = "ti,twl6032-ldo4"; 240724ba675SRob Herring regulator-min-microvolt = <1200000>; 241724ba675SRob Herring regulator-max-microvolt = <2800000>; 242724ba675SRob Herring }; 243724ba675SRob Herring 244724ba675SRob Herring ldo3: regulator-ldo3 { 245724ba675SRob Herring compatible = "ti,twl6032-ldo3"; 246724ba675SRob Herring regulator-min-microvolt = <1000000>; 247724ba675SRob Herring regulator-max-microvolt = <3000000>; 248724ba675SRob Herring }; 249724ba675SRob Herring 250724ba675SRob Herring ldo5: regulator-ldo5 { 251724ba675SRob Herring compatible = "ti,twl6032-ldo5"; 252724ba675SRob Herring regulator-min-microvolt = <1200000>; 253724ba675SRob Herring regulator-max-microvolt = <3000000>; 254724ba675SRob Herring ti,retain-on-reset; 255724ba675SRob Herring }; 256724ba675SRob Herring 257724ba675SRob Herring ldo1: regulator-ldo1 { 258724ba675SRob Herring compatible = "ti,twl6032-ldo1"; 259724ba675SRob Herring regulator-min-microvolt = <1800000>; 260724ba675SRob Herring regulator-max-microvolt = <2500000>; 261724ba675SRob Herring }; 262724ba675SRob Herring 263724ba675SRob Herring ldo7: regulator-ldo7 { 264724ba675SRob Herring compatible = "ti,twl6032-ldo7"; 265724ba675SRob Herring regulator-min-microvolt = <1200000>; 266724ba675SRob Herring regulator-max-microvolt = <2900000>; 267724ba675SRob Herring }; 268724ba675SRob Herring 269724ba675SRob Herring ldoln: regulator-ldoln { 270724ba675SRob Herring compatible = "ti,twl6032-ldoln"; 271724ba675SRob Herring regulator-always-on; 272724ba675SRob Herring }; 273724ba675SRob Herring 274724ba675SRob Herring ldo6: regulator-ldo6 { 275724ba675SRob Herring compatible = "ti,twl6032-ldo6"; 276724ba675SRob Herring regulator-always-on; 277724ba675SRob Herring }; 278724ba675SRob Herring 279724ba675SRob Herring ldousb: regulator-ldousb { 280724ba675SRob Herring compatible = "ti,twl6032-ldousb"; 281724ba675SRob Herring regulator-always-on; 282724ba675SRob Herring }; 283724ba675SRob Herring 284724ba675SRob Herring vio: regulator-vio { 285724ba675SRob Herring compatible = "ti,twl6032-vio"; 286724ba675SRob Herring regulator-always-on; 287724ba675SRob Herring }; 288724ba675SRob Herring 289724ba675SRob Herring twl_usb_comparator: usb-comparator { 290724ba675SRob Herring compatible = "ti,twl6030-usb"; 291724ba675SRob Herring interrupts = <4>, <10>; 292724ba675SRob Herring }; 293724ba675SRob Herring 294724ba675SRob Herring twl_pwm: pwm { 295724ba675SRob Herring /* provides two PWMs (id 0, 1 for PWM1 and PWM2) */ 296724ba675SRob Herring compatible = "ti,twl6030-pwm"; 297724ba675SRob Herring #pwm-cells = <2>; 298724ba675SRob Herring }; 299724ba675SRob Herring 300724ba675SRob Herring twl_pwmled: pwmled { 301724ba675SRob Herring /* provides one PWM (id 0 for Charging indicator LED) */ 302724ba675SRob Herring compatible = "ti,twl6030-pwmled"; 303724ba675SRob Herring #pwm-cells = <2>; 304724ba675SRob Herring }; 305724ba675SRob Herring 306*a2c06140SAndreas Kemnade gpadc: gpadc { 307724ba675SRob Herring compatible = "ti,twl6032-gpadc"; 308724ba675SRob Herring interrupts = <3>; 309724ba675SRob Herring #io-channel-cells = <1>; 310724ba675SRob Herring }; 311724ba675SRob Herring 312724ba675SRob Herring }; 313724ba675SRob Herring}; 314724ba675SRob Herring 315724ba675SRob Herring#include "twl6030_omap4.dtsi" 316724ba675SRob Herring 317724ba675SRob Herring&twl_usb_comparator { 318724ba675SRob Herring usb-supply = <&ldousb>; 319724ba675SRob Herring}; 320724ba675SRob Herring 321724ba675SRob Herring 322724ba675SRob Herring&i2c2 { 323724ba675SRob Herring pinctrl-names = "default"; 324724ba675SRob Herring pinctrl-0 = <&i2c2_pins>; 325724ba675SRob Herring 326724ba675SRob Herring clock-frequency = <200000>; 327724ba675SRob Herring 328358e912eSAndreas Kemnade /* is sometimes not available, research needed */ 329358e912eSAndreas Kemnade gpio_head: gpio@20 { 330358e912eSAndreas Kemnade compatible = "ti,tca6408"; 331358e912eSAndreas Kemnade reg = <0x20>; 332358e912eSAndreas Kemnade gpio-controller; 333358e912eSAndreas Kemnade #gpio-cells = <2>; 334358e912eSAndreas Kemnade }; 335358e912eSAndreas Kemnade 336358e912eSAndreas Kemnade /* 337358e912eSAndreas Kemnade * camera chip at 0x3c, available if <&gpio_head 1> high 338358e912eSAndreas Kemnade * and <&gpio_head 5> low 339358e912eSAndreas Kemnade */ 340358e912eSAndreas Kemnade 341724ba675SRob Herring /* at head/glasses */ 342724ba675SRob Herring mpu9150h: imu@68 { 343724ba675SRob Herring compatible = "invensense,mpu9150"; 344724ba675SRob Herring reg = <0x68>; 345724ba675SRob Herring 346724ba675SRob Herring pinctrl-names = "default"; 347724ba675SRob Herring pinctrl-0 = <&mpu9150h_pins>; 348724ba675SRob Herring interrupt-parent = <&gpio2>; 349724ba675SRob Herring interrupt = <19 IRQ_TYPE_LEVEL_HIGH>; 350724ba675SRob Herring }; 351724ba675SRob Herring}; 352724ba675SRob Herring 353724ba675SRob Herring&i2c3 { 354724ba675SRob Herring pinctrl-names = "default"; 355724ba675SRob Herring pinctrl-0 = <&i2c3_pins>; 356724ba675SRob Herring 357724ba675SRob Herring clock-frequency = <100000>; 358724ba675SRob Herring 35905ee882dSAndreas Kemnade led-controller@66 { 36005ee882dSAndreas Kemnade compatible = "rohm,bd2606mvv"; 36105ee882dSAndreas Kemnade reg = <0x66>; 36205ee882dSAndreas Kemnade 36305ee882dSAndreas Kemnade #address-cells = <1>; 36405ee882dSAndreas Kemnade #size-cells = <0>; 36505ee882dSAndreas Kemnade 36605ee882dSAndreas Kemnade led@0 { 36705ee882dSAndreas Kemnade reg = <0>; 36805ee882dSAndreas Kemnade color = <LED_COLOR_ID_GREEN>; 36905ee882dSAndreas Kemnade function = LED_FUNCTION_STATUS; 37005ee882dSAndreas Kemnade }; 37105ee882dSAndreas Kemnade 37205ee882dSAndreas Kemnade led@2 { 37305ee882dSAndreas Kemnade reg = <2>; 37405ee882dSAndreas Kemnade color = <LED_COLOR_ID_BLUE>; 37505ee882dSAndreas Kemnade function = LED_FUNCTION_STATUS; 37605ee882dSAndreas Kemnade }; 37705ee882dSAndreas Kemnade 37805ee882dSAndreas Kemnade led@4 { 37905ee882dSAndreas Kemnade reg = <4>; 38005ee882dSAndreas Kemnade color = <LED_COLOR_ID_RED>; 38105ee882dSAndreas Kemnade function = LED_FUNCTION_STATUS; 38205ee882dSAndreas Kemnade }; 38305ee882dSAndreas Kemnade }; 384724ba675SRob Herring}; 385724ba675SRob Herring 386724ba675SRob Herring&i2c4 { 387724ba675SRob Herring pinctrl-names = "default"; 388724ba675SRob Herring pinctrl-0 = <&i2c4_pins>; 389724ba675SRob Herring 390724ba675SRob Herring clock-frequency = <360000>; 391724ba675SRob Herring 392724ba675SRob Herring /* TODO: KXTI9 at 0xf */ 393724ba675SRob Herring 394724ba675SRob Herring tlv320aic3x: codec@18 { 395724ba675SRob Herring compatible = "ti,tlv320aic3x"; 396724ba675SRob Herring reg = <0x18>; 397724ba675SRob Herring pinctrl-names = "default"; 398724ba675SRob Herring pinctrl-0 = <&tlv320aic3x_pins>; 399724ba675SRob Herring #sound-dai-cells = <0>; 400724ba675SRob Herring 401724ba675SRob Herring reset-gpios = <&gpio2 23 GPIO_ACTIVE_LOW>; 402724ba675SRob Herring }; 403724ba675SRob Herring 404cc284742SAndreas Kemnade mpu9150: imu@68 { 405cc284742SAndreas Kemnade compatible = "invensense,mpu9150"; 406cc284742SAndreas Kemnade reg = <0x68>; 407cc284742SAndreas Kemnade 408cc284742SAndreas Kemnade pinctrl-names = "default"; 409cc284742SAndreas Kemnade pinctrl-0 = <&mpu9150_pins>; 410cc284742SAndreas Kemnade interrupt-parent = <&gpio2>; 411cc284742SAndreas Kemnade interrupt = <7 IRQ_TYPE_LEVEL_HIGH>; 41214238514SAndreas Kemnade vddio-supply = <&cb_v18>; 41314238514SAndreas Kemnade vdd-supply = <&cb_v33>; 414cc284742SAndreas Kemnade invensense,level-shifter; 415cc284742SAndreas Kemnade }; 416724ba675SRob Herring}; 417724ba675SRob Herring 418724ba675SRob Herring&keypad { 419724ba675SRob Herring pinctrl-names = "default"; 420724ba675SRob Herring pinctrl-0 = <&keypad_pins>; 421724ba675SRob Herring keypad,num-rows = <2>; 422724ba675SRob Herring keypad,num-columns = <3>; 423724ba675SRob Herring linux,keymap = <MATRIX_KEY(0, 0, KEY_MENU) 424724ba675SRob Herring MATRIX_KEY(0, 1, KEY_HOME) 425724ba675SRob Herring MATRIX_KEY(0, 2, KEY_BACK) 426724ba675SRob Herring MATRIX_KEY(1, 0, KEY_ESC) 427724ba675SRob Herring MATRIX_KEY(1, 1, KEY_VOLUMEDOWN) 428724ba675SRob Herring MATRIX_KEY(1, 2, KEY_VOLUMEUP)>; 429724ba675SRob Herring linux,input-no-autorepeat; 430724ba675SRob Herring}; 431724ba675SRob Herring 432724ba675SRob Herring&mcbsp2 { 433724ba675SRob Herring #sound-dai-cells = <0>; 434724ba675SRob Herring pinctrl-names = "default"; 435724ba675SRob Herring pinctrl-0 = <&mcbsp2_pins>; 436724ba675SRob Herring status = "okay"; 437724ba675SRob Herring}; 438724ba675SRob Herring 439724ba675SRob Herring 440724ba675SRob Herring&mmc1 { 441724ba675SRob Herring /* sdcard */ 442724ba675SRob Herring vmmc-supply = <&ldo5>; 443724ba675SRob Herring broken-cd; 444724ba675SRob Herring bus-width = <4>; 445724ba675SRob Herring}; 446724ba675SRob Herring 447724ba675SRob Herring&mmc2 { 448724ba675SRob Herring /* emmc */ 449724ba675SRob Herring vmmc-supply = <&ldo2>; 450724ba675SRob Herring bus-width = <8>; 451724ba675SRob Herring}; 452724ba675SRob Herring 453724ba675SRob Herring&mmc3 { 454724ba675SRob Herring pinctrl-names = "default"; 455724ba675SRob Herring pinctrl-0 = <&wl12xx_pins>; 456724ba675SRob Herring vmmc-supply = <&wl12xx_vmmc>; 457b1a041afSAndreas Kemnade mmc-pwrseq = <&wl12xx_pwrseq>; 458724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH 459724ba675SRob Herring &omap4_pmx_core 0x12e>; 460724ba675SRob Herring non-removable; 461724ba675SRob Herring bus-width = <4>; 462724ba675SRob Herring cap-power-off-card; 463724ba675SRob Herring 464724ba675SRob Herring #address-cells = <1>; 465724ba675SRob Herring #size-cells = <0>; 466724ba675SRob Herring wlcore: wlcore@2 { 467724ba675SRob Herring compatible = "ti,wl1283"; 468724ba675SRob Herring reg = <2>; 469724ba675SRob Herring interrupts-extended = <&gpio1 23 IRQ_TYPE_LEVEL_HIGH>; 470724ba675SRob Herring interrupt-names = "irq"; 471724ba675SRob Herring ref-clock-frequency = <26000000>; 472724ba675SRob Herring tcxo-clock-frequency = <26000000>; 473724ba675SRob Herring }; 474724ba675SRob Herring}; 475724ba675SRob Herring 476724ba675SRob Herring&mmc4 { 477724ba675SRob Herring status = "disabled"; 478724ba675SRob Herring}; 479724ba675SRob Herring 480724ba675SRob Herring&mmc5 { 481724ba675SRob Herring status = "disabled"; 482724ba675SRob Herring}; 483724ba675SRob Herring 484724ba675SRob Herring&omap4_pmx_core { 485724ba675SRob Herring bt_pins: pinmux-bt-pins { 486724ba675SRob Herring pinctrl-single,pins = < 487724ba675SRob Herring OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE3) /* gpio25 */ 488724ba675SRob Herring >; 489724ba675SRob Herring }; 490724ba675SRob Herring 49111dcae18SAndreas Kemnade cb_v18_pins: pinmux-cb-v18-pins { 49211dcae18SAndreas Kemnade pinctrl-single,pins = < 49311dcae18SAndreas Kemnade OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE3) /* gpio28 */ 49411dcae18SAndreas Kemnade >; 49511dcae18SAndreas Kemnade }; 49611dcae18SAndreas Kemnade 49711dcae18SAndreas Kemnade cb_v33_pins: pinmux-cb-v33-pins { 49811dcae18SAndreas Kemnade pinctrl-single,pins = < 49911dcae18SAndreas Kemnade OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE3) /* gpio190 */ 50011dcae18SAndreas Kemnade >; 50111dcae18SAndreas Kemnade }; 50211dcae18SAndreas Kemnade 50311dcae18SAndreas Kemnade cb_v50_pins: pinmux-cb-v50-pins { 50411dcae18SAndreas Kemnade pinctrl-single,pins = < 50511dcae18SAndreas Kemnade OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE3) /* gpio191 */ 50611dcae18SAndreas Kemnade >; 50711dcae18SAndreas Kemnade }; 50811dcae18SAndreas Kemnade 509724ba675SRob Herring gpio_keys_pins: pinmux-gpio-key-pins { 510724ba675SRob Herring pinctrl-single,pins = < 511724ba675SRob Herring OMAP4_IOPAD(0x56, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio35 */ 512724ba675SRob Herring >; 513724ba675SRob Herring }; 514724ba675SRob Herring 51560fdc971SAndreas Kemnade gpio1_hog_pins: pinmux-gpio1-hog-pins { 51660fdc971SAndreas Kemnade pinctrl-single,pins = < 51760fdc971SAndreas Kemnade OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE3) /* gpio14 */ 51860fdc971SAndreas Kemnade OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE3) /* gpio16 */ 51960fdc971SAndreas Kemnade OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE3) /* gpio17 */ 52060fdc971SAndreas Kemnade 52160fdc971SAndreas Kemnade OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE3) /* gpio15 */ 52260fdc971SAndreas Kemnade OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE3) /* gpio18 */ 52360fdc971SAndreas Kemnade OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE3) /* gpio19 */ 52460fdc971SAndreas Kemnade OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE3) /* gpio20 */ 52560fdc971SAndreas Kemnade OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE3) /* gpio21 */ 52660fdc971SAndreas Kemnade OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE3) /* gpio22 */ 52760fdc971SAndreas Kemnade OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE3) /* gpio26 */ 52860fdc971SAndreas Kemnade >; 52960fdc971SAndreas Kemnade }; 53060fdc971SAndreas Kemnade 531724ba675SRob Herring i2c1_pins: pinmux-i2c1-pins { 532724ba675SRob Herring pinctrl-single,pins = < 533724ba675SRob Herring OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ 534724ba675SRob Herring OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ 535724ba675SRob Herring >; 536724ba675SRob Herring }; 537724ba675SRob Herring 538724ba675SRob Herring i2c2_pins: pinmux-i2c2-pins { 539724ba675SRob Herring pinctrl-single,pins = < 540724ba675SRob Herring OMAP4_IOPAD(0x126, PIN_INPUT | MUX_MODE0) /* i2c2_scl */ 541724ba675SRob Herring OMAP4_IOPAD(0x128, PIN_INPUT | MUX_MODE0) /* i2c2_sda */ 542724ba675SRob Herring >; 543724ba675SRob Herring }; 544724ba675SRob Herring 545724ba675SRob Herring i2c3_pins: pinmux-i2c3-pins { 546724ba675SRob Herring pinctrl-single,pins = < 547724ba675SRob Herring OMAP4_IOPAD(0x12a, PIN_INPUT | MUX_MODE0) /* i2c3_scl */ 548724ba675SRob Herring OMAP4_IOPAD(0x12c, PIN_INPUT | MUX_MODE0) /* i2c3_sda */ 549724ba675SRob Herring >; 550724ba675SRob Herring }; 551724ba675SRob Herring 552724ba675SRob Herring i2c4_pins: pinmux-i2c4-pins { 553724ba675SRob Herring pinctrl-single,pins = < 554724ba675SRob Herring OMAP4_IOPAD(0x12e, PIN_INPUT | MUX_MODE0) /* i2c4_scl */ 555724ba675SRob Herring OMAP4_IOPAD(0x130, PIN_INPUT | MUX_MODE0) /* i2c4_sda */ 556724ba675SRob Herring >; 557724ba675SRob Herring }; 558724ba675SRob Herring 559724ba675SRob Herring keypad_pins: pinmux-keypad-pins { 560724ba675SRob Herring pinctrl-single,pins = < 561724ba675SRob Herring /* kpd_row0 */ 562724ba675SRob Herring OMAP4_IOPAD(0x0050, PIN_INPUT_PULLUP | MUX_MODE1) 563724ba675SRob Herring /* kpd_row1 */ 564724ba675SRob Herring OMAP4_IOPAD(0x0052, PIN_INPUT_PULLUP | MUX_MODE1) 565724ba675SRob Herring /* kpd_row2 */ 566724ba675SRob Herring OMAP4_IOPAD(0x0054, PIN_INPUT_PULLUP | MUX_MODE1) 567724ba675SRob Herring /* kpd_col0 */ 568724ba675SRob Herring OMAP4_IOPAD(0x0058, PIN_OUTPUT | MUX_MODE1) 569724ba675SRob Herring /* kpd_col1 */ 570724ba675SRob Herring OMAP4_IOPAD(0x005a, PIN_OUTPUT | MUX_MODE1) 571724ba675SRob Herring /* kpd_col2 */ 572724ba675SRob Herring OMAP4_IOPAD(0x005c, PIN_OUTPUT | MUX_MODE1) 573724ba675SRob Herring >; 574724ba675SRob Herring }; 575724ba675SRob Herring 57611dcae18SAndreas Kemnade lb_v50_pins: pinmux-lb-v50-pins { 57711dcae18SAndreas Kemnade pinctrl-single,pins = < 57811dcae18SAndreas Kemnade OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE3) /* gpio27 */ 57911dcae18SAndreas Kemnade >; 58011dcae18SAndreas Kemnade }; 58111dcae18SAndreas Kemnade 582724ba675SRob Herring mcbsp2_pins: pinmux-mcbsp2-pins { 583724ba675SRob Herring pinctrl-single,pins = < 584724ba675SRob Herring OMAP4_IOPAD(0x0f6, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_clkx */ 585724ba675SRob Herring OMAP4_IOPAD(0x0f8, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_dr */ 586724ba675SRob Herring OMAP4_IOPAD(0x0fa, PIN_OUTPUT | MUX_MODE0) /* abe_mcbsp2_dx */ 587724ba675SRob Herring OMAP4_IOPAD(0x0fc, PIN_INPUT | MUX_MODE0) /* abe_mcbsp2_fsx */ 588724ba675SRob Herring >; 589724ba675SRob Herring }; 590724ba675SRob Herring 591cc284742SAndreas Kemnade mpu9150_pins: pinmux-mpu9150-pins { 592cc284742SAndreas Kemnade pinctrl-single,pins = < 593cc284742SAndreas Kemnade OMAP4_IOPAD(0x5e, PIN_INPUT_PULLUP | MUX_MODE3) 594cc284742SAndreas Kemnade >; 595cc284742SAndreas Kemnade }; 596cc284742SAndreas Kemnade 597724ba675SRob Herring mpu9150h_pins: pinmux-mpu9150h-pins { 598724ba675SRob Herring pinctrl-single,pins = < 599724ba675SRob Herring OMAP4_IOPAD(0x76, PIN_INPUT_PULLUP | MUX_MODE3) 600724ba675SRob Herring >; 601724ba675SRob Herring }; 602724ba675SRob Herring 603724ba675SRob Herring tlv320aic3x_pins: pinmux-tlv320aic3x-pins { 604724ba675SRob Herring pinctrl-single,pins = < 605724ba675SRob Herring OMAP4_IOPAD(0x7e, PIN_OUTPUT | MUX_MODE3) 606724ba675SRob Herring >; 607724ba675SRob Herring }; 608724ba675SRob Herring 609724ba675SRob Herring uart2_pins: pinmux-uart2-pins { 610724ba675SRob Herring pinctrl-single,pins = < 611724ba675SRob Herring OMAP4_IOPAD(0x118, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_cts.uart2_cts */ 612724ba675SRob Herring OMAP4_IOPAD(0x11a, PIN_OUTPUT | MUX_MODE0) /* uart2_rts.uart2_rts */ 613724ba675SRob Herring OMAP4_IOPAD(0x11c, PIN_INPUT_PULLUP | MUX_MODE0) /* uart2_rx.uart2_rx */ 614724ba675SRob Herring OMAP4_IOPAD(0x11e, PIN_OUTPUT | MUX_MODE0) /* uart2_tx.uart2_tx */ 615724ba675SRob Herring >; 616724ba675SRob Herring }; 617724ba675SRob Herring 618724ba675SRob Herring uart3_pins: pinmux-uart3-pins { 619724ba675SRob Herring pinctrl-single,pins = < 620724ba675SRob Herring OMAP4_IOPAD(0x144, PIN_INPUT | MUX_MODE0) /* uart3_rx_irrx */ 621724ba675SRob Herring OMAP4_IOPAD(0x146, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx */ 622724ba675SRob Herring >; 623724ba675SRob Herring }; 624724ba675SRob Herring 625724ba675SRob Herring usb_otg_hs_pins: pinmux-usb-otg-hs-pins { 626724ba675SRob Herring pinctrl-single,pins = < 627724ba675SRob Herring OMAP4_IOPAD(0x194, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* usba0_otg_ce */ 628724ba675SRob Herring OMAP4_IOPAD(0x196, PIN_INPUT | MUX_MODE0) /* usba0_otg_dp */ 629724ba675SRob Herring OMAP4_IOPAD(0x198, PIN_INPUT | MUX_MODE0) /* usba0_otg_dm */ 630724ba675SRob Herring >; 631724ba675SRob Herring }; 632724ba675SRob Herring 633724ba675SRob Herring wl12xx_pins: pinmux-wl12xx-pins { 634724ba675SRob Herring pinctrl-single,pins = < 635724ba675SRob Herring OMAP4_IOPAD(0x1c6, PIN_INPUT | MUX_MODE3) /* gpio_23 / IRQ */ 636724ba675SRob Herring OMAP4_IOPAD(0x16c, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat2 */ 637724ba675SRob Herring OMAP4_IOPAD(0x16e, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat1 */ 638724ba675SRob Herring OMAP4_IOPAD(0x170, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat0 */ 639724ba675SRob Herring OMAP4_IOPAD(0x172, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_dat3 */ 640724ba675SRob Herring OMAP4_IOPAD(0x174, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_cmd */ 641724ba675SRob Herring OMAP4_IOPAD(0x176, PIN_INPUT_PULLUP | MUX_MODE2) /* sdmmc3_clk */ 642724ba675SRob Herring >; 643724ba675SRob Herring }; 644724ba675SRob Herring 645ea1c1e67STony Lindgren wl12xx_gpio: pinmux-wl12xx-gpio-pins { 646724ba675SRob Herring pinctrl-single,pins = < 647724ba675SRob Herring OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE3) /* gpio_24 / WLAN_EN */ 648724ba675SRob Herring >; 649724ba675SRob Herring }; 650724ba675SRob Herring}; 651724ba675SRob Herring 65260fdc971SAndreas Kemnade&omap4_pmx_wkup { 65360fdc971SAndreas Kemnade gpio1wk_hog_pins: pinmux-gpio1wk-hog-pins { 65460fdc971SAndreas Kemnade pinctrl-single,pins = < 65560fdc971SAndreas Kemnade OMAP4_IOPAD(0x68, PIN_INPUT_PULLDOWN | MUX_MODE3) /* gpio9 */ 65660fdc971SAndreas Kemnade OMAP4_IOPAD(0x6a, PIN_INPUT | MUX_MODE3) /* gpio10 */ 65760fdc971SAndreas Kemnade >; 65860fdc971SAndreas Kemnade }; 65960fdc971SAndreas Kemnade}; 66060fdc971SAndreas Kemnade 661724ba675SRob Herring&uart2 { 662724ba675SRob Herring pinctrl-names = "default"; 663724ba675SRob Herring pinctrl-0 = <&uart2_pins &bt_pins>; 664724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH 665724ba675SRob Herring &omap4_pmx_core OMAP4_UART2_RX>; 666724ba675SRob Herring 66710dfde4bSAndreas Kemnade bluetooth-gnss { 66810dfde4bSAndreas Kemnade compatible = "ti,wl1283-st"; 66910dfde4bSAndreas Kemnade enable-gpios = <&gpio1 25 GPIO_ACTIVE_HIGH>; /* GPIO_25 */ 67010dfde4bSAndreas Kemnade clocks = <&twl 1>; 67110dfde4bSAndreas Kemnade clock-names = "ext_clock"; 67210dfde4bSAndreas Kemnade }; 673724ba675SRob Herring}; 674724ba675SRob Herring 675724ba675SRob Herring&uart3 { 676724ba675SRob Herring pinctrl-names = "default"; 677724ba675SRob Herring pinctrl-0 = <&uart3_pins>; 678724ba675SRob Herring interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH 679724ba675SRob Herring &omap4_pmx_core OMAP4_UART3_RX>; 680724ba675SRob Herring}; 681724ba675SRob Herring 682724ba675SRob Herring&usb_otg_hs { 683724ba675SRob Herring pinctrl-names = "default"; 684724ba675SRob Herring pinctrl-0 = <&usb_otg_hs_pins>; 685724ba675SRob Herring 686724ba675SRob Herring interface-type = <1>; 687724ba675SRob Herring mode = <3>; 688724ba675SRob Herring power = <50>; 689724ba675SRob Herring}; 690724ba675SRob Herring 691724ba675SRob Herring&usbhshost { 692724ba675SRob Herring status = "disabled"; 693724ba675SRob Herring}; 694