162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (C) 2011-2013 Texas Instruments Incorporated - https://www.ti.com/ 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 662306a36Sopenharmony_ci#include "elpida_ecb240abacn.dtsi" 762306a36Sopenharmony_ci#include "omap4-mcpdm.dtsi" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci/ { 1062306a36Sopenharmony_ci memory@80000000 { 1162306a36Sopenharmony_ci device_type = "memory"; 1262306a36Sopenharmony_ci reg = <0x80000000 0x40000000>; /* 1 GB */ 1362306a36Sopenharmony_ci }; 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci reserved-memory { 1662306a36Sopenharmony_ci #address-cells = <1>; 1762306a36Sopenharmony_ci #size-cells = <1>; 1862306a36Sopenharmony_ci ranges; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci dsp_memory_region: dsp-memory@98000000 { 2162306a36Sopenharmony_ci compatible = "shared-dma-pool"; 2262306a36Sopenharmony_ci reg = <0x98000000 0x800000>; 2362306a36Sopenharmony_ci reusable; 2462306a36Sopenharmony_ci status = "okay"; 2562306a36Sopenharmony_ci }; 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci ipu_memory_region: ipu-memory@98800000 { 2862306a36Sopenharmony_ci compatible = "shared-dma-pool"; 2962306a36Sopenharmony_ci reg = <0x98800000 0x7000000>; 3062306a36Sopenharmony_ci reusable; 3162306a36Sopenharmony_ci status = "okay"; 3262306a36Sopenharmony_ci }; 3362306a36Sopenharmony_ci }; 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci chosen { 3662306a36Sopenharmony_ci stdout-path = &uart3; 3762306a36Sopenharmony_ci }; 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci aliases { 4062306a36Sopenharmony_ci display0 = &dvi0; 4162306a36Sopenharmony_ci display1 = &hdmi0; 4262306a36Sopenharmony_ci ethernet = ðernet; 4362306a36Sopenharmony_ci }; 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci leds: leds { 4662306a36Sopenharmony_ci compatible = "gpio-leds"; 4762306a36Sopenharmony_ci pinctrl-names = "default"; 4862306a36Sopenharmony_ci pinctrl-0 = < 4962306a36Sopenharmony_ci &led_wkgpio_pins 5062306a36Sopenharmony_ci >; 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci led-heartbeat { 5362306a36Sopenharmony_ci label = "pandaboard::status1"; 5462306a36Sopenharmony_ci gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>; 5562306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 5662306a36Sopenharmony_ci }; 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci led-mmc { 5962306a36Sopenharmony_ci label = "pandaboard::status2"; 6062306a36Sopenharmony_ci gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>; 6162306a36Sopenharmony_ci linux,default-trigger = "mmc0"; 6262306a36Sopenharmony_ci }; 6362306a36Sopenharmony_ci }; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci gpio_keys: gpio_keys { 6662306a36Sopenharmony_ci compatible = "gpio-keys"; 6762306a36Sopenharmony_ci pinctrl-names = "default"; 6862306a36Sopenharmony_ci pinctrl-0 = < 6962306a36Sopenharmony_ci &button_pins 7062306a36Sopenharmony_ci >; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci buttonS2 { 7362306a36Sopenharmony_ci label = "button S2"; 7462306a36Sopenharmony_ci gpios = <&gpio4 25 GPIO_ACTIVE_LOW>; /* gpio_121 */ 7562306a36Sopenharmony_ci linux,code = <BTN_0>; 7662306a36Sopenharmony_ci wakeup-source; 7762306a36Sopenharmony_ci }; 7862306a36Sopenharmony_ci }; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci sound: sound { 8162306a36Sopenharmony_ci compatible = "ti,abe-twl6040"; 8262306a36Sopenharmony_ci ti,model = "PandaBoard"; 8362306a36Sopenharmony_ci 8462306a36Sopenharmony_ci ti,mclk-freq = <38400000>; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci ti,mcpdm = <&mcpdm>; 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci ti,twl6040 = <&twl6040>; 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci /* Audio routing */ 9162306a36Sopenharmony_ci ti,audio-routing = 9262306a36Sopenharmony_ci "Headset Stereophone", "HSOL", 9362306a36Sopenharmony_ci "Headset Stereophone", "HSOR", 9462306a36Sopenharmony_ci "Ext Spk", "HFL", 9562306a36Sopenharmony_ci "Ext Spk", "HFR", 9662306a36Sopenharmony_ci "Line Out", "AUXL", 9762306a36Sopenharmony_ci "Line Out", "AUXR", 9862306a36Sopenharmony_ci "HSMIC", "Headset Mic", 9962306a36Sopenharmony_ci "Headset Mic", "Headset Mic Bias", 10062306a36Sopenharmony_ci "AFML", "Line In", 10162306a36Sopenharmony_ci "AFMR", "Line In"; 10262306a36Sopenharmony_ci }; 10362306a36Sopenharmony_ci 10462306a36Sopenharmony_ci /* HS USB Port 1 Power */ 10562306a36Sopenharmony_ci hsusb1_power: hsusb1_power_reg { 10662306a36Sopenharmony_ci compatible = "regulator-fixed"; 10762306a36Sopenharmony_ci regulator-name = "hsusb1_vbus"; 10862306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 10962306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 11062306a36Sopenharmony_ci gpio = <&gpio1 1 GPIO_ACTIVE_HIGH>; /* gpio_1 */ 11162306a36Sopenharmony_ci startup-delay-us = <70000>; 11262306a36Sopenharmony_ci enable-active-high; 11362306a36Sopenharmony_ci /* 11462306a36Sopenharmony_ci * boot-on is required along with always-on as the 11562306a36Sopenharmony_ci * regulator framework doesn't enable the regulator 11662306a36Sopenharmony_ci * if boot-on is not there. 11762306a36Sopenharmony_ci */ 11862306a36Sopenharmony_ci regulator-always-on; 11962306a36Sopenharmony_ci regulator-boot-on; 12062306a36Sopenharmony_ci }; 12162306a36Sopenharmony_ci 12262306a36Sopenharmony_ci /* HS USB Host PHY on PORT 1 */ 12362306a36Sopenharmony_ci hsusb1_phy: hsusb1_phy { 12462306a36Sopenharmony_ci compatible = "usb-nop-xceiv"; 12562306a36Sopenharmony_ci reset-gpios = <&gpio2 30 GPIO_ACTIVE_LOW>; /* gpio_62 */ 12662306a36Sopenharmony_ci #phy-cells = <0>; 12762306a36Sopenharmony_ci vcc-supply = <&hsusb1_power>; 12862306a36Sopenharmony_ci clocks = <&auxclk3_ck>; 12962306a36Sopenharmony_ci clock-names = "main_clk"; 13062306a36Sopenharmony_ci clock-frequency = <19200000>; 13162306a36Sopenharmony_ci }; 13262306a36Sopenharmony_ci 13362306a36Sopenharmony_ci /* regulator for wl12xx on sdio5 */ 13462306a36Sopenharmony_ci wl12xx_vmmc: wl12xx_vmmc { 13562306a36Sopenharmony_ci pinctrl-names = "default"; 13662306a36Sopenharmony_ci pinctrl-0 = <&wl12xx_gpio>; 13762306a36Sopenharmony_ci compatible = "regulator-fixed"; 13862306a36Sopenharmony_ci regulator-name = "vwl1271"; 13962306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 14062306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 14162306a36Sopenharmony_ci gpio = <&gpio2 11 GPIO_ACTIVE_HIGH>; 14262306a36Sopenharmony_ci startup-delay-us = <70000>; 14362306a36Sopenharmony_ci enable-active-high; 14462306a36Sopenharmony_ci }; 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ci tfp410: encoder0 { 14762306a36Sopenharmony_ci compatible = "ti,tfp410"; 14862306a36Sopenharmony_ci powerdown-gpios = <&gpio1 0 GPIO_ACTIVE_LOW>; /* gpio_0 */ 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci ports { 15162306a36Sopenharmony_ci #address-cells = <1>; 15262306a36Sopenharmony_ci #size-cells = <0>; 15362306a36Sopenharmony_ci 15462306a36Sopenharmony_ci port@0 { 15562306a36Sopenharmony_ci reg = <0>; 15662306a36Sopenharmony_ci 15762306a36Sopenharmony_ci tfp410_in: endpoint { 15862306a36Sopenharmony_ci remote-endpoint = <&dpi_out>; 15962306a36Sopenharmony_ci }; 16062306a36Sopenharmony_ci }; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci port@1 { 16362306a36Sopenharmony_ci reg = <1>; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci tfp410_out: endpoint { 16662306a36Sopenharmony_ci remote-endpoint = <&dvi_connector_in>; 16762306a36Sopenharmony_ci }; 16862306a36Sopenharmony_ci }; 16962306a36Sopenharmony_ci }; 17062306a36Sopenharmony_ci }; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci dvi0: connector0 { 17362306a36Sopenharmony_ci compatible = "dvi-connector"; 17462306a36Sopenharmony_ci label = "dvi"; 17562306a36Sopenharmony_ci 17662306a36Sopenharmony_ci digital; 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ci ddc-i2c-bus = <&i2c3>; 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci port { 18162306a36Sopenharmony_ci dvi_connector_in: endpoint { 18262306a36Sopenharmony_ci remote-endpoint = <&tfp410_out>; 18362306a36Sopenharmony_ci }; 18462306a36Sopenharmony_ci }; 18562306a36Sopenharmony_ci }; 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci tpd12s015: encoder1 { 18862306a36Sopenharmony_ci compatible = "ti,tpd12s015"; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci gpios = <&gpio2 28 GPIO_ACTIVE_HIGH>, /* 60, CT CP HPD */ 19162306a36Sopenharmony_ci <&gpio2 9 GPIO_ACTIVE_HIGH>, /* 41, LS OE */ 19262306a36Sopenharmony_ci <&gpio2 31 GPIO_ACTIVE_HIGH>; /* 63, HPD */ 19362306a36Sopenharmony_ci 19462306a36Sopenharmony_ci ports { 19562306a36Sopenharmony_ci #address-cells = <1>; 19662306a36Sopenharmony_ci #size-cells = <0>; 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci port@0 { 19962306a36Sopenharmony_ci reg = <0>; 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci tpd12s015_in: endpoint { 20262306a36Sopenharmony_ci remote-endpoint = <&hdmi_out>; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci port@1 { 20762306a36Sopenharmony_ci reg = <1>; 20862306a36Sopenharmony_ci 20962306a36Sopenharmony_ci tpd12s015_out: endpoint { 21062306a36Sopenharmony_ci remote-endpoint = <&hdmi_connector_in>; 21162306a36Sopenharmony_ci }; 21262306a36Sopenharmony_ci }; 21362306a36Sopenharmony_ci }; 21462306a36Sopenharmony_ci }; 21562306a36Sopenharmony_ci 21662306a36Sopenharmony_ci hdmi0: connector1 { 21762306a36Sopenharmony_ci compatible = "hdmi-connector"; 21862306a36Sopenharmony_ci label = "hdmi"; 21962306a36Sopenharmony_ci 22062306a36Sopenharmony_ci type = "a"; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci port { 22362306a36Sopenharmony_ci hdmi_connector_in: endpoint { 22462306a36Sopenharmony_ci remote-endpoint = <&tpd12s015_out>; 22562306a36Sopenharmony_ci }; 22662306a36Sopenharmony_ci }; 22762306a36Sopenharmony_ci }; 22862306a36Sopenharmony_ci}; 22962306a36Sopenharmony_ci 23062306a36Sopenharmony_ci&omap4_pmx_core { 23162306a36Sopenharmony_ci pinctrl-names = "default"; 23262306a36Sopenharmony_ci pinctrl-0 = < 23362306a36Sopenharmony_ci &dss_dpi_pins 23462306a36Sopenharmony_ci &tfp410_pins 23562306a36Sopenharmony_ci &dss_hdmi_pins 23662306a36Sopenharmony_ci &tpd12s015_pins 23762306a36Sopenharmony_ci &hsusbb1_pins 23862306a36Sopenharmony_ci >; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci twl6040_pins: twl6040-pins { 24162306a36Sopenharmony_ci pinctrl-single,pins = < 24262306a36Sopenharmony_ci OMAP4_IOPAD(0x120, PIN_OUTPUT | MUX_MODE3) /* hdq_sio.gpio_127 */ 24362306a36Sopenharmony_ci OMAP4_IOPAD(0x1a0, PIN_INPUT | MUX_MODE0) /* sys_nirq2.sys_nirq2 */ 24462306a36Sopenharmony_ci >; 24562306a36Sopenharmony_ci }; 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ci mcbsp1_pins: mcbsp1-pins { 24862306a36Sopenharmony_ci pinctrl-single,pins = < 24962306a36Sopenharmony_ci OMAP4_IOPAD(0x0fe, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_clkx.abe_mcbsp1_clkx */ 25062306a36Sopenharmony_ci OMAP4_IOPAD(0x100, PIN_INPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dr.abe_mcbsp1_dr */ 25162306a36Sopenharmony_ci OMAP4_IOPAD(0x102, PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* abe_mcbsp1_dx.abe_mcbsp1_dx */ 25262306a36Sopenharmony_ci OMAP4_IOPAD(0x104, PIN_INPUT | MUX_MODE0) /* abe_mcbsp1_fsx.abe_mcbsp1_fsx */ 25362306a36Sopenharmony_ci >; 25462306a36Sopenharmony_ci }; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci dss_dpi_pins: dss-dpi-pins { 25762306a36Sopenharmony_ci pinctrl-single,pins = < 25862306a36Sopenharmony_ci OMAP4_IOPAD(0x162, PIN_OUTPUT | MUX_MODE5) /* dispc2_data23 */ 25962306a36Sopenharmony_ci OMAP4_IOPAD(0x164, PIN_OUTPUT | MUX_MODE5) /* dispc2_data22 */ 26062306a36Sopenharmony_ci OMAP4_IOPAD(0x166, PIN_OUTPUT | MUX_MODE5) /* dispc2_data21 */ 26162306a36Sopenharmony_ci OMAP4_IOPAD(0x168, PIN_OUTPUT | MUX_MODE5) /* dispc2_data20 */ 26262306a36Sopenharmony_ci OMAP4_IOPAD(0x16a, PIN_OUTPUT | MUX_MODE5) /* dispc2_data19 */ 26362306a36Sopenharmony_ci OMAP4_IOPAD(0x16c, PIN_OUTPUT | MUX_MODE5) /* dispc2_data18 */ 26462306a36Sopenharmony_ci OMAP4_IOPAD(0x16e, PIN_OUTPUT | MUX_MODE5) /* dispc2_data15 */ 26562306a36Sopenharmony_ci OMAP4_IOPAD(0x170, PIN_OUTPUT | MUX_MODE5) /* dispc2_data14 */ 26662306a36Sopenharmony_ci OMAP4_IOPAD(0x172, PIN_OUTPUT | MUX_MODE5) /* dispc2_data13 */ 26762306a36Sopenharmony_ci OMAP4_IOPAD(0x174, PIN_OUTPUT | MUX_MODE5) /* dispc2_data12 */ 26862306a36Sopenharmony_ci OMAP4_IOPAD(0x176, PIN_OUTPUT | MUX_MODE5) /* dispc2_data11 */ 26962306a36Sopenharmony_ci 27062306a36Sopenharmony_ci OMAP4_IOPAD(0x1b4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data10 */ 27162306a36Sopenharmony_ci OMAP4_IOPAD(0x1b6, PIN_OUTPUT | MUX_MODE5) /* dispc2_data9 */ 27262306a36Sopenharmony_ci OMAP4_IOPAD(0x1b8, PIN_OUTPUT | MUX_MODE5) /* dispc2_data16 */ 27362306a36Sopenharmony_ci OMAP4_IOPAD(0x1ba, PIN_OUTPUT | MUX_MODE5) /* dispc2_data17 */ 27462306a36Sopenharmony_ci OMAP4_IOPAD(0x1bc, PIN_OUTPUT | MUX_MODE5) /* dispc2_hsync */ 27562306a36Sopenharmony_ci OMAP4_IOPAD(0x1be, PIN_OUTPUT | MUX_MODE5) /* dispc2_pclk */ 27662306a36Sopenharmony_ci OMAP4_IOPAD(0x1c0, PIN_OUTPUT | MUX_MODE5) /* dispc2_vsync */ 27762306a36Sopenharmony_ci OMAP4_IOPAD(0x1c2, PIN_OUTPUT | MUX_MODE5) /* dispc2_de */ 27862306a36Sopenharmony_ci OMAP4_IOPAD(0x1c4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data8 */ 27962306a36Sopenharmony_ci OMAP4_IOPAD(0x1c6, PIN_OUTPUT | MUX_MODE5) /* dispc2_data7 */ 28062306a36Sopenharmony_ci OMAP4_IOPAD(0x1c8, PIN_OUTPUT | MUX_MODE5) /* dispc2_data6 */ 28162306a36Sopenharmony_ci OMAP4_IOPAD(0x1ca, PIN_OUTPUT | MUX_MODE5) /* dispc2_data5 */ 28262306a36Sopenharmony_ci OMAP4_IOPAD(0x1cc, PIN_OUTPUT | MUX_MODE5) /* dispc2_data4 */ 28362306a36Sopenharmony_ci OMAP4_IOPAD(0x1ce, PIN_OUTPUT | MUX_MODE5) /* dispc2_data3 */ 28462306a36Sopenharmony_ci 28562306a36Sopenharmony_ci OMAP4_IOPAD(0x1d0, PIN_OUTPUT | MUX_MODE5) /* dispc2_data2 */ 28662306a36Sopenharmony_ci OMAP4_IOPAD(0x1d2, PIN_OUTPUT | MUX_MODE5) /* dispc2_data1 */ 28762306a36Sopenharmony_ci OMAP4_IOPAD(0x1d4, PIN_OUTPUT | MUX_MODE5) /* dispc2_data0 */ 28862306a36Sopenharmony_ci >; 28962306a36Sopenharmony_ci }; 29062306a36Sopenharmony_ci 29162306a36Sopenharmony_ci tfp410_pins: tfp410-pins { 29262306a36Sopenharmony_ci pinctrl-single,pins = < 29362306a36Sopenharmony_ci OMAP4_IOPAD(0x184, PIN_OUTPUT | MUX_MODE3) /* gpio_0 */ 29462306a36Sopenharmony_ci >; 29562306a36Sopenharmony_ci }; 29662306a36Sopenharmony_ci 29762306a36Sopenharmony_ci dss_hdmi_pins: dss-hdmi-pins { 29862306a36Sopenharmony_ci pinctrl-single,pins = < 29962306a36Sopenharmony_ci OMAP4_IOPAD(0x09a, PIN_INPUT | MUX_MODE0) /* hdmi_cec.hdmi_cec */ 30062306a36Sopenharmony_ci OMAP4_IOPAD(0x09c, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_scl.hdmi_scl */ 30162306a36Sopenharmony_ci OMAP4_IOPAD(0x09e, PIN_INPUT_PULLUP | MUX_MODE0) /* hdmi_sda.hdmi_sda */ 30262306a36Sopenharmony_ci >; 30362306a36Sopenharmony_ci }; 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci tpd12s015_pins: tpd12s015-pins { 30662306a36Sopenharmony_ci pinctrl-single,pins = < 30762306a36Sopenharmony_ci OMAP4_IOPAD(0x062, PIN_OUTPUT | MUX_MODE3) /* gpmc_a17.gpio_41 */ 30862306a36Sopenharmony_ci OMAP4_IOPAD(0x088, PIN_OUTPUT | MUX_MODE3) /* gpmc_nbe1.gpio_60 */ 30962306a36Sopenharmony_ci OMAP4_IOPAD(0x098, PIN_INPUT_PULLDOWN | MUX_MODE3) /* hdmi_hpd.gpio_63 */ 31062306a36Sopenharmony_ci >; 31162306a36Sopenharmony_ci }; 31262306a36Sopenharmony_ci 31362306a36Sopenharmony_ci hsusbb1_pins: hsusbb1-pins { 31462306a36Sopenharmony_ci pinctrl-single,pins = < 31562306a36Sopenharmony_ci OMAP4_IOPAD(0x0c2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_clk.usbb1_ulpiphy_clk */ 31662306a36Sopenharmony_ci OMAP4_IOPAD(0x0c4, PIN_OUTPUT | MUX_MODE4) /* usbb1_ulpitll_stp.usbb1_ulpiphy_stp */ 31762306a36Sopenharmony_ci OMAP4_IOPAD(0x0c6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dir.usbb1_ulpiphy_dir */ 31862306a36Sopenharmony_ci OMAP4_IOPAD(0x0c8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_nxt.usbb1_ulpiphy_nxt */ 31962306a36Sopenharmony_ci OMAP4_IOPAD(0x0ca, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat0.usbb1_ulpiphy_dat0 */ 32062306a36Sopenharmony_ci OMAP4_IOPAD(0x0cc, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat1.usbb1_ulpiphy_dat1 */ 32162306a36Sopenharmony_ci OMAP4_IOPAD(0x0ce, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat2.usbb1_ulpiphy_dat2 */ 32262306a36Sopenharmony_ci OMAP4_IOPAD(0x0d0, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat3.usbb1_ulpiphy_dat3 */ 32362306a36Sopenharmony_ci OMAP4_IOPAD(0x0d2, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat4.usbb1_ulpiphy_dat4 */ 32462306a36Sopenharmony_ci OMAP4_IOPAD(0x0d4, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat5.usbb1_ulpiphy_dat5 */ 32562306a36Sopenharmony_ci OMAP4_IOPAD(0x0d6, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat6.usbb1_ulpiphy_dat6 */ 32662306a36Sopenharmony_ci OMAP4_IOPAD(0x0d8, PIN_INPUT_PULLDOWN | MUX_MODE4) /* usbb1_ulpitll_dat7.usbb1_ulpiphy_dat7 */ 32762306a36Sopenharmony_ci >; 32862306a36Sopenharmony_ci }; 32962306a36Sopenharmony_ci 33062306a36Sopenharmony_ci i2c1_pins: i2c1-pins { 33162306a36Sopenharmony_ci pinctrl-single,pins = < 33262306a36Sopenharmony_ci OMAP4_IOPAD(0x122, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_scl */ 33362306a36Sopenharmony_ci OMAP4_IOPAD(0x124, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c1_sda */ 33462306a36Sopenharmony_ci >; 33562306a36Sopenharmony_ci }; 33662306a36Sopenharmony_ci 33762306a36Sopenharmony_ci i2c2_pins: i2c2-pins { 33862306a36Sopenharmony_ci pinctrl-single,pins = < 33962306a36Sopenharmony_ci OMAP4_IOPAD(0x126, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_scl */ 34062306a36Sopenharmony_ci OMAP4_IOPAD(0x128, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c2_sda */ 34162306a36Sopenharmony_ci >; 34262306a36Sopenharmony_ci }; 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci i2c3_pins: i2c3-pins { 34562306a36Sopenharmony_ci pinctrl-single,pins = < 34662306a36Sopenharmony_ci OMAP4_IOPAD(0x12a, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_scl */ 34762306a36Sopenharmony_ci OMAP4_IOPAD(0x12c, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c3_sda */ 34862306a36Sopenharmony_ci >; 34962306a36Sopenharmony_ci }; 35062306a36Sopenharmony_ci 35162306a36Sopenharmony_ci i2c4_pins: i2c4-pins { 35262306a36Sopenharmony_ci pinctrl-single,pins = < 35362306a36Sopenharmony_ci OMAP4_IOPAD(0x12e, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_scl */ 35462306a36Sopenharmony_ci OMAP4_IOPAD(0x130, PIN_INPUT_PULLUP | MUX_MODE0) /* i2c4_sda */ 35562306a36Sopenharmony_ci >; 35662306a36Sopenharmony_ci }; 35762306a36Sopenharmony_ci 35862306a36Sopenharmony_ci /* 35962306a36Sopenharmony_ci * wl12xx GPIO outputs for WLAN_EN, BT_EN, FM_EN, BT_WAKEUP 36062306a36Sopenharmony_ci * REVISIT: Are the pull-ups needed for GPIO 48 and 49? 36162306a36Sopenharmony_ci */ 36262306a36Sopenharmony_ci wl12xx_gpio: wl12xx-gpio-pins { 36362306a36Sopenharmony_ci pinctrl-single,pins = < 36462306a36Sopenharmony_ci OMAP4_IOPAD(0x066, PIN_OUTPUT | MUX_MODE3) /* gpmc_a19.gpio_43 */ 36562306a36Sopenharmony_ci OMAP4_IOPAD(0x06c, PIN_OUTPUT | MUX_MODE3) /* gpmc_a22.gpio_46 */ 36662306a36Sopenharmony_ci OMAP4_IOPAD(0x070, PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a24.gpio_48 */ 36762306a36Sopenharmony_ci OMAP4_IOPAD(0x072, PIN_OUTPUT_PULLUP | MUX_MODE3) /* gpmc_a25.gpio_49 */ 36862306a36Sopenharmony_ci >; 36962306a36Sopenharmony_ci }; 37062306a36Sopenharmony_ci 37162306a36Sopenharmony_ci /* wl12xx GPIO inputs and SDIO pins */ 37262306a36Sopenharmony_ci wl12xx_pins: wl12xx-pins { 37362306a36Sopenharmony_ci pinctrl-single,pins = < 37462306a36Sopenharmony_ci OMAP4_IOPAD(0x078, PIN_INPUT | MUX_MODE3) /* gpmc_ncs2.gpio_52 */ 37562306a36Sopenharmony_ci OMAP4_IOPAD(0x07a, PIN_INPUT | MUX_MODE3) /* gpmc_ncs3.gpio_53 */ 37662306a36Sopenharmony_ci OMAP4_IOPAD(0x148, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_clk.sdmmc5_clk */ 37762306a36Sopenharmony_ci OMAP4_IOPAD(0x14a, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_cmd.sdmmc5_cmd */ 37862306a36Sopenharmony_ci OMAP4_IOPAD(0x14c, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat0.sdmmc5_dat0 */ 37962306a36Sopenharmony_ci OMAP4_IOPAD(0x14e, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat1.sdmmc5_dat1 */ 38062306a36Sopenharmony_ci OMAP4_IOPAD(0x150, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat2.sdmmc5_dat2 */ 38162306a36Sopenharmony_ci OMAP4_IOPAD(0x152, PIN_INPUT_PULLUP | MUX_MODE0) /* sdmmc5_dat3.sdmmc5_dat3 */ 38262306a36Sopenharmony_ci >; 38362306a36Sopenharmony_ci }; 38462306a36Sopenharmony_ci 38562306a36Sopenharmony_ci button_pins: button-pins { 38662306a36Sopenharmony_ci pinctrl-single,pins = < 38762306a36Sopenharmony_ci OMAP4_IOPAD(0x114, PIN_INPUT_PULLUP | MUX_MODE3) /* gpio_121 */ 38862306a36Sopenharmony_ci >; 38962306a36Sopenharmony_ci }; 39062306a36Sopenharmony_ci}; 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci&omap4_pmx_wkup { 39362306a36Sopenharmony_ci led_wkgpio_pins: leds-wkpins-pins { 39462306a36Sopenharmony_ci pinctrl-single,pins = < 39562306a36Sopenharmony_ci OMAP4_IOPAD(0x05a, PIN_OUTPUT | MUX_MODE3) /* gpio_wk7 */ 39662306a36Sopenharmony_ci OMAP4_IOPAD(0x05c, PIN_OUTPUT | MUX_MODE3) /* gpio_wk8 */ 39762306a36Sopenharmony_ci >; 39862306a36Sopenharmony_ci }; 39962306a36Sopenharmony_ci}; 40062306a36Sopenharmony_ci 40162306a36Sopenharmony_ci&i2c1 { 40262306a36Sopenharmony_ci pinctrl-names = "default"; 40362306a36Sopenharmony_ci pinctrl-0 = <&i2c1_pins>; 40462306a36Sopenharmony_ci 40562306a36Sopenharmony_ci clock-frequency = <400000>; 40662306a36Sopenharmony_ci 40762306a36Sopenharmony_ci twl: twl@48 { 40862306a36Sopenharmony_ci reg = <0x48>; 40962306a36Sopenharmony_ci /* IRQ# = 7 */ 41062306a36Sopenharmony_ci interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_1N cascaded to gic */ 41162306a36Sopenharmony_ci }; 41262306a36Sopenharmony_ci 41362306a36Sopenharmony_ci twl6040: twl@4b { 41462306a36Sopenharmony_ci compatible = "ti,twl6040"; 41562306a36Sopenharmony_ci #clock-cells = <0>; 41662306a36Sopenharmony_ci reg = <0x4b>; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci pinctrl-names = "default"; 41962306a36Sopenharmony_ci pinctrl-0 = <&twl6040_pins>; 42062306a36Sopenharmony_ci 42162306a36Sopenharmony_ci /* IRQ# = 119 */ 42262306a36Sopenharmony_ci interrupts = <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>; /* IRQ_SYS_2N cascaded to gic */ 42362306a36Sopenharmony_ci ti,audpwron-gpio = <&gpio4 31 GPIO_ACTIVE_HIGH>; /* gpio line 127 */ 42462306a36Sopenharmony_ci 42562306a36Sopenharmony_ci vio-supply = <&v1v8>; 42662306a36Sopenharmony_ci v2v1-supply = <&v2v1>; 42762306a36Sopenharmony_ci enable-active-high; 42862306a36Sopenharmony_ci }; 42962306a36Sopenharmony_ci}; 43062306a36Sopenharmony_ci 43162306a36Sopenharmony_ci#include "twl6030.dtsi" 43262306a36Sopenharmony_ci#include "twl6030_omap4.dtsi" 43362306a36Sopenharmony_ci 43462306a36Sopenharmony_ci&i2c2 { 43562306a36Sopenharmony_ci pinctrl-names = "default"; 43662306a36Sopenharmony_ci pinctrl-0 = <&i2c2_pins>; 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_ci clock-frequency = <400000>; 43962306a36Sopenharmony_ci}; 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_ci&i2c3 { 44262306a36Sopenharmony_ci pinctrl-names = "default"; 44362306a36Sopenharmony_ci pinctrl-0 = <&i2c3_pins>; 44462306a36Sopenharmony_ci 44562306a36Sopenharmony_ci clock-frequency = <100000>; 44662306a36Sopenharmony_ci 44762306a36Sopenharmony_ci /* 44862306a36Sopenharmony_ci * Display monitor features are burnt in their EEPROM as EDID data. 44962306a36Sopenharmony_ci * The EEPROM is connected as I2C slave device. 45062306a36Sopenharmony_ci */ 45162306a36Sopenharmony_ci eeprom@50 { 45262306a36Sopenharmony_ci compatible = "ti,eeprom"; 45362306a36Sopenharmony_ci reg = <0x50>; 45462306a36Sopenharmony_ci }; 45562306a36Sopenharmony_ci}; 45662306a36Sopenharmony_ci 45762306a36Sopenharmony_ci&i2c4 { 45862306a36Sopenharmony_ci pinctrl-names = "default"; 45962306a36Sopenharmony_ci pinctrl-0 = <&i2c4_pins>; 46062306a36Sopenharmony_ci 46162306a36Sopenharmony_ci clock-frequency = <400000>; 46262306a36Sopenharmony_ci}; 46362306a36Sopenharmony_ci 46462306a36Sopenharmony_ci&mmc1 { 46562306a36Sopenharmony_ci vmmc-supply = <&vmmc>; 46662306a36Sopenharmony_ci bus-width = <8>; 46762306a36Sopenharmony_ci}; 46862306a36Sopenharmony_ci 46962306a36Sopenharmony_ci&mmc2 { 47062306a36Sopenharmony_ci status = "disabled"; 47162306a36Sopenharmony_ci}; 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_ci&mmc3 { 47462306a36Sopenharmony_ci status = "disabled"; 47562306a36Sopenharmony_ci}; 47662306a36Sopenharmony_ci 47762306a36Sopenharmony_ci&mmc4 { 47862306a36Sopenharmony_ci status = "disabled"; 47962306a36Sopenharmony_ci}; 48062306a36Sopenharmony_ci 48162306a36Sopenharmony_ci&mmc5 { 48262306a36Sopenharmony_ci pinctrl-names = "default"; 48362306a36Sopenharmony_ci pinctrl-0 = <&wl12xx_pins>; 48462306a36Sopenharmony_ci vmmc-supply = <&wl12xx_vmmc>; 48562306a36Sopenharmony_ci interrupts-extended = <&wakeupgen GIC_SPI 59 IRQ_TYPE_LEVEL_HIGH 48662306a36Sopenharmony_ci &omap4_pmx_core 0x10e>; 48762306a36Sopenharmony_ci non-removable; 48862306a36Sopenharmony_ci bus-width = <4>; 48962306a36Sopenharmony_ci cap-power-off-card; 49062306a36Sopenharmony_ci 49162306a36Sopenharmony_ci #address-cells = <1>; 49262306a36Sopenharmony_ci #size-cells = <0>; 49362306a36Sopenharmony_ci wlcore: wlcore@2 { 49462306a36Sopenharmony_ci compatible = "ti,wl1271"; 49562306a36Sopenharmony_ci reg = <2>; 49662306a36Sopenharmony_ci /* gpio_53 with gpmc_ncs3 pad as wakeup */ 49762306a36Sopenharmony_ci interrupts-extended = <&gpio2 21 IRQ_TYPE_LEVEL_HIGH>, 49862306a36Sopenharmony_ci <&omap4_pmx_core 0x3a>; 49962306a36Sopenharmony_ci interrupt-names = "irq", "wakeup"; 50062306a36Sopenharmony_ci ref-clock-frequency = <38400000>; 50162306a36Sopenharmony_ci }; 50262306a36Sopenharmony_ci}; 50362306a36Sopenharmony_ci 50462306a36Sopenharmony_ci&emif1 { 50562306a36Sopenharmony_ci cs1-used; 50662306a36Sopenharmony_ci device-handle = <&elpida_ECB240ABACN>; 50762306a36Sopenharmony_ci}; 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_ci&emif2 { 51062306a36Sopenharmony_ci cs1-used; 51162306a36Sopenharmony_ci device-handle = <&elpida_ECB240ABACN>; 51262306a36Sopenharmony_ci}; 51362306a36Sopenharmony_ci 51462306a36Sopenharmony_ci&mcbsp1 { 51562306a36Sopenharmony_ci pinctrl-names = "default"; 51662306a36Sopenharmony_ci pinctrl-0 = <&mcbsp1_pins>; 51762306a36Sopenharmony_ci status = "okay"; 51862306a36Sopenharmony_ci}; 51962306a36Sopenharmony_ci 52062306a36Sopenharmony_ci&twl_usb_comparator { 52162306a36Sopenharmony_ci usb-supply = <&vusb>; 52262306a36Sopenharmony_ci}; 52362306a36Sopenharmony_ci 52462306a36Sopenharmony_ci&uart2 { 52562306a36Sopenharmony_ci interrupts-extended = <&wakeupgen GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH 52662306a36Sopenharmony_ci &omap4_pmx_core OMAP4_UART2_RX>; 52762306a36Sopenharmony_ci}; 52862306a36Sopenharmony_ci 52962306a36Sopenharmony_ci&uart3 { 53062306a36Sopenharmony_ci interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH 53162306a36Sopenharmony_ci &omap4_pmx_core OMAP4_UART3_RX>; 53262306a36Sopenharmony_ci}; 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_ci&uart4 { 53562306a36Sopenharmony_ci interrupts-extended = <&wakeupgen GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH 53662306a36Sopenharmony_ci &omap4_pmx_core OMAP4_UART4_RX>; 53762306a36Sopenharmony_ci}; 53862306a36Sopenharmony_ci 53962306a36Sopenharmony_ci&usb_otg_hs { 54062306a36Sopenharmony_ci interface-type = <1>; 54162306a36Sopenharmony_ci mode = <3>; 54262306a36Sopenharmony_ci power = <50>; 54362306a36Sopenharmony_ci}; 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci&usbhshost { 54662306a36Sopenharmony_ci port1-mode = "ehci-phy"; 54762306a36Sopenharmony_ci}; 54862306a36Sopenharmony_ci 54962306a36Sopenharmony_ci&usbhsehci { 55062306a36Sopenharmony_ci phys = <&hsusb1_phy>; 55162306a36Sopenharmony_ci 55262306a36Sopenharmony_ci #address-cells = <1>; 55362306a36Sopenharmony_ci #size-cells = <0>; 55462306a36Sopenharmony_ci 55562306a36Sopenharmony_ci hub@1 { 55662306a36Sopenharmony_ci compatible = "usb424,9514"; 55762306a36Sopenharmony_ci reg = <1>; 55862306a36Sopenharmony_ci #address-cells = <1>; 55962306a36Sopenharmony_ci #size-cells = <0>; 56062306a36Sopenharmony_ci 56162306a36Sopenharmony_ci ethernet: ethernet@1 { 56262306a36Sopenharmony_ci compatible = "usb424,ec00"; 56362306a36Sopenharmony_ci reg = <1>; 56462306a36Sopenharmony_ci }; 56562306a36Sopenharmony_ci }; 56662306a36Sopenharmony_ci}; 56762306a36Sopenharmony_ci 56862306a36Sopenharmony_ci&dss { 56962306a36Sopenharmony_ci status = "okay"; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci port { 57262306a36Sopenharmony_ci dpi_out: endpoint { 57362306a36Sopenharmony_ci remote-endpoint = <&tfp410_in>; 57462306a36Sopenharmony_ci data-lines = <24>; 57562306a36Sopenharmony_ci }; 57662306a36Sopenharmony_ci }; 57762306a36Sopenharmony_ci}; 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci&dsi2 { 58062306a36Sopenharmony_ci status = "okay"; 58162306a36Sopenharmony_ci vdd-supply = <&vcxio>; 58262306a36Sopenharmony_ci}; 58362306a36Sopenharmony_ci 58462306a36Sopenharmony_ci&hdmi { 58562306a36Sopenharmony_ci status = "okay"; 58662306a36Sopenharmony_ci vdda-supply = <&vdac>; 58762306a36Sopenharmony_ci 58862306a36Sopenharmony_ci port { 58962306a36Sopenharmony_ci hdmi_out: endpoint { 59062306a36Sopenharmony_ci remote-endpoint = <&tpd12s015_in>; 59162306a36Sopenharmony_ci }; 59262306a36Sopenharmony_ci }; 59362306a36Sopenharmony_ci}; 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_ci&dsp { 59662306a36Sopenharmony_ci status = "okay"; 59762306a36Sopenharmony_ci memory-region = <&dsp_memory_region>; 59862306a36Sopenharmony_ci ti,timers = <&timer5>; 59962306a36Sopenharmony_ci ti,watchdog-timers = <&timer6>; 60062306a36Sopenharmony_ci}; 60162306a36Sopenharmony_ci 60262306a36Sopenharmony_ci&ipu { 60362306a36Sopenharmony_ci status = "okay"; 60462306a36Sopenharmony_ci memory-region = <&ipu_memory_region>; 60562306a36Sopenharmony_ci ti,timers = <&timer3>; 60662306a36Sopenharmony_ci ti,watchdog-timers = <&timer9>, <&timer11>; 60762306a36Sopenharmony_ci}; 608