Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/Linux/arch/arm/boot/dts/ti/omap/   (Open Source Betriebssystem Version 6.17.9©)  Datei vom 24.10.2025 mit Größe 6 kB image not shown  

Quelle  omap3-n950.dts   Sprache: unbekannt

 
// SPDX-License-Identifier: GPL-2.0-only
/*
 * omap3-n950.dts - Device Tree file for Nokia N950
 *
 * Written by: Aaro Koskinen <aaro.koskinen@iki.fi>
 */

/dts-v1/;

#include "omap3-n950-n9.dtsi"
#include <dt-bindings/input/input.h>

/ {
 model = "Nokia N950";
 compatible = "nokia,omap3-n950", "ti,omap3630", "ti,omap3";

 keys {
  compatible = "gpio-keys";

  keypad_slide {
   label = "Keypad Slide";
   gpios = <&gpio4 13 GPIO_ACTIVE_LOW>; /* 109 */
   linux,input-type = <EV_SW>;
   linux,code = <SW_KEYPAD_SLIDE>;
   wakeup-source;
   pinctrl-names = "default";
   pinctrl-0 = <&keypad_slide_pins>;
  };
 };
};

&omap3_pmx_core {
 keypad_slide_pins: debug-led-pins {
  pinctrl-single,pins = <
   OMAP3_CORE1_IOPAD(0x212a, PIN_INPUT | MUX_MODE4)       /* cam_d10.gpio_109 */
  >;
 };
};

