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/mips/ingenic/rs90.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 /dts-v1/;
    3 
    4 #include "jz4725b.dtsi"
    5 
    6 #include <dt-bindings/gpio/gpio.h>
    7 #include <dt-bindings/iio/adc/ingenic,adc.h>
    8 #include <dt-bindings/input/linux-event-codes.h>
    9 
   10 / {
   11         compatible = "ylm,rs90", "ingenic,jz4725b";
   12         model = "RS-90";
   13 
   14         memory {
   15                 device_type = "memory";
   16                 reg = <0x0 0x2000000>;
   17         };
   18 
   19         reserved-memory {
   20                 #address-cells = <1>;
   21                 #size-cells = <1>;
   22                 ranges;
   23 
   24                 vmem: video-memory@1f00000 {
   25                         compatible = "shared-dma-pool";
   26                         reg = <0x1f00000 0x100000>;
   27                         reusable;
   28                 };
   29         };
   30 
   31         vcc: regulator {
   32                 compatible = "regulator-fixed";
   33 
   34                 regulator-name = "vcc";
   35                 regulaor-min-microvolt = <3300000>;
   36                 regulaor-max-microvolt = <3300000>;
   37                 regulator-always-on;
   38         };
   39 
   40         backlight: backlight {
   41                 compatible = "pwm-backlight";
   42                 pwms = <&pwm 3 40000 0>;
   43 
   44                 brightness-levels = <0 16 32 48 64 80 112 144 192 255>;
   45                 default-brightness-level = <8>;
   46 
   47                 pinctrl-names = "default";
   48                 pinctrl-0 = <&pins_pwm3>;
   49 
   50                 power-supply = <&vcc>;
   51         };
   52 
   53         keys@0 {
   54                 compatible = "gpio-keys";
   55 
   56                 key-0 {
   57                         label = "D-pad up";
   58                         linux,code = <KEY_UP>;
   59                         gpios = <&gpc 10 GPIO_ACTIVE_LOW>;
   60                 };
   61 
   62                 key-1 {
   63                         label = "D-pad down";
   64                         linux,code = <KEY_DOWN>;
   65                         gpios = <&gpc 11 GPIO_ACTIVE_LOW>;
   66                 };
   67 
   68                 key-2 {
   69                         label = "D-pad left";
   70                         linux,code = <KEY_LEFT>;
   71                         gpios = <&gpb 31 GPIO_ACTIVE_LOW>;
   72                 };
   73 
   74                 key-3 {
   75                         label = "D-pad right";
   76                         linux,code = <KEY_RIGHT>;
   77                         gpios = <&gpd 21 GPIO_ACTIVE_LOW>;
   78                 };
   79 
   80                 key-4 {
   81                         label = "Button A";
   82                         linux,code = <KEY_LEFTCTRL>;
   83                         gpios = <&gpc 31 GPIO_ACTIVE_LOW>;
   84                 };
   85 
   86                 key-5 {
   87                         label = "Button B";
   88                         linux,code = <KEY_LEFTALT>;
   89                         gpios = <&gpc 30 GPIO_ACTIVE_LOW>;
   90                 };
   91 
   92                 key-6 {
   93                         label = "Right shoulder button";
   94                         linux,code = <KEY_BACKSPACE>;
   95                         gpios = <&gpc 12 GPIO_ACTIVE_LOW>;
   96                         debounce-interval = <10>;
   97                 };
   98 
   99                 key-7 {
  100                         label = "Start button";
  101                         linux,code = <KEY_ENTER>;
  102                         gpios = <&gpd 17 GPIO_ACTIVE_LOW>;
  103                 };
  104         };
  105 
  106         keys@1 {
  107                 compatible = "adc-keys";
  108                 io-channels = <&adc INGENIC_ADC_AUX>;
  109                 io-channel-names = "buttons";
  110                 keyup-threshold-microvolt = <1400000>;
  111                 poll-interval = <30>;
  112 
  113                 key@0 {
  114                         label = "Left shoulder button";
  115                         linux,code = <KEY_TAB>;
  116                         press-threshold-microvolt = <800000>;
  117                 };
  118 
  119                 key@1 {
  120                         label = "Select button";
  121                         linux,code = <KEY_ESC>;
  122                         press-threshold-microvolt = <1100000>;
  123                 };
  124         };
  125 
  126         amp: analog-amplifier {
  127                 compatible = "simple-audio-amplifier";
  128                 enable-gpios = <&gpc 15 GPIO_ACTIVE_HIGH>;
  129 
  130                 VCC-supply = <&vcc>;
  131         };
  132 
  133         sound {
  134                 compatible = "simple-audio-card";
  135 
  136                 simple-audio-card,name = "rs90-audio";
  137                 simple-audio-card,format = "i2s";
  138 
  139                 simple-audio-card,widgets =
  140                         "Speaker", "Speaker",
  141                         "Headphone", "Headphones";
  142                 simple-audio-card,routing =
  143                         "INL", "LHPOUT",
  144                         "INR", "RHPOUT",
  145                         "Headphones", "LHPOUT",
  146                         "Headphones", "RHPOUT",
  147                         "Speaker", "OUTL",
  148                         "Speaker", "OUTR";
  149                 simple-audio-card,pin-switches = "Speaker";
  150 
  151                 simple-audio-card,hp-det-gpio = <&gpd 16 GPIO_ACTIVE_LOW>;
  152                 simple-audio-card,aux-devs = <&amp>;
  153 
  154                 simple-audio-card,bitclock-master = <&dai_codec>;
  155                 simple-audio-card,frame-master = <&dai_codec>;
  156 
  157                 dai_cpu: simple-audio-card,cpu {
  158                         sound-dai = <&aic>;
  159                 };
  160 
  161                 dai_codec: simple-audio-card,codec {
  162                         sound-dai = <&codec>;
  163                 };
  164 
  165         };
  166 
  167         usb_phy: usb-phy {
  168                 compatible = "usb-nop-xceiv";
  169                 #phy-cells = <0>;
  170 
  171                 clocks = <&cgu JZ4725B_CLK_UDC_PHY>;
  172                 clock-names = "main_clk";
  173                 vcc-supply = <&vcc>;
  174         };
  175 
  176         panel {
  177                 compatible = "sharp,ls020b1dd01d";
  178 
  179                 backlight = <&backlight>;
  180                 power-supply = <&vcc>;
  181 
  182                 port {
  183                         panel_input: endpoint {
  184                                 remote-endpoint = <&panel_output>;
  185                         };
  186                 };
  187         };
  188 };
  189 
  190 &ext {
  191         clock-frequency = <12000000>;
  192 };
  193 
  194 &rtc_dev {
  195         system-power-controller;
  196 };
  197 
  198 &udc {
  199         phys = <&usb_phy>;
  200 };
  201 
  202 &pinctrl {
  203         pins_mmc1: mmc1 {
  204                 function = "mmc1";
  205                 groups = "mmc1-1bit";
  206         };
  207 
  208         pins_nemc: nemc {
  209                 function = "nand";
  210                 groups = "nand-cs1", "nand-cle-ale", "nand-fre-fwe";
  211         };
  212 
  213         pins_pwm3: pwm3 {
  214                 function = "pwm3";
  215                 groups = "pwm3";
  216                 bias-disable;
  217         };
  218 
  219         pins_lcd: lcd {
  220                 function = "lcd";
  221                 groups = "lcd-8bit", "lcd-16bit", "lcd-special";
  222         };
  223 };
  224 
  225 &mmc0 {
  226         status = "disabled";
  227 };
  228 
  229 &mmc1 {
  230         bus-width = <1>;
  231         max-frequency = <48000000>;
  232 
  233         pinctrl-names = "default";
  234         pinctrl-0 = <&pins_mmc1>;
  235 
  236         cd-gpios = <&gpc 20 GPIO_ACTIVE_LOW>;
  237 };
  238 
  239 &uart {
  240         /*
  241          * The pins for RX/TX are used for the right shoulder button and
  242          * backlight PWM.
  243          */
  244         status = "disabled";
  245 };
  246 
  247 &nemc {
  248         nandc: nand-controller@1 {
  249                 compatible = "ingenic,jz4725b-nand";
  250                 reg = <1 0 0x4000000>;
  251 
  252                 #address-cells = <1>;
  253                 #size-cells = <0>;
  254 
  255                 ecc-engine = <&bch>;
  256 
  257                 ingenic,nemc-tAS = <10>;
  258                 ingenic,nemc-tAH = <5>;
  259                 ingenic,nemc-tBP = <10>;
  260                 ingenic,nemc-tAW = <15>;
  261                 ingenic,nemc-tSTRV = <100>;
  262 
  263                 pinctrl-names = "default";
  264                 pinctrl-0 = <&pins_nemc>;
  265 
  266                 rb-gpios = <&gpc 27 GPIO_ACTIVE_HIGH>;
  267 
  268                 nand@1 {
  269                         reg = <1>;
  270 
  271                         nand-ecc-step-size = <512>;
  272                         nand-ecc-strength = <8>;
  273                         nand-ecc-mode = "hw";
  274                         nand-is-boot-medium;
  275                         nand-on-flash-bbt;
  276 
  277                         partitions {
  278                                 compatible = "fixed-partitions";
  279                                 #address-cells = <1>;
  280                                 #size-cells = <1>;
  281 
  282                                 partition@0 {
  283                                         label = "bootloader";
  284                                         reg = <0x0 0x20000>;
  285                                 };
  286 
  287                                 partition@20000 {
  288                                         label = "system";
  289                                         reg = <0x20000 0x0>;
  290                                 };
  291                         };
  292                 };
  293         };
  294 };
  295 
  296 &cgu {
  297         /* Use 32kHz oscillator as the parent of the RTC clock */
  298         assigned-clocks = <&cgu JZ4725B_CLK_RTC>;
  299         assigned-clock-parents = <&cgu JZ4725B_CLK_OSC32K>;
  300 };
  301 
  302 &tcu {
  303         /*
  304          * 750 kHz for the system timer and clocksource, and use RTC as the
  305          * parent for the watchdog clock.
  306          */
  307         assigned-clocks = <&tcu TCU_CLK_TIMER0>, <&tcu TCU_CLK_TIMER1>, <&tcu TCU_CLK_WDT>;
  308         assigned-clock-parents = <0>, <0>, <&cgu JZ4725B_CLK_RTC>;
  309         assigned-clock-rates = <750000>, <750000>;
  310 };
  311 
  312 &lcd {
  313         memory-region = <&vmem>;
  314 
  315         pinctrl-names = "default";
  316         pinctrl-0 = <&pins_lcd>;
  317 };
  318 
  319 &lcd_ports {
  320         port@0 {
  321                 reg = <0>;
  322 
  323                 panel_output: endpoint {
  324                         remote-endpoint = <&panel_input>;
  325                 };
  326         };
  327 };

Cache object: 3d5f8fe0e3f468aac64c855aac90a02b


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