The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/src/arm/omap3-pandora-common.dtsi

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 // SPDX-License-Identifier: GPL-2.0-only
    2 /*
    3  * Copyright (C) 2015
    4  *   Nikolaus Schaller <hns@goldelico.com>
    5  *
    6  * Common device tree include for OpenPandora devices.
    7  */
    8 
    9 #include <dt-bindings/input/input.h>
   10 
   11 / {
   12         cpus {
   13                 cpu@0 {
   14                         cpu0-supply = <&vcc>;
   15                 };
   16         };
   17 
   18         memory@80000000 {
   19                 device_type = "memory";
   20                 reg = <0x80000000 0x20000000>; /* 512 MB */
   21         };
   22 
   23         aliases {
   24                 display0 = &lcd;
   25         };
   26 
   27         /* fixed 26MHz oscillator */
   28         hfclk_26m: oscillator {
   29                 #clock-cells = <0>;
   30                 compatible = "fixed-clock";
   31                 clock-frequency = <26000000>;
   32         };
   33 
   34         tv: connector {
   35                 compatible = "connector-analog-tv";
   36                 label = "tv";
   37 
   38                 port {
   39                         tv_connector_in: endpoint {
   40                                 remote-endpoint = <&venc_out>;
   41                         };
   42                 };
   43         };
   44 
   45         gpio-leds {
   46 
   47                 compatible = "gpio-leds";
   48 
   49                 pinctrl-names = "default";
   50                 pinctrl-0 = <&led_pins>;
   51 
   52                 led1 {
   53                         label = "pandora::sd1";
   54                         gpios = <&gpio5 0 GPIO_ACTIVE_HIGH>;    /* GPIO_128 */
   55                         linux,default-trigger = "mmc0";
   56                         default-state = "off";
   57                 };
   58 
   59                 led2 {
   60                         label = "pandora::sd2";
   61                         gpios = <&gpio5 1 GPIO_ACTIVE_HIGH>;    /* GPIO_129 */
   62                         linux,default-trigger = "mmc1";
   63                         default-state = "off";
   64                 };
   65 
   66                 led3 {
   67                         label = "pandora::bluetooth";
   68                         gpios = <&gpio5 30 GPIO_ACTIVE_HIGH>;   /* GPIO_158 */
   69                         linux,default-trigger = "heartbeat";
   70                         default-state = "off";
   71                 };
   72 
   73                 led4 {
   74                         label = "pandora::wifi";
   75                         gpios = <&gpio5 31 GPIO_ACTIVE_HIGH>;   /* GPIO_159 */
   76                         linux,default-trigger = "mmc2";
   77                         default-state = "off";
   78                 };
   79         };
   80 
   81         gpio-keys {
   82                 compatible = "gpio-keys";
   83 
   84                 pinctrl-names = "default";
   85                 pinctrl-0 = <&button_pins>;
   86 
   87                 up-button {
   88                         label = "up";
   89                         linux,code = <KEY_UP>;
   90                         gpios = <&gpio4 14 GPIO_ACTIVE_LOW>;    /* GPIO_110 */
   91                         wakeup-source;
   92                 };
   93 
   94                 down-button {
   95                         label = "down";
   96                         linux,code = <KEY_DOWN>;
   97                         gpios = <&gpio4 7 GPIO_ACTIVE_LOW>;     /* GPIO_103 */
   98                         wakeup-source;
   99                 };
  100 
  101                 left-button {
  102                         label = "left";
  103                         linux,code = <KEY_LEFT>;
  104                         gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;     /* GPIO_96 */
  105                         wakeup-source;
  106                 };
  107 
  108                 right-button {
  109                         label = "right";
  110                         linux,code = <KEY_RIGHT>;
  111                         gpios = <&gpio4 2 GPIO_ACTIVE_LOW>;     /* GPIO_98 */
  112                         wakeup-source;
  113                 };
  114 
  115                 pageup-button {
  116                         label = "game 1";
  117                         linux,code = <KEY_PAGEUP>;
  118                         gpios = <&gpio4 13 GPIO_ACTIVE_LOW>;    /* GPIO_109 */
  119                         wakeup-source;
  120                 };
  121 
  122                 pagedown-button {
  123                         label = "game 3";
  124                         linux,code = <KEY_PAGEDOWN>;
  125                         gpios = <&gpio4 10 GPIO_ACTIVE_LOW>;    /* GPIO_106 */
  126                         wakeup-source;
  127                 };
  128 
  129                 home-button {
  130                         label = "game 4";
  131                         linux,code = <KEY_HOME>;
  132                         gpios = <&gpio4 5 GPIO_ACTIVE_LOW>;     /* GPIO_101 */
  133                         wakeup-source;
  134                 };
  135 
  136                 end-button {
  137                         label = "game 2";
  138                         linux,code = <KEY_END>;
  139                         gpios = <&gpio4 15 GPIO_ACTIVE_LOW>;    /* GPIO_111 */
  140                         wakeup-source;
  141                 };
  142 
  143                 right-shift {
  144                         label = "l";
  145                         linux,code = <KEY_RIGHTSHIFT>;
  146                         gpios = <&gpio4 6 GPIO_ACTIVE_LOW>;     /* GPIO_102 */
  147                         wakeup-source;
  148                 };
  149 
  150                 kp-plus {
  151                         label = "l2";
  152                         linux,code = <KEY_KPPLUS>;
  153                         gpios = <&gpio4 1 GPIO_ACTIVE_LOW>;     /* GPIO_97 */
  154                         wakeup-source;
  155                 };
  156 
  157                 right-ctrl {
  158                         label = "r";
  159                         linux,code = <KEY_RIGHTCTRL>;
  160                         gpios = <&gpio4 9 GPIO_ACTIVE_LOW>;     /* GPIO_105 */
  161                         wakeup-source;
  162                 };
  163 
  164                 kp-minus {
  165                         label = "r2";
  166                         linux,code = <KEY_KPMINUS>;
  167                         gpios = <&gpio4 11 GPIO_ACTIVE_LOW>;    /* GPIO_107 */
  168                         wakeup-source;
  169                 };
  170 
  171                 left-ctrl {
  172                         label = "ctrl";
  173                         linux,code = <KEY_LEFTCTRL>;
  174                         gpios = <&gpio4 8 GPIO_ACTIVE_LOW>;     /* GPIO_104 */
  175                         wakeup-source;
  176                 };
  177 
  178                 menu {
  179                         label = "menu";
  180                         linux,code = <KEY_MENU>;
  181                         gpios = <&gpio4 3 GPIO_ACTIVE_LOW>;     /* GPIO_99 */
  182                         wakeup-source;
  183                 };
  184 
  185                 hold {
  186                         label = "hold";
  187                         linux,code = <KEY_COFFEE>;
  188                         gpios = <&gpio6 16 GPIO_ACTIVE_LOW>;    /* GPIO_176 */
  189                         wakeup-source;
  190                 };
  191 
  192                 left-alt {
  193                         label = "alt";
  194                         linux,code = <KEY_LEFTALT>;
  195                         gpios = <&gpio4 4 GPIO_ACTIVE_HIGH>;    /* GPIO_100 */
  196                         wakeup-source;
  197                 };
  198 
  199                 lid {
  200                         label = "lid";
  201                         linux,code = <0x00>;    /* SW_LID lid shut */
  202                         linux,input-type = <0x05>;    /* EV_SW */
  203                         gpios = <&gpio4 12 GPIO_ACTIVE_HIGH>;   /* GPIO_108 */
  204                 };
  205         };
  206 
  207         /* HS USB Host PHY on PORT 2 */
  208         hsusb2_phy: hsusb2_phy {
  209                 compatible = "usb-nop-xceiv";
  210                 reset-gpios = <&gpio1 16 GPIO_ACTIVE_LOW>; /* GPIO_16 */
  211                 vcc-supply = <&vaux2>;
  212                 #phy-cells = <0>;
  213         };
  214 
  215         /* HS USB Host VBUS supply
  216          * disabling this regulator causes current leakage, and LCD flicker
  217          * on earlier (CC) board revisions, so keep it always on */
  218         usb_host_5v: fixed-regulator-usb_host_5v {
  219                 compatible = "regulator-fixed";
  220                 regulator-name = "usb_host_5v";
  221                 regulator-min-microvolt = <5000000>;
  222                 regulator-max-microvolt = <5000000>;
  223                 regulator-always-on;
  224                 regulator-boot-on;
  225                 enable-active-high;
  226                 gpio = <&gpio6 4 GPIO_ACTIVE_HIGH>;     /* GPIO_164 */
  227         };
  228 
  229         /* wl1251 wifi+bt module */
  230         wlan_en: fixed-regulator-wg7210_en {
  231                 compatible = "regulator-fixed";
  232                 regulator-name = "vwlan";
  233                 regulator-min-microvolt = <1800000>;
  234                 regulator-max-microvolt = <1800000>;
  235                 startup-delay-us = <50000>;
  236                 enable-active-high;
  237                 gpio = <&gpio1 23 GPIO_ACTIVE_HIGH>;
  238         };
  239 
  240         /* wg7210 (wifi+bt module) 32k clock buffer */
  241         wg7210_32k: fixed-regulator-wg7210_32k {
  242                 compatible = "regulator-fixed";
  243                 regulator-name = "wg7210_32k";
  244                 regulator-min-microvolt = <1800000>;
  245                 regulator-max-microvolt = <1800000>;
  246                 regulator-always-on;
  247                 enable-active-high;
  248                 gpio = <&twl_gpio 13 GPIO_ACTIVE_HIGH>;
  249         };
  250 };
  251 
  252 &omap3_pmx_core {
  253 
  254         mmc1_pins: pinmux_mmc1_pins {
  255                 pinctrl-single,pins = <
  256                         OMAP3_CORE1_IOPAD(0x2144, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_clk.sdmmc1_clk */
  257                         OMAP3_CORE1_IOPAD(0x2146, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_cmd.sdmmc1_cmd */
  258                         OMAP3_CORE1_IOPAD(0x2148, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat0.sdmmc1_dat0 */
  259                         OMAP3_CORE1_IOPAD(0x214a, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat1.sdmmc1_dat1 */
  260                         OMAP3_CORE1_IOPAD(0x214c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat2.sdmmc1_dat2 */
  261                         OMAP3_CORE1_IOPAD(0x214e, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc1_dat3.sdmmc1_dat3 */
  262                 >;
  263         };
  264 
  265         mmc2_pins: pinmux_mmc2_pins {
  266                 pinctrl-single,pins = <
  267                         OMAP3_CORE1_IOPAD(0x2158, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_clk.sdmmc2_clk */
  268                         OMAP3_CORE1_IOPAD(0x215a, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_cmd.sdmmc2_cmd */
  269                         OMAP3_CORE1_IOPAD(0x215c, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat0.sdmmc2_dat0 */
  270                         OMAP3_CORE1_IOPAD(0x215e, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat1.sdmmc2_dat1 */
  271                         OMAP3_CORE1_IOPAD(0x2160, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat2.sdmmc2_dat2 */
  272                         OMAP3_CORE1_IOPAD(0x2162, PIN_INPUT_PULLUP | MUX_MODE0)         /* sdmmc2_dat3.sdmmc2_dat3 */
  273                         OMAP3_CORE1_IOPAD(0x2164, PIN_OUTPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat4.sdmmc2_dirdat0 */
  274                         OMAP3_CORE1_IOPAD(0x2166, PIN_OUTPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat5.sdmmc2_dirdat1 */
  275                         OMAP3_CORE1_IOPAD(0x2168, PIN_OUTPUT_PULLUP | MUX_MODE1)        /* sdmmc2_dat6.sdmmc2_dircmd */
  276                         OMAP3_CORE1_IOPAD(0x216a, PIN_INPUT_PULLUP | MUX_MODE1)         /* sdmmc2_dat7.sdmmc2_clkin */
  277                 >;
  278         };
  279 
  280         dss_dpi_pins: pinmux_dss_dpi_pins {
  281                 pinctrl-single,pins = <
  282                         OMAP3_CORE1_IOPAD(0x20d4, PIN_OUTPUT | MUX_MODE0)       /* dss_pclk.dss_pclk */
  283                         OMAP3_CORE1_IOPAD(0x20d6, PIN_OUTPUT | MUX_MODE0)       /* dss_hsync.dss_hsync */
  284                         OMAP3_CORE1_IOPAD(0x20d8, PIN_OUTPUT | MUX_MODE0)       /* dss_vsync.dss_vsync */
  285                         OMAP3_CORE1_IOPAD(0x20da, PIN_OUTPUT | MUX_MODE0)       /* dss_acbias.dss_acbias */
  286                         OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE0)       /* dss_data0.dss_data0 */
  287                         OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE0)       /* dss_data1.dss_data1 */
  288                         OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE0)       /* dss_data2.dss_data2 */
  289                         OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE0)       /* dss_data3.dss_data3 */
  290                         OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE0)       /* dss_data4.dss_data4 */
  291                         OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE0)       /* dss_data5.dss_data5 */
  292                         OMAP3_CORE1_IOPAD(0x20e8, PIN_OUTPUT | MUX_MODE0)       /* dss_data6.dss_data6 */
  293                         OMAP3_CORE1_IOPAD(0x20ea, PIN_OUTPUT | MUX_MODE0)       /* dss_data7.dss_data7 */
  294                         OMAP3_CORE1_IOPAD(0x20ec, PIN_OUTPUT | MUX_MODE0)       /* dss_data8.dss_data8 */
  295                         OMAP3_CORE1_IOPAD(0x20ee, PIN_OUTPUT | MUX_MODE0)       /* dss_data9.dss_data9 */
  296                         OMAP3_CORE1_IOPAD(0x20f0, PIN_OUTPUT | MUX_MODE0)       /* dss_data10.dss_data10 */
  297                         OMAP3_CORE1_IOPAD(0x20f2, PIN_OUTPUT | MUX_MODE0)       /* dss_data11.dss_data11 */
  298                         OMAP3_CORE1_IOPAD(0x20f4, PIN_OUTPUT | MUX_MODE0)       /* dss_data12.dss_data12 */
  299                         OMAP3_CORE1_IOPAD(0x20f6, PIN_OUTPUT | MUX_MODE0)       /* dss_data13.dss_data13 */
  300                         OMAP3_CORE1_IOPAD(0x20f8, PIN_OUTPUT | MUX_MODE0)       /* dss_data14.dss_data14 */
  301                         OMAP3_CORE1_IOPAD(0x20fa, PIN_OUTPUT | MUX_MODE0)       /* dss_data15.dss_data15 */
  302                         OMAP3_CORE1_IOPAD(0x20fc, PIN_OUTPUT | MUX_MODE0)       /* dss_data16.dss_data16 */
  303                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE0)       /* dss_data17.dss_data17 */
  304                         OMAP3_CORE1_IOPAD(0x2100, PIN_OUTPUT | MUX_MODE0)       /* dss_data18.dss_data18 */
  305                         OMAP3_CORE1_IOPAD(0x2102, PIN_OUTPUT | MUX_MODE0)       /* dss_data19.dss_data19 */
  306                         OMAP3_CORE1_IOPAD(0x2104, PIN_OUTPUT | MUX_MODE0)       /* dss_data20.dss_data20 */
  307                         OMAP3_CORE1_IOPAD(0x2106, PIN_OUTPUT | MUX_MODE0)       /* dss_data21.dss_data21 */
  308                         OMAP3_CORE1_IOPAD(0x2108, PIN_OUTPUT | MUX_MODE0)       /* dss_data22.dss_data22 */
  309                         OMAP3_CORE1_IOPAD(0x210a, PIN_OUTPUT | MUX_MODE0)       /* dss_data23.dss_data23 */
  310                         OMAP3_CORE1_IOPAD(0x218e, PIN_OUTPUT | MUX_MODE4)       /* GPIO_157 = lcd reset */
  311                 >;
  312         };
  313 
  314         uart3_pins: pinmux_uart3_pins {
  315                 pinctrl-single,pins = <
  316                         OMAP3_CORE1_IOPAD(0x219e, PIN_INPUT | PIN_OFF_WAKEUPENABLE | MUX_MODE0) /* uart3_rx_irrx.uart3_rx_irrx */
  317                         OMAP3_CORE1_IOPAD(0x21a0, PIN_OUTPUT | MUX_MODE0) /* uart3_tx_irtx.uart3_tx_irtx */
  318                 >;
  319         };
  320 
  321         led_pins: pinmux_leds_pins {
  322                 pinctrl-single,pins = <
  323                         OMAP3_CORE1_IOPAD(0x2154, PIN_OUTPUT | MUX_MODE4)       /* GPIO_128 */
  324                         OMAP3_CORE1_IOPAD(0x2156, PIN_OUTPUT | MUX_MODE4)       /* GPIO_129 */
  325                         OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE4)       /* GPIO_158 */
  326                         OMAP3_CORE1_IOPAD(0x2192, PIN_OUTPUT | MUX_MODE4)       /* GPIO_159 */
  327                 >;
  328         };
  329 
  330         button_pins: pinmux_button_pins {
  331                 pinctrl-single,pins = <
  332                         OMAP3_CORE1_IOPAD(0x2110, PIN_INPUT | MUX_MODE4)        /* GPIO_96 */
  333                         OMAP3_CORE1_IOPAD(0x2112, PIN_INPUT | MUX_MODE4)        /* GPIO_97 */
  334                         OMAP3_CORE1_IOPAD(0x2114, PIN_INPUT | MUX_MODE4)        /* GPIO_98 */
  335                         OMAP3_CORE1_IOPAD(0x2116, PIN_INPUT | MUX_MODE4)        /* GPIO_99 */
  336                         OMAP3_CORE1_IOPAD(0x2118, PIN_INPUT | MUX_MODE4)        /* GPIO_100 */
  337                         OMAP3_CORE1_IOPAD(0x211a, PIN_INPUT | MUX_MODE4)        /* GPIO_101 */
  338                         OMAP3_CORE1_IOPAD(0x211c, PIN_INPUT | MUX_MODE4)        /* GPIO_102 */
  339                         OMAP3_CORE1_IOPAD(0x211e, PIN_INPUT | MUX_MODE4)        /* GPIO_103 */
  340                         OMAP3_CORE1_IOPAD(0x2120, PIN_INPUT | MUX_MODE4)        /* GPIO_104 */
  341                         OMAP3_CORE1_IOPAD(0x2122, PIN_INPUT | MUX_MODE4)        /* GPIO_105 */
  342                         OMAP3_CORE1_IOPAD(0x2124, PIN_INPUT | MUX_MODE4)        /* GPIO_106 */
  343                         OMAP3_CORE1_IOPAD(0x2126, PIN_INPUT | MUX_MODE4)        /* GPIO_107 */
  344                         OMAP3_CORE1_IOPAD(0x2128, PIN_INPUT | MUX_MODE4)        /* GPIO_108 */
  345                         OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)        /* GPIO_109 */
  346                         OMAP3_CORE1_IOPAD(0x212c, PIN_INPUT | MUX_MODE4)        /* GPIO_110 */
  347                         OMAP3_CORE1_IOPAD(0x212e, PIN_INPUT | MUX_MODE4)        /* GPIO_111 */
  348                         OMAP3_CORE1_IOPAD(0x21d2, PIN_INPUT | MUX_MODE4)        /* GPIO_176 */
  349                 >;
  350         };
  351 
  352         penirq_pins: pinmux_penirq_pins {
  353                 pinctrl-single,pins = <
  354                         /* here we could enable to wakeup the cpu from suspend by a pen touch */
  355                         OMAP3_CORE1_IOPAD(0x210c, PIN_INPUT | MUX_MODE4)        /* GPIO_94 */
  356                 >;
  357         };
  358 
  359 };
  360 
  361 &omap3_pmx_core2 {
  362         /* define in CPU specific file that includes this one
  363          * use either OMAP3430_CORE2_IOPAD() or OMAP3630_CORE2_IOPAD()
  364          */
  365 };
  366 
  367 &i2c1 {
  368         clock-frequency = <2600000>;
  369 
  370         twl: twl@48 {
  371                 reg = <0x48>;
  372                 interrupts = <7>; /* SYS_NIRQ cascaded to intc */
  373                 interrupt-parent = <&intc>;
  374 
  375                 clocks = <&hfclk_26m>;
  376                 clock-names = "fck";
  377 
  378                 twl_power: power {
  379                         compatible = "ti,twl4030-power-reset";
  380                         ti,use_poweroff;
  381                 };
  382 
  383                 twl_audio: audio {
  384                         compatible = "ti,twl4030-audio";
  385 
  386                         codec {
  387                                 ti,ramp_delay_value = <3>;
  388                         };
  389                 };
  390         };
  391 };
  392 
  393 #include "twl4030.dtsi"
  394 #include "twl4030_omap3.dtsi"
  395 
  396 &twl_keypad {
  397         keypad,num-rows = <8>;
  398         keypad,num-columns = <6>;
  399         linux,keymap = <
  400                 MATRIX_KEY(0, 0, KEY_9)
  401                 MATRIX_KEY(0, 1, KEY_8)
  402                 MATRIX_KEY(0, 2, KEY_I)
  403                 MATRIX_KEY(0, 3, KEY_J)
  404                 MATRIX_KEY(0, 4, KEY_N)
  405                 MATRIX_KEY(0, 5, KEY_M)
  406                 MATRIX_KEY(1, 0, KEY_0)
  407                 MATRIX_KEY(1, 1, KEY_7)
  408                 MATRIX_KEY(1, 2, KEY_U)
  409                 MATRIX_KEY(1, 3, KEY_H)
  410                 MATRIX_KEY(1, 4, KEY_B)
  411                 MATRIX_KEY(1, 5, KEY_SPACE)
  412                 MATRIX_KEY(2, 0, KEY_BACKSPACE)
  413                 MATRIX_KEY(2, 1, KEY_6)
  414                 MATRIX_KEY(2, 2, KEY_Y)
  415                 MATRIX_KEY(2, 3, KEY_G)
  416                 MATRIX_KEY(2, 4, KEY_V)
  417                 MATRIX_KEY(2, 5, KEY_FN)
  418                 MATRIX_KEY(3, 0, KEY_O)
  419                 MATRIX_KEY(3, 1, KEY_5)
  420                 MATRIX_KEY(3, 2, KEY_T)
  421                 MATRIX_KEY(3, 3, KEY_F)
  422                 MATRIX_KEY(3, 4, KEY_C)
  423                 MATRIX_KEY(4, 0, KEY_P)
  424                 MATRIX_KEY(4, 1, KEY_4)
  425                 MATRIX_KEY(4, 2, KEY_R)
  426                 MATRIX_KEY(4, 3, KEY_D)
  427                 MATRIX_KEY(4, 4, KEY_X)
  428                 MATRIX_KEY(5, 0, KEY_K)
  429                 MATRIX_KEY(5, 1, KEY_3)
  430                 MATRIX_KEY(5, 2, KEY_E)
  431                 MATRIX_KEY(5, 3, KEY_S)
  432                 MATRIX_KEY(5, 4, KEY_Z)
  433                 MATRIX_KEY(6, 0, KEY_L)
  434                 MATRIX_KEY(6, 1, KEY_2)
  435                 MATRIX_KEY(6, 2, KEY_W)
  436                 MATRIX_KEY(6, 3, KEY_A)
  437                 MATRIX_KEY(6, 4, KEY_RIGHTBRACE)
  438                 MATRIX_KEY(7, 0, KEY_ENTER)
  439                 MATRIX_KEY(7, 1, KEY_1)
  440                 MATRIX_KEY(7, 2, KEY_Q)
  441                 MATRIX_KEY(7, 3, KEY_LEFTSHIFT)
  442                 MATRIX_KEY(7, 4, KEY_LEFTBRACE )
  443          >;
  444 };
  445 
  446 /* backup battery charger */
  447 &charger {
  448         ti,bb-uvolt = <3200000>;
  449         ti,bb-uamp = <150>;
  450 };
  451 
  452 /* MMC2 */
  453 &vmmc2 {
  454         regulator-min-microvolt = <1850000>;
  455         regulator-max-microvolt = <3150000>;
  456 };
  457 
  458 /* LCD */
  459 &vaux1 {
  460         regulator-min-microvolt = <3000000>;
  461         regulator-max-microvolt = <3000000>;
  462 };
  463 
  464 /* USB Host PHY */
  465 &vaux2 {
  466         regulator-min-microvolt = <1800000>;
  467         regulator-max-microvolt = <1800000>;
  468 };
  469 
  470 /* available on expansion connector */
  471 &vaux3 {
  472         regulator-min-microvolt = <2800000>;
  473         regulator-max-microvolt = <2800000>;
  474 };
  475 
  476 /* ADS7846 and nubs */
  477 &vaux4 {
  478         regulator-min-microvolt = <2800000>;
  479         regulator-max-microvolt = <2800000>;
  480 };
  481 
  482 /* power audio DAC and LID sensor */
  483 &vsim {
  484         regulator-min-microvolt = <2800000>;
  485         regulator-max-microvolt = <2800000>;
  486         regulator-always-on;
  487 };
  488 
  489 &i2c2 {
  490         clock-frequency = <100000>;
  491         /* no clients so we should disable clock */
  492 };
  493 
  494 &i2c3 {
  495         clock-frequency = <100000>;
  496 
  497         bq27500@55 {
  498                 compatible = "ti,bq27500";
  499                 reg = <0x55>;
  500         };
  501 
  502 };
  503 
  504 &usb_otg_hs {
  505         interface-type = <0>;
  506         usb-phy = <&usb2_phy>;
  507         phys = <&usb2_phy>;
  508         phy-names = "usb2-phy";
  509         mode = <3>;
  510         power = <50>;
  511 };
  512 
  513 /*
  514  * Many pandora boards have been produced with defective write-protect switches
  515  * on either slot, so it was decided not to use this feature. If you know
  516  * your board has good switches, feel free to uncomment wp-gpios below.
  517  */
  518 &mmc1 {
  519         pinctrl-names = "default";
  520         pinctrl-0 = <&mmc1_pins>;
  521         vmmc-supply = <&vmmc1>;
  522         bus-width = <4>;
  523         cd-gpios = <&twl_gpio 0 GPIO_ACTIVE_LOW>;
  524         /*wp-gpios = <&gpio4 30 GPIO_ACTIVE_HIGH>;*/    /* GPIO_126 */
  525 };
  526 
  527 &mmc2 {
  528         pinctrl-names = "default";
  529         pinctrl-0 = <&mmc2_pins>;
  530         vmmc-supply = <&vmmc2>;
  531         bus-width = <4>;
  532         cd-gpios = <&twl_gpio 1 GPIO_ACTIVE_LOW>;
  533         /*wp-gpios = <&gpio4 31 GPIO_ACTIVE_HIGH>;*/    /* GPIO_127 */
  534 };
  535 
  536 &mmc3 {
  537         vmmc-supply = <&wlan_en>;
  538 
  539         bus-width = <4>;
  540         non-removable;
  541         ti,non-removable;
  542         cap-power-off-card;
  543 
  544         pinctrl-names = "default";
  545         pinctrl-0 = <&mmc3_pins>;
  546 
  547         #address-cells = <1>;
  548         #size-cells = <0>;
  549 
  550         wlan: wifi@1 {
  551                 compatible = "ti,wl1251";
  552 
  553                 reg = <1>;
  554 
  555                 interrupt-parent = <&gpio1>;
  556                 interrupts = <21 IRQ_TYPE_LEVEL_HIGH>;  /* GPIO_21 */
  557 
  558                 ti,wl1251-has-eeprom;
  559         };
  560 };
  561 
  562 /* bluetooth*/
  563 &uart1 {
  564 };
  565 
  566 /* spare (expansion connector) */
  567 &uart2 {
  568 };
  569 
  570 /* console (expansion connector) */
  571 &uart3 {
  572         pinctrl-names = "default";
  573         pinctrl-0 = <&uart3_pins>;
  574         interrupts-extended = <&intc 74 &omap3_pmx_core OMAP3_UART3_RX>;
  575 };
  576 
  577 &usbhshost {
  578         port2-mode = "ehci-phy";
  579 };
  580 
  581 &usbhsehci {
  582         phys = <0 &hsusb2_phy>;
  583 };
  584 
  585 &gpmc {
  586         ranges = <0 0 0x30000000 0x1000000>; /* CS0: 16MB for NAND */
  587 
  588         nand@0,0 {
  589                 compatible = "ti,omap2-nand";
  590                 reg = <0 0 4>; /* CS0, offset 0, IO size 4 */
  591                 interrupt-parent = <&gpmc>;
  592                 interrupts = <0 IRQ_TYPE_NONE>, /* fifoevent */
  593                              <1 IRQ_TYPE_NONE>; /* termcount */
  594                 nand-bus-width = <16>;
  595                 ti,nand-ecc-opt = "sw";
  596 
  597                 gpmc,sync-clk-ps = <0>;
  598                 gpmc,cs-on-ns = <0>;
  599                 gpmc,cs-rd-off-ns = <44>;
  600                 gpmc,cs-wr-off-ns = <44>;
  601                 gpmc,adv-on-ns = <6>;
  602                 gpmc,adv-rd-off-ns = <34>;
  603                 gpmc,adv-wr-off-ns = <44>;
  604                 gpmc,we-off-ns = <40>;
  605                 gpmc,oe-off-ns = <54>;
  606                 gpmc,access-ns = <64>;
  607                 gpmc,rd-cycle-ns = <82>;
  608                 gpmc,wr-cycle-ns = <82>;
  609                 gpmc,wr-access-ns = <40>;
  610                 gpmc,wr-data-mux-bus-ns = <0>;
  611                 gpmc,device-width = <2>;
  612 
  613                 #address-cells = <1>;
  614                 #size-cells = <1>;
  615 
  616                 /* u-boot uses mtdparts=nand:512k(xloader),1920k(uboot),128k(uboot-env),10m(boot),-(rootfs) */
  617 
  618                 x-loader@0 {
  619                         label = "xloader";
  620                         reg = <0 0x80000>;
  621                 };
  622 
  623                 bootloaders@80000 {
  624                         label = "uboot";
  625                         reg = <0x80000 0x1e0000>;
  626                 };
  627 
  628                 bootloaders_env@260000 {
  629                         label = "uboot-env";
  630                         reg = <0x260000 0x20000>;
  631                 };
  632 
  633                 kernel@280000 {
  634                         label = "boot";
  635                         reg = <0x280000 0xa00000>;
  636                 };
  637 
  638                 filesystem@c80000 {
  639                         label = "rootfs";
  640                         reg = <0xc80000 0>;     /* 0 = MTDPART_SIZ_FULL */
  641                 };
  642         };
  643 };
  644 
  645 &mcspi1 {
  646         tsc2046@0 {
  647                 reg = <0>;      /* CS0 */
  648                 compatible = "ti,tsc2046";
  649                 spi-max-frequency = <1000000>;
  650                 pinctrl-names = "default";
  651                 pinctrl-0 = <&penirq_pins>;
  652                 interrupt-parent = <&gpio3>;
  653                 interrupts = <30 IRQ_TYPE_NONE>;        /* GPIO_94 */
  654                 pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
  655                 vcc-supply = <&vaux4>;
  656 
  657                 ti,x-min = /bits/ 16 <0>;
  658                 ti,x-max = /bits/ 16 <8000>;
  659                 ti,y-min = /bits/ 16 <0>;
  660                 ti,y-max = /bits/ 16 <4800>;
  661                 ti,x-plate-ohms = /bits/ 16 <40>;
  662                 ti,pressure-max = /bits/ 16 <255>;
  663 
  664                 wakeup-source;
  665         };
  666 
  667         lcd: lcd@1 {
  668                 reg = <1>;      /* CS1 */
  669                 compatible = "tpo,td043mtea1";
  670                 spi-max-frequency = <100000>;
  671                 spi-cpol;
  672                 spi-cpha;
  673 
  674                 label = "lcd";
  675                 reset-gpios = <&gpio5 29 GPIO_ACTIVE_LOW>;      /* GPIO_157 */
  676                 vcc-supply = <&vaux1>;
  677 
  678                 port {
  679                         lcd_in: endpoint {
  680                                 remote-endpoint = <&dpi_out>;
  681                         };
  682                 };
  683         };
  684 
  685 
  686 };
  687 
  688 /* n/a - used as GPIOs */
  689 &mcbsp1 {
  690 };
  691 
  692 /* audio DAC */
  693 &mcbsp2 {
  694 };
  695 
  696 /* bluetooth */
  697 &mcbsp3 {
  698 };
  699 
  700 /* to twl4030*/
  701 &mcbsp4 {
  702 };
  703 
  704 &venc {
  705         status = "okay";
  706 
  707         vdda-supply = <&vdac>;
  708 
  709         port {
  710                 venc_out: endpoint {
  711                         remote-endpoint = <&tv_connector_in>;
  712                         ti,channels = <2>;
  713                 };
  714         };
  715 };
  716 
  717 &dss {
  718         pinctrl-names = "default";
  719         pinctrl-0 = < &dss_dpi_pins >;
  720 
  721         status = "okay";
  722         vdds_dsi-supply = <&vpll2>;
  723 
  724         port {
  725                 dpi_out: endpoint {
  726                         remote-endpoint = <&lcd_in>;
  727                         data-lines = <24>;
  728                 };
  729         };
  730 };

Cache object: bb29e16870fabce519767da94565ba33


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.