&omap3_pmx_core {
 spi4_pins: spi4-pins {
  pinctrl-single,pins = <
   OMAP3_CORE1_IOPAD(0x218c, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_clk */
   OMAP3_CORE1_IOPAD(0x2190, PIN_OUTPUT | MUX_MODE1) /* mcspi4_simo */
   OMAP3_CORE1_IOPAD(0x2192, PIN_INPUT_PULLDOWN | MUX_MODE1) /* mcspi4_somi */
   OMAP3_CORE1_IOPAD(0x2196, PIN_OUTPUT | MUX_MODE1) /* mcspi4_cs0 */
  >;
 };
};

&omap3_pmx_core {
 dsi_pins: dsi-pins {
  pinctrl-single,pins = <
   OMAP3_CORE1_IOPAD(0x20dc, PIN_OUTPUT | MUX_MODE1) /* dsi_dx0 - data0+ */
   OMAP3_CORE1_IOPAD(0x20de, PIN_OUTPUT | MUX_MODE1) /* dsi_dy0 - data0- */
   OMAP3_CORE1_IOPAD(0x20e0, PIN_OUTPUT | MUX_MODE1) /* dsi_dx1 - clk+   */
   OMAP3_CORE1_IOPAD(0x20e2, PIN_OUTPUT | MUX_MODE1) /* dsi_dy1 - clk-   */
   OMAP3_CORE1_IOPAD(0x20e4, PIN_OUTPUT | MUX_MODE1) /* dsi_dx2 - data1+ */
   OMAP3_CORE1_IOPAD(0x20e6, PIN_OUTPUT | MUX_MODE1) /* dsi_dy2 - data1- */
  >;
 };

 display_pins: display-pins {
  pinctrl-single,pins = <
   OMAP3_CORE1_IOPAD(0x20ca, PIN_INPUT | MUX_MODE4) /* gpio 62 - display te */
   OMAP3_CORE1_IOPAD(0x20fe, PIN_OUTPUT | MUX_MODE4) /* gpio 87 - display reset */
  >;
 };
};

&i2c2 {
 smia_1: camera@10 {
  compatible = "nokia,smia";
  reg = <0x10>;
  /* No reset gpio */
  vana-supply = <&vaux3>;
  clocks = <&isp 0>;
  clock-frequency = <9600000>;
  flash-leds = <&as3645a_flash &as3645a_indicator>;
  port {
   smia_1_1: endpoint {
    link-frequencies = /bits/ 64 <210000000 333600000 398400000>;
    clock-lanes = <0>;
    data-lanes = <1 2>;
    remote-endpoint = <&csi2a_ep>;
   };
  };
 };
};

&isp {
 vdd-csiphy1-supply = <&vaux2>;
 vdd-csiphy2-supply = <&vaux2>;
 ports {
  port@2 {
   reg = <2>;
   csi2a_ep: endpoint {
    remote-endpoint = <&smia_1_1>;
    clock-lanes = <2>;
    data-lanes = <3 1>;
    crc = <1>;
    lane-polarities = <1 1 1>;
   };
  };
 };
};

&mcspi4 {
 status = "okay";
 pinctrl-names = "default";
 pinctrl-0 = <&spi4_pins>;

 wlcore: wlcore@0 {
  compatible = "ti,wl1271";
  pinctrl-names = "default";
  pinctrl-0 = <&wlan_pins>;
  reg = <0>;
  spi-max-frequency = <48000000>;
  clock-xtal;
  ref-clock-frequency = <38400000>;
  interrupts-extended = <&gpio2 10 IRQ_TYPE_LEVEL_HIGH>; /* gpio 42 */
  vwlan-supply = <&vwlan_fixed>;
 };
};

&modem {
 compatible = "nokia,n950-modem";
};

&twl {
 twl_audio: audio {
  compatible = "ti,twl4030-audio";
  ti,enable-vibra = <1>;
 };
};

&twl_keypad {
 linux,keymap = < MATRIX_KEY(0x00, 0x00, KEY_BACKSLASH)
    MATRIX_KEY(0x01, 0x00, KEY_LEFTSHIFT)
    MATRIX_KEY(0x02, 0x00, KEY_COMPOSE)
    MATRIX_KEY(0x03, 0x00, KEY_LEFTMETA)
    MATRIX_KEY(0x04, 0x00, KEY_RIGHTCTRL)
    MATRIX_KEY(0x05, 0x00, KEY_BACKSPACE)
    MATRIX_KEY(0x06, 0x00, KEY_VOLUMEDOWN)
    MATRIX_KEY(0x07, 0x00, KEY_VOLUMEUP)

    MATRIX_KEY(0x03, 0x01, KEY_Z)
    MATRIX_KEY(0x04, 0x01, KEY_A)
    MATRIX_KEY(0x05, 0x01, KEY_Q)
    MATRIX_KEY(0x06, 0x01, KEY_W)
    MATRIX_KEY(0x07, 0x01, KEY_E)

    MATRIX_KEY(0x03, 0x02, KEY_X)
    MATRIX_KEY(0x04, 0x02, KEY_S)
    MATRIX_KEY(0x05, 0x02, KEY_D)
    MATRIX_KEY(0x06, 0x02, KEY_C)
    MATRIX_KEY(0x07, 0x02, KEY_V)

    MATRIX_KEY(0x03, 0x03, KEY_O)
    MATRIX_KEY(0x04, 0x03, KEY_I)
    MATRIX_KEY(0x05, 0x03, KEY_U)
    MATRIX_KEY(0x06, 0x03, KEY_L)
    MATRIX_KEY(0x07, 0x03, KEY_APOSTROPHE)

    MATRIX_KEY(0x03, 0x04, KEY_Y)
    MATRIX_KEY(0x04, 0x04, KEY_K)
    MATRIX_KEY(0x05, 0x04, KEY_J)
    MATRIX_KEY(0x06, 0x04, KEY_H)
    MATRIX_KEY(0x07, 0x04, KEY_G)

    MATRIX_KEY(0x03, 0x05, KEY_B)
    MATRIX_KEY(0x04, 0x05, KEY_COMMA)
    MATRIX_KEY(0x05, 0x05, KEY_M)
    MATRIX_KEY(0x06, 0x05, KEY_N)
    MATRIX_KEY(0x07, 0x05, KEY_DOT)

    MATRIX_KEY(0x00, 0x06, KEY_SPACE)
    MATRIX_KEY(0x03, 0x06, KEY_T)
    MATRIX_KEY(0x04, 0x06, KEY_UP)
    MATRIX_KEY(0x05, 0x06, KEY_LEFT)
    MATRIX_KEY(0x06, 0x06, KEY_RIGHT)
    MATRIX_KEY(0x07, 0x06, KEY_DOWN)

    MATRIX_KEY(0x03, 0x07, KEY_P)
    MATRIX_KEY(0x04, 0x07, KEY_ENTER)
    MATRIX_KEY(0x05, 0x07, KEY_SLASH)
    MATRIX_KEY(0x06, 0x07, KEY_F)
    MATRIX_KEY(0x07, 0x07, KEY_R)
    >;
};

&lis302 {
 st,axis-x = <(-2)>; /* LIS3_INV_DEV_Y */
 st,axis-y = <(-1)>; /* LIS3_INV_DEV_X */
 st,axis-z = <(-3)>; /* LIS3_INV_DEV_Z */

 st,min-limit-x = <(-32)>;
 st,min-limit-y = <3>;
 st,min-limit-z = <3>;

 st,max-limit-x = <(-3)>;
 st,max-limit-y = <32>;
 st,max-limit-z = <32>;
};

&dss {
 status = "okay";

 vdda_video-supply = <&vdac>;
};

&dsi {
 status = "okay";

 pinctrl-names = "default";
 pinctrl-0 = <&dsi_pins>;

 vdd-supply = <&vpll2>;

 port {
  dsi_out_ep: endpoint {
   remote-endpoint = <&lcd0_in>;
   lanes = <2 3 0 1 4 5>;
  };
 };

 lcd0: panel@0 {
  compatible = "nokia,himalaya", "panel-dsi-cm";
  reg = <0>;
  label = "lcd0";

  pinctrl-names = "default";
  pinctrl-0 = <&display_pins>;

  vpnl-supply = <&vmmc2>;
  vddi-supply = <&vio>;

  reset-gpios = <&gpio3 23 GPIO_ACTIVE_HIGH>; /* 87 */
  te-gpios = <&gpio2 30 GPIO_ACTIVE_HIGH>; /* 62 */

  width-mm = <49>; /* 48.960 mm */
  height-mm = <88>; /* 88.128 mm */

  /* TODO:
   * - panel is upside-down
   * - top + bottom 5px are not visible
   */
  panel-timing {
   clock-frequency = <0>;          /* Calculated by dsi */

   hback-porch = <2>;
   hactive = <480>;
   hfront-porch = <0>;
   hsync-len = <2>;

   vback-porch = <1>;
   vactive = <864>;
   vfront-porch = <0>;
   vsync-len = <1>;

   hsync-active = <0>;
   vsync-active = <0>;
   de-active = <1>;
   pixelclk-active = <1>;
  };

  port {
   lcd0_in: endpoint {
    remote-endpoint = <&dsi_out_ep>;
   };
  };
 };
};

[ Dauer der Verarbeitung: 0.5 Sekunden  (vorverarbeitet)  ]