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-n950.dts

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  * omap3-n950.dts - Device Tree file for Nokia N950
    4  *
    5  * Written by: Aaro Koskinen <aaro.koskinen@iki.fi>
    6  */
    7 
    8 /dts-v1/;
    9 
   10 #include "omap3-n950-n9.dtsi"
   11 #include <dt-bindings/input/input.h>
   12 
   13 / {
   14         model = "Nokia N950";
   15         compatible = "nokia,omap3-n950", "ti,omap3630", "ti,omap36xx", "ti,omap3";
   16 
   17         keys {
   18                 compatible = "gpio-keys";
   19 
   20                 keypad_slide {
   21                         label = "Keypad Slide";
   22                         gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* 109 */
   23                         linux,input-type = <EV_SW>;
   24                         linux,code = <SW_KEYPAD_SLIDE>;
   25                         wakeup-source;
   26                         pinctrl-names = "default";
   27                         pinctrl-0 = <&keypad_slide_pins>;
   28                 };
   29         };
   30 };
   31 
   32 &omap3_pmx_core {
   33         keypad_slide_pins: pinmux_debug_led_pins {
   34                 pinctrl-single,pins = <
   35                         OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)       /* cam_d10.gpio_109 */
   36                 >;
   37         };
   38 };
   39 
   40 &omap3_pmx_core {
   41         spi4_pins: pinmux_spi4_pins {
   42                 pinctrl-single,pins = <
   43                         OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
   44                         OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
   45                         OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
   46                         OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
   47                 >;
   48         };
   49 };
   50 
   51 &omap3_pmx_core {
   52         dsi_pins: pinmux_dsi_pins {
   53                 pinctrl-single,pins = <
   54                         OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE1) /* dsi_dx0 - data0+ */
   55                         OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE1) /* dsi_dy0 - data0- */
   56                         OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE1) /* dsi_dx1 - clk+   */
   57                         OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE1) /* dsi_dy1 - clk-   */
   58                         OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE1) /* dsi_dx2 - data1+ */
   59                         OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE1) /* dsi_dy2 - data1- */
   60                 >;
   61         };
   62 
   63         display_pins: pinmux_display_pins {
   64                 pinctrl-single,pins = <
   65                         OMAP3_CORE1_IOPAD(0x20ca, PIN_INPUT | MUX_MODE4) /* gpio 62 - display te */
   66                         OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE4) /* gpio 87 - display reset */
   67                 >;
   68         };
   69 };
   70 
   71 &i2c2 {
   72         smia_1: camera@10 {
   73                 compatible = "nokia,smia";
   74                 reg = <0x10>;
   75                 /* No reset gpio */
   76                 vana-supply = <&vaux3>;
   77                 clocks = <&isp 0>;
   78                 clock-frequency = <9600000>;
   79                 flash-leds = <&as3645a_flash &as3645a_indicator>;
   80                 port {
   81                         smia_1_1: endpoint {
   82                                 link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
   83                                 clock-lanes = <0>;
   84                                 data-lanes = <1 2>;
   85                                 remote-endpoint = <&csi2a_ep>;
   86                         };
   87                 };
   88         };
   89 };
   90 
   91 &isp {
   92         vdd-csiphy1-supply = <&vaux2>;
   93         vdd-csiphy2-supply = <&vaux2>;
   94         ports {
   95                 port@2 {
   96                         reg = <2>;
   97                         csi2a_ep: endpoint {
   98                                 remote-endpoint = <&smia_1_1>;
   99                                 clock-lanes = <2>;
  100                                 data-lanes = <3 1>;
  101                                 crc = <1>;
  102                                 lane-polarities = <1 1 1>;
  103                         };
  104                 };
  105         };
  106 };
  107 
  108 &mcspi4 {
  109         status = "okay";
  110         pinctrl-names = "default";
  111         pinctrl-0 = <&spi4_pins>;
  112 
  113         wlcore: wlcore@0 {
  114                 compatible = "ti,wl1271";
  115                 pinctrl-names = "default";
  116                 pinctrl-0 = <&wlan_pins>;
  117                 reg = <0>;
  118                 spi-max-frequency = <48000000>;
  119                 clock-xtal;
  120                 ref-clock-frequency = <38400000>;
  121                 interrupts-extended = <&gpio2 10 IRQ_TYPE_LEVEL_HIGH>; /* gpio 42 */
  122                 vwlan-supply = <&vwlan_fixed>;
  123         };
  124 };
  125 
  126 &modem {
  127         compatible = "nokia,n950-modem";
  128 };
  129 
  130 &twl {
  131         twl_audio: audio {
  132                 compatible = "ti,twl4030-audio";
  133                 ti,enable-vibra = <1>;
  134         };
  135 };
  136 
  137 &twl_keypad {
  138         linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_BACKSLASH)
  139                          MATRIX_KEY(0x01, 0x00, KEY_LEFTSHIFT)
  140                          MATRIX_KEY(0x02, 0x00, KEY_COMPOSE)
  141                          MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA)
  142                          MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
  143                          MATRIX_KEY(0x05, 0x00, KEY_BACKSPACE)
  144                          MATRIX_KEY(0x06, 0x00, KEY_VOLUMEDOWN)
  145                          MATRIX_KEY(0x07, 0x00, KEY_VOLUMEUP)
  146 
  147                          MATRIX_KEY(0x03, 0x01, KEY_Z)
  148                          MATRIX_KEY(0x04, 0x01, KEY_A)
  149                          MATRIX_KEY(0x05, 0x01, KEY_Q)
  150                          MATRIX_KEY(0x06, 0x01, KEY_W)
  151                          MATRIX_KEY(0x07, 0x01, KEY_E)
  152 
  153                          MATRIX_KEY(0x03, 0x02, KEY_X)
  154                          MATRIX_KEY(0x04, 0x02, KEY_S)
  155                          MATRIX_KEY(0x05, 0x02, KEY_D)
  156                          MATRIX_KEY(0x06, 0x02, KEY_C)
  157                          MATRIX_KEY(0x07, 0x02, KEY_V)
  158 
  159                          MATRIX_KEY(0x03, 0x03, KEY_O)
  160                          MATRIX_KEY(0x04, 0x03, KEY_I)
  161                          MATRIX_KEY(0x05, 0x03, KEY_U)
  162                          MATRIX_KEY(0x06, 0x03, KEY_L)
  163                          MATRIX_KEY(0x07, 0x03, KEY_APOSTROPHE)
  164 
  165                          MATRIX_KEY(0x03, 0x04, KEY_Y)
  166                          MATRIX_KEY(0x04, 0x04, KEY_K)
  167                          MATRIX_KEY(0x05, 0x04, KEY_J)
  168                          MATRIX_KEY(0x06, 0x04, KEY_H)
  169                          MATRIX_KEY(0x07, 0x04, KEY_G)
  170 
  171                          MATRIX_KEY(0x03, 0x05, KEY_B)
  172                          MATRIX_KEY(0x04, 0x05, KEY_COMMA)
  173                          MATRIX_KEY(0x05, 0x05, KEY_M)
  174                          MATRIX_KEY(0x06, 0x05, KEY_N)
  175                          MATRIX_KEY(0x07, 0x05, KEY_DOT)
  176 
  177                          MATRIX_KEY(0x00, 0x06, KEY_SPACE)
  178                          MATRIX_KEY(0x03, 0x06, KEY_T)
  179                          MATRIX_KEY(0x04, 0x06, KEY_UP)
  180                          MATRIX_KEY(0x05, 0x06, KEY_LEFT)
  181                          MATRIX_KEY(0x06, 0x06, KEY_RIGHT)
  182                          MATRIX_KEY(0x07, 0x06, KEY_DOWN)
  183 
  184                          MATRIX_KEY(0x03, 0x07, KEY_P)
  185                          MATRIX_KEY(0x04, 0x07, KEY_ENTER)
  186                          MATRIX_KEY(0x05, 0x07, KEY_SLASH)
  187                          MATRIX_KEY(0x06, 0x07, KEY_F)
  188                          MATRIX_KEY(0x07, 0x07, KEY_R)
  189                          >;
  190 };
  191 
  192 &lis302 {
  193         st,axis-x = <(-2)>; /* LIS3_INV_DEV_Y */
  194         st,axis-y = <(-1)>; /* LIS3_INV_DEV_X */
  195         st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */
  196 
  197         st,min-limit-x = <(-32)>;
  198         st,min-limit-y = <3>;
  199         st,min-limit-z = <3>;
  200 
  201         st,max-limit-x = <(-3)>;
  202         st,max-limit-y = <32>;
  203         st,max-limit-z = <32>;
  204 };
  205 
  206 &dss {
  207         status = "okay";
  208 
  209         vdda_video-supply = <&vdac>;
  210 };
  211 
  212 &dsi {
  213         status = "okay";
  214 
  215         pinctrl-names = "default";
  216         pinctrl-0 = <&dsi_pins>;
  217 
  218         vdd-supply = <&vpll2>;
  219 
  220         port {
  221                 dsi_out_ep: endpoint {
  222                         remote-endpoint = <&lcd0_in>;
  223                         lanes = <2 3 0 1 4 5>;
  224                 };
  225         };
  226 
  227         lcd0: panel@0 {
  228                 compatible = "nokia,himalaya", "panel-dsi-cm";
  229                 reg = <0>;
  230                 label = "lcd0";
  231 
  232                 pinctrl-names = "default";
  233                 pinctrl-0 = <&display_pins>;
  234 
  235                 vpnl-supply = <&vmmc2>;
  236                 vddi-supply = <&vio>;
  237 
  238                 reset-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>;     /* 87 */
  239                 te-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>;        /* 62 */
  240 
  241                 width-mm = <49>; /* 48.960 mm */
  242                 height-mm = <88>; /* 88.128 mm */
  243 
  244                 /* TODO:
  245                  * - panel is upside-down
  246                  * - top + bottom 5px are not visible
  247                  */
  248                 panel-timing {
  249                         clock-frequency = <0>;          /* Calculated by dsi */
  250 
  251                         hback-porch = <2>;
  252                         hactive = <480>;
  253                         hfront-porch = <0>;
  254                         hsync-len = <2>;
  255 
  256                         vback-porch = <1>;
  257                         vactive = <864>;
  258                         vfront-porch = <0>;
  259                         vsync-len = <1>;
  260 
  261                         hsync-active = <0>;
  262                         vsync-active = <0>;
  263                         de-active = <1>;
  264                         pixelclk-active = <1>;
  265                 };
  266 
  267                 port {
  268                         lcd0_in: endpoint {
  269                                 remote-endpoint = <&dsi_out_ep>;
  270                         };
  271                 };
  272         };
  273 };

Cache object: 094b2b01528bf42d6144570a24fc6b2e


[ 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.