Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Common Device Tree Source for IGEPv2
0004  *
0005  * Copyright (C) 2014 Javier Martinez Canillas <javier@dowhile0.org>
0006  * Copyright (C) 2014 Enric Balletbo i Serra <eballetbo@gmail.com>
0007  */
0008 
0009 #include "omap3-igep.dtsi"
0010 #include "omap-gpmc-smsc9221.dtsi"
0011 
0012 / {
0013 
0014         leds {
0015                 pinctrl-names = "default";
0016                 pinctrl-0 = <&leds_pins>;
0017                 compatible = "gpio-leds";
0018 
0019                 boot {
0020                          label = "omap3:green:boot";
0021                          gpios = <&gpio1 26 GPIO_ACTIVE_HIGH>;
0022                          default-state = "on";
0023                 };
0024 
0025                 user0 {
0026                          label = "omap3:red:user0";
0027                          gpios = <&gpio1 27 GPIO_ACTIVE_HIGH>;
0028                          default-state = "off";
0029                 };
0030 
0031                 user1 {
0032                          label = "omap3:red:user1";
0033                          gpios = <&gpio1 28 GPIO_ACTIVE_HIGH>;
0034                          default-state = "off";
0035                 };
0036 
0037                 user2 {
0038                         label = "omap3:green:user1";
0039                         gpios = <&twl_gpio 19 GPIO_ACTIVE_LOW>;
0040                 };
0041         };
0042 
0043         /* HS USB Port 1 Power */
0044         hsusb1_power: hsusb1_power_reg {
0045                 compatible = "regulator-fixed";
0046                 regulator-name = "hsusb1_vbus";
0047                 regulator-min-microvolt = <3300000>;
0048                 regulator-max-microvolt = <3300000>;
0049                 gpio = <&twl_gpio 18 GPIO_ACTIVE_LOW>;  /* GPIO LEDA */
0050                 startup-delay-us = <70000>;
0051         };
0052 
0053         /* HS USB Host PHY on PORT 1 */
0054         hsusb1_phy: hsusb1_phy {
0055                 compatible = "usb-nop-xceiv";
0056                 reset-gpios = <&gpio1 24 GPIO_ACTIVE_LOW>; /* gpio_24 */
0057                 vcc-supply = <&hsusb1_power>;
0058                 #phy-cells = <0>;
0059         };
0060 
0061         tfp410: encoder {
0062                 compatible = "ti,tfp410";
0063                 powerdown-gpios = <&gpio6 10 GPIO_ACTIVE_LOW>; /* gpio_170 */
0064 
0065                 ports {
0066                         #address-cells = <1>;
0067                         #size-cells = <0>;
0068 
0069                         port@0 {
0070                                 reg = <0>;
0071 
0072                                 tfp410_in: endpoint {
0073                                         remote-endpoint = <&dpi_out>;
0074                                 };
0075                         };
0076 
0077                         port@1 {
0078                                 reg = <1>;
0079 
0080                                 tfp410_out: endpoint {
0081                                         remote-endpoint = <&dvi_connector_in>;
0082                                 };
0083                         };
0084                 };
0085         };
0086 
0087         dvi0: connector {
0088                 compatible = "dvi-connector";
0089                 label = "dvi";
0090 
0091                 digital;
0092 
0093                 ddc-i2c-bus = <&i2c3>;
0094 
0095                 port {
0096                         dvi_connector_in: endpoint {
0097                                 remote-endpoint = <&tfp410_out>;
0098                         };
0099                 };
0100         };
0101 };
0102 
0103 &omap3_pmx_core {
0104         pinctrl-names = "default";
0105         pinctrl-0 = <
0106                 &tfp410_pins
0107                 &dss_dpi_pins
0108         >;
0109 
0110         tfp410_pins: pinmux_tfp410_pins {
0111                 pinctrl-single,pins = <
0112                         OMAP3_CORE1_IOPAD(0x21c6, PIN_OUTPUT | MUX_MODE4)   /* hdq_sio.gpio_170 */
0113                 >;
0114         };
0115 
0116         dss_dpi_pins: pinmux_dss_dpi_pins {
0117                 pinctrl-single,pins = <
0118                         OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)   /* dss_pclk.dss_pclk */
0119                         OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)   /* dss_hsync.dss_hsync */
0120                         OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)   /* dss_vsync.dss_vsync */
0121                         OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)   /* dss_acbias.dss_acbias */
0122                         OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)   /* dss_data0.dss_data0 */
0123                         OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)   /* dss_data1.dss_data1 */
0124                         OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)   /* dss_data2.dss_data2 */
0125                         OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)   /* dss_data3.dss_data3 */
0126                         OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)   /* dss_data4.dss_data4 */
0127                         OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)   /* dss_data5.dss_data5 */
0128                         OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)   /* dss_data6.dss_data6 */
0129                         OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)   /* dss_data7.dss_data7 */
0130                         OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)   /* dss_data8.dss_data8 */
0131                         OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)   /* dss_data9.dss_data9 */
0132                         OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)   /* dss_data10.dss_data10 */
0133                         OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)   /* dss_data11.dss_data11 */
0134                         OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)   /* dss_data12.dss_data12 */
0135                         OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)   /* dss_data13.dss_data13 */
0136                         OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)   /* dss_data14.dss_data14 */
0137                         OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)   /* dss_data15.dss_data15 */
0138                         OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)   /* dss_data16.dss_data16 */
0139                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)   /* dss_data17.dss_data17 */
0140                         OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)   /* dss_data18.dss_data18 */
0141                         OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)   /* dss_data19.dss_data19 */
0142                         OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)   /* dss_data20.dss_data20 */
0143                         OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)   /* dss_data21.dss_data21 */
0144                         OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)   /* dss_data22.dss_data22 */
0145                         OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)   /* dss_data23.dss_data23 */
0146                 >;
0147         };
0148 
0149         uart2_pins: pinmux_uart2_pins {
0150                 pinctrl-single,pins = <
0151                         OMAP3_CORE1_IOPAD(0x2174, PIN_INPUT | MUX_MODE0)        /* uart2_cts.uart2_cts */
0152                         OMAP3_CORE1_IOPAD(0x2176, PIN_OUTPUT | MUX_MODE0)       /* uart2_rts .uart2_rts*/
0153                         OMAP3_CORE1_IOPAD(0x2178, PIN_OUTPUT | MUX_MODE0)       /* uart2_tx.uart2_tx */
0154                         OMAP3_CORE1_IOPAD(0x217a, PIN_INPUT | MUX_MODE0)        /* uart2_rx.uart2_rx */
0155                 >;
0156         };
0157 
0158         smsc9221_pins: pinmux_smsc9221_pins {
0159                 pinctrl-single,pins = <
0160                         OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4)        /* mcspi1_cs2.gpio_176 */
0161                 >;
0162         };
0163 };
0164 
0165 &omap3_pmx_core2 {
0166         pinctrl-names = "default";
0167         pinctrl-0 = <
0168                 &hsusbb1_pins
0169         >;
0170 
0171         hsusbb1_pins: pinmux_hsusbb1_pins {
0172                 pinctrl-single,pins = <
0173                         OMAP3630_CORE2_IOPAD(0x25da, PIN_OUTPUT | MUX_MODE3)            /* etk_ctl.hsusb1_clk */
0174                         OMAP3630_CORE2_IOPAD(0x25d8, PIN_OUTPUT | MUX_MODE3)            /* etk_clk.hsusb1_stp */
0175                         OMAP3630_CORE2_IOPAD(0x25ec, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d8.hsusb1_dir */
0176                         OMAP3630_CORE2_IOPAD(0x25ee, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d9.hsusb1_nxt */
0177                         OMAP3630_CORE2_IOPAD(0x25dc, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d0.hsusb1_data0 */
0178                         OMAP3630_CORE2_IOPAD(0x25de, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d1.hsusb1_data1 */
0179                         OMAP3630_CORE2_IOPAD(0x25e0, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d2.hsusb1_data2 */
0180                         OMAP3630_CORE2_IOPAD(0x25e2, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d3.hsusb1_data7 */
0181                         OMAP3630_CORE2_IOPAD(0x25e4, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d4.hsusb1_data4 */
0182                         OMAP3630_CORE2_IOPAD(0x25e6, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d5.hsusb1_data5 */
0183                         OMAP3630_CORE2_IOPAD(0x25e8, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d6.hsusb1_data6 */
0184                         OMAP3630_CORE2_IOPAD(0x25ea, PIN_INPUT_PULLDOWN | MUX_MODE3)    /* etk_d7.hsusb1_data3 */
0185                 >;
0186         };
0187 
0188         leds_pins: pinmux_leds_pins {
0189                 pinctrl-single,pins = <
0190                         OMAP3630_CORE2_IOPAD(0x25f4, PIN_OUTPUT | MUX_MODE4) /* etk_d12.gpio_26 */
0191                         OMAP3630_CORE2_IOPAD(0x25f6, PIN_OUTPUT | MUX_MODE4) /* etk_d13.gpio_27 */
0192                         OMAP3630_CORE2_IOPAD(0x25f8, PIN_OUTPUT | MUX_MODE4) /* etk_d14.gpio_28 */
0193                 >;
0194         };
0195 
0196         mmc1_wp_pins: pinmux_mmc1_cd_pins {
0197                 pinctrl-single,pins = <
0198                         OMAP3630_CORE2_IOPAD(0x25fa, PIN_INPUT | MUX_MODE4)   /* etk_d15.gpio_29 */
0199                 >;
0200         };
0201 };
0202 
0203 &i2c3 {
0204         clock-frequency = <100000>;
0205 
0206         /*
0207          * Display monitor features are burnt in the EEPROM
0208          * as EDID data.
0209          */
0210         eeprom@50 {
0211                 compatible = "ti,eeprom";
0212                 reg = <0x50>;
0213         };
0214 };
0215 
0216 &gpmc {
0217         ranges = <0 0 0x30000000 0x01000000>,   /* CS0: 16MB for NAND */
0218                  <5 0 0x2c000000 0x01000000>;   /* CS5: 16MB for ethernet */
0219 
0220         ethernet@gpmc {
0221                 pinctrl-names = "default";
0222                 pinctrl-0 = <&smsc9221_pins>;
0223                 reg = <5 0 0xff>;
0224                 interrupt-parent = <&gpio6>;
0225                 interrupts = <16 IRQ_TYPE_LEVEL_LOW>;
0226         };
0227 };
0228 
0229 &uart2 {
0230         pinctrl-names = "default";
0231         pinctrl-0 = <&uart2_pins>;
0232 };
0233 
0234 &usbhshost {
0235         port1-mode = "ehci-phy";
0236 };
0237 
0238 &usbhsehci {
0239         phys = <&hsusb1_phy>;
0240 };
0241 
0242 &vpll2 {
0243         /* Needed for DSS */
0244         regulator-name = "vdds_dsi";
0245 };
0246 
0247 &dss {
0248         status = "okay";
0249 
0250         port {
0251                 dpi_out: endpoint {
0252                         remote-endpoint = <&tfp410_in>;
0253                         data-lines = <24>;
0254                 };
0255         };
0256 };
0257 
0258 &mmc1 {
0259         pinctrl-0 = <&mmc1_pins &mmc1_wp_pins>;
0260         wp-gpios = <&gpio1 29 GPIO_ACTIVE_LOW>; /* gpio_29 */
0261 };