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/ste-nomadik-nhk15.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
    2 /*
    3  * Device Tree for the ST Microelectronics Nomadik NHK8815 board
    4  */
    5 
    6 /dts-v1/;
    7 #include <dt-bindings/interrupt-controller/irq.h>
    8 #include <dt-bindings/gpio/gpio.h>
    9 #include "ste-nomadik-stn8815.dtsi"
   10 
   11 / {
   12         model = "Nomadik STN8815NHK";
   13         compatible = "st,nomadik-nhk-15";
   14 
   15         chosen {
   16                 bootargs = "root=/dev/ram0 console=ttyAMA1,115200n8 earlyprintk";
   17         };
   18 
   19         aliases {
   20                 serial0 = &uart0;
   21                 serial1 = &uart1;
   22                 stmpe-i2c0 = &stmpe0;
   23                 stmpe-i2c1 = &stmpe1;
   24         };
   25 
   26         pinctrl {
   27                 uart0 {
   28                         uart0_nhk_mode: uart0_mux {
   29                                 u0_default_mux {
   30                                         function = "u0";
   31                                         groups = "u0txrx_a_1", "u0ctsrts_a_1";
   32                                 };
   33                         };
   34                 };
   35 
   36                 stmpe2401_1 {
   37                         stmpe2401_1_nhk_mode: stmpe2401_1_nhk {
   38                                 nhk_cfg1 {
   39                                         pins = "GPIO76_B20"; // IRQ line
   40                                         ste,input = <0>;
   41                                 };
   42                                 nhk_cfg2 {
   43                                         pins = "GPIO77_B8"; // reset line
   44                                         ste,output = <1>;
   45                                 };
   46                         };
   47                 };
   48                 stmpe2401_2 {
   49                         stmpe2401_2_nhk_mode: stmpe2401_2_nhk {
   50                                 nhk_cfg1 {
   51                                         pins = "GPIO78_A8"; // IRQ line
   52                                         ste,input = <0>;
   53                                 };
   54                                 nhk_cfg2 {
   55                                         pins = "GPIO79_C9"; // reset line
   56                                         ste,output = <1>;
   57                                 };
   58                         };
   59                 };
   60                 lis3lv02dl {
   61                         lis3lv02dl_nhk_mode: lis3lv02dl_nhk {
   62                                 nhk_cfg1 {
   63                                         pins = "GPIO82_C10"; // IRQ line
   64                                         ste,input = <0>;
   65                                 };
   66                         };
   67                 };
   68         };
   69         src@101e0000 {
   70                 /* These chrystal outputs are not used on this board */
   71                 disable-sxtalo;
   72                 disable-mxtalo;
   73         };
   74 
   75         /* This is where the interrupt is routed on the NHK-15 debug board */
   76         external-bus@34000000 {
   77                 compatible = "simple-bus";
   78                 reg = <0x34000000 0x1000000>;
   79                 #address-cells = <1>;
   80                 #size-cells = <1>;
   81                 ranges = <0 0x34000000 0x1000000>;
   82                 ethernet@300 {
   83                         compatible = "smsc,lan91c111";
   84                         reg = <0x300 0x0fd00>;
   85                         reg-io-width = <2>;
   86                         reset-gpios = <&stmpe_gpio44 10 GPIO_ACTIVE_HIGH>;
   87                         interrupt-parent = <&stmpe_gpio44>;
   88                         interrupts = <11 IRQ_TYPE_EDGE_RISING>;
   89                 };
   90         };
   91 
   92         i2c0 {
   93                 lis3lv02dl@1d {
   94                         /* Accelerometer */
   95                         compatible = "st,lis3lv02dl-accel";
   96                         interrupt-parent = <&gpio2>;
   97                         interrupts = <18 IRQ_TYPE_EDGE_RISING>; // GPIO 82
   98                         pinctrl-0 = <&lis3lv02dl_nhk_mode>;
   99                         pinctrl-names = "default";
  100                         reg = <0x1d>;
  101                 };
  102                 stmpe0: stmpe2401@43 {
  103                         compatible = "st,stmpe2401";
  104                         reg = <0x43>;
  105                         reset-gpios = <&gpio2 13 GPIO_ACTIVE_LOW>; // GPIO77
  106                         interrupts = <12 IRQ_TYPE_EDGE_FALLING>; // GPIO76
  107                         interrupt-parent = <&gpio2>;
  108                         interrupt-controller;
  109                         wakeup-source;
  110                         pinctrl-names = "default";
  111                         pinctrl-0 = <&stmpe2401_1_nhk_mode>;
  112                         stmpe_gpio43: stmpe_gpio {
  113                                 compatible = "st,stmpe-gpio";
  114                                 gpio-controller;
  115                                 #gpio-cells = <2>;
  116                                 interrupt-controller;
  117                                 #interrupt-cells = <2>;
  118                                 /* Some pins in alternate functions */
  119                                 st,norequest-mask = <0xf0f002>;
  120                         };
  121                         stmpe_keypad {
  122                                 compatible = "st,stmpe-keypad";
  123                                 debounce-interval = <64>;
  124                                 st,scan-count = <8>;
  125                                 st,no-autorepeat;
  126                                 keypad,num-rows = <8>;
  127                                 keypad,num-columns = <8>;
  128                                 linux,keymap = <0x00020072 // Vol down
  129                                                 0x00030073 // Vol up
  130                                                 0x0100009e // Back
  131                                                 0x010100e3 // TV out
  132                                                 0x01020098 // Lock
  133                                                 0x0103013b // Start
  134                                                 0x020000a3 // Next
  135                                                 0x020100a4 // Play
  136                                                 0x020200a5 // Prev
  137                                                 0x02030160 // OK
  138                                                 0x03000069 // Left
  139                                                 0x0301006a // Right
  140                                                 0x03020067 // Up
  141                                                 0x0303006c>; // Down
  142                         };
  143                         stmpe0_pwm: stmpe_pwm {
  144                                 compatible = "st,stmpe-pwm";
  145                                 #pwm-cells = <2>;
  146                         };
  147                 };
  148                 stmpe1: stmpe2401@44 {
  149                         compatible = "st,stmpe2401";
  150                         reg = <0x44>;
  151                         reset-gpios = <&gpio2 15 GPIO_ACTIVE_LOW>; // GPIO79
  152                         interrupts = <14 IRQ_TYPE_EDGE_FALLING>; // GPIO78
  153                         interrupt-parent = <&gpio2>;
  154                         interrupt-controller;
  155                         wakeup-source;
  156                         pinctrl-names = "default";
  157                         pinctrl-0 = <&stmpe2401_2_nhk_mode>;
  158                         stmpe_gpio44: stmpe_gpio {
  159                                 compatible = "st,stmpe-gpio";
  160                                 gpio-controller;
  161                                 #gpio-cells = <2>;
  162                                 interrupt-controller;
  163                                 #interrupt-cells = <2>;
  164                                 /*
  165                                  * This will turn off SATA so that MMC/SD
  166                                  * can thrive
  167                                  */
  168                                 mmcsd-gpio {
  169                                         gpio-hog;
  170                                         gpios = <2 0x0>;
  171                                         output-low;
  172                                         line-name = "SATA EN";
  173                                 };
  174                         };
  175                 };
  176         };
  177 
  178         amba {
  179                 clcd@10120000 {
  180                         status = "okay";
  181                         pinctrl-names = "default";
  182                         pinctrl-0 = <&clcd_24bit_mux>;
  183                         port {
  184                                 nomadik_clcd: endpoint {
  185                                         remote-endpoint = <&nomadik_clcd_panel>;
  186                                         arm,pl11x,tft-r0g0b0-pads = <16 8 0>;
  187                                 };
  188                         };
  189 
  190                 };
  191 
  192                 /* Activate RX/TX and CTS/RTS on UART 0 */
  193                 uart0: uart@101fd000 {
  194                         pinctrl-names = "default";
  195                         pinctrl-0 = <&uart0_nhk_mode>;
  196                         status = "okay";
  197                 };
  198                 mmcsd: mmc@101f6000 {
  199                         cd-gpios = <&stmpe_gpio44 7 GPIO_ACTIVE_LOW>;
  200                         wp-gpios = <&stmpe_gpio44 18 GPIO_ACTIVE_HIGH>;
  201                 };
  202         };
  203 
  204         spi {
  205                 compatible = "spi-gpio";
  206                 #address-cells = <1>;
  207                 #size-cells = <0>;
  208 
  209                 /*
  210                  * As we're dealing with 3wire SPI, we only define SCK
  211                  * and MOSI (in the spec MOSI is called "SDA").
  212                  */
  213                 gpio-sck = <&gpio0 5 GPIO_ACTIVE_HIGH>;
  214                 gpio-mosi = <&gpio0 4 GPIO_ACTIVE_HIGH>;
  215                 cs-gpios = <&gpio0 6 GPIO_ACTIVE_LOW>;
  216                 num-chipselects = <1>;
  217 
  218                 /*
  219                  * WVGA connector 21
  220                  * WVGA (800x480): 4.3" TPG110 TDO43MTEA2 24-bit RGB
  221                  * with TPO touch screen.
  222                   */
  223                 panel: display@0 {
  224                         /*
  225                          * The TPO display driver is connected to a
  226                          * 5.7" OSD OSD057VA01CT TFT display.
  227                          */
  228                         compatible = "tpo,tpg110";
  229                         reg = <0>;
  230                         spi-3wire;
  231                         /* 320 ns min period ~= 3 MHz */
  232                         spi-max-frequency = <3000000>;
  233                         /* Width and height from the OSD data sheet */
  234                         width-mm = <116>;
  235                         height-mm = <87>;
  236                         grestb-gpios = <&stmpe_gpio44 5 GPIO_ACTIVE_LOW>;
  237                         backlight = <&bl>;
  238 
  239                         port {
  240                                 nomadik_clcd_panel: endpoint {
  241                                         remote-endpoint = <&nomadik_clcd>;
  242                                 };
  243                         };
  244                 };
  245         };
  246 
  247         bl: backlight {
  248                 compatible = "pwm-backlight";
  249                 pwms = <&stmpe0_pwm 0 500000>;
  250                 pwm-names = "backlight";
  251                 brightness-levels = <
  252                         0  1  2  3  4  5  6  7  8  9
  253                         10 11 12 13 14 15 16 17 18 19
  254                         20 21 22 23 24 25 26 27 28 29
  255                         30 31 32 33 34 35 36 37 38 39
  256                         40 41 42 43 44 45 46 47 48 49
  257                         50 51 52 53 54 55 56 57 58 59
  258                         60 61 62 63 64 65 66 67 68 69
  259                         70 71 72 73 74 75 76 77 78 79
  260                         80 81 82 83 84 85 86 87 88 89
  261                         90 91 92 93 94 95 96 97 98 99
  262                         100
  263                 >;
  264                 default-brightness-level = <100>;
  265         };
  266 };

Cache object: 0a8f68544e5048e95ebb20dfdf241724


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