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/dts/arm/odroidc1.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 /*-
    2  * Copyright (c) 2015 John Wehle <john@feith.com>
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  * $FreeBSD: releng/12.0/sys/dts/arm/odroidc1.dts 325826 2017-11-14 21:03:57Z imp $
   27  */
   28 
   29 /*
   30  * The ordering of certain devices is significant (e.g. usb depends on
   31  * usb-phy which depends on gpio, also the timer should appear early on
   32  * to provide a reasonably accurate DELAY implementation).
   33  *
   34  * Both usb-phys devices must be configured to prevent the usb controller
   35  * from hanging during initialization.
   36  */
   37 
   38 /dts-v1/;
   39 
   40 /memreserve/ 0x7900000 0x00600000;                      /* 6MB frame buffer */
   41 
   42 #include "meson8b.dtsi"
   43 
   44 / {
   45         model = "hardkernel,odroid-c1";
   46         compatible = "hardkernel,odroid-c1", "amlogic,s805";
   47 
   48         #address-cells = <1>;
   49         #size-cells = <1>;
   50 
   51         aliases {
   52                 soc = &soc;
   53                 screen = &screen;
   54                 uart0 = &uart_AO;
   55         };
   56 
   57         memory {
   58                 device_type = "memory";
   59                 reg = <0x0 0x40000000>;         /* 1GB RAM */
   60         };
   61 
   62         soc: soc {
   63                 device_type = "soc";
   64                 bus-frequency = <0>;
   65 
   66                 scu: scu@c4300000 {
   67                         compatible = "arm,cortex-a5-scu";
   68                         reg = <0xc4300000 0x1000>;
   69                 };
   70 
   71                 cpuconfig: cpuconfig@d901ff80 {
   72                         compatible = "amlogic,aml8726-cpuconfig";
   73                         reg = <0xd901ff80 16>;
   74                 };
   75 
   76                 ccm@c1104140 {
   77                         compatible = "amlogic,aml8726-ccm";
   78                         reg = <0xc1104140 20>;  /* cbus 0x1050 */
   79 
   80                         functions = "ethernet", "i2c", "rng", "sdio", "sdxc",
   81                                     "uart-a", "uart-b", "uart-c",
   82                                     "usb-a", "usb-b";
   83                 };
   84 
   85                 pinctrl@c11080b0 {
   86                         compatible = "amlogic,aml8726-pinctrl";
   87                         reg = <0xc11080b0 40>,  /* mux */
   88                               <0xc11080e8 24>,  /* pu/pd */
   89                               <0xc1108120 24>,  /* pull enable */
   90                               <0xc8100014 4>,   /* ao mux */
   91                               <0xc810002c 4>,   /* ao pu/pd */
   92                               <0xc810002c 4>;   /* ao pull enable */
   93 
   94                         /*
   95                          * Currently only pin muxing that deviates
   96                          * from the power on default of gpio is
   97                          * specified here.
   98                          */
   99 
  100                         pinctrl-names = "default";
  101                         pinctrl-0 = <&pins_uartao &pins_ethernet &pins_hdmi>;
  102 
  103                         pins_ethernet: ethernet {
  104                                 amlogic,pins = "ref_clk",
  105                                                "tx_clk",  "tx_en",
  106                                                "tx_d0",   "tx_d1",
  107                                                "tx_d2",   "tx_d3",
  108                                                "rx_clk",  "rx_dv",
  109                                                "rx_d0",   "rx_d1",
  110                                                "rx_d2",   "rx_d3",
  111                                                "mdc",     "mdio";
  112                                 amlogic,function = "ethernet";
  113                         };
  114 
  115                         pins_hdmi: hdmi {
  116                                 amlogic,pins = "cec", "hpd",
  117                                                "scl", "sda";
  118                                 amlogic,function = "hdmi";
  119                         };
  120 
  121                         pins_sdio_b: sdio_b {
  122                                 amlogic,pins = "clk", "cmd",
  123                                                "d0",  "d1",
  124                                                "d2",  "d3";
  125                                 amlogic,function = "sdio-b";
  126                                 amlogic,pull = "up";
  127                         };
  128 
  129                         pins_sdxc_b: sdxc_b {
  130                                 amlogic,pins = "clk", "cmd",
  131                                                "d0",  "d1",
  132                                                "d2",  "d3";
  133                                 amlogic,function = "sdxc-b";
  134                                 amlogic,pull = "up";
  135                         };
  136 
  137                         pins_sdio_c: sdio_c {
  138                                 amlogic,pins = "clk", "cmd",
  139                                                "d0",  "d1",
  140                                                "d2",  "d3";
  141                                 amlogic,function = "sdio-c";
  142                                 amlogic,pull = "up";
  143                         };
  144 
  145                         pins_sdxc_c: sdxc_c {
  146                                 amlogic,pins = "clk", "cmd",
  147                                                "d0",  "d1",
  148                                                "d2",  "d3",
  149                                                "d4",  "d5",
  150                                                "d6",  "d7";
  151                                 amlogic,function = "sdxc-c";
  152                                 amlogic,pull = "up";
  153                         };
  154 
  155                         pins_i2c_a: i2c_a {
  156                                 amlogic,pins = "scl", "sda";
  157                                 amlogic,function = "i2c-a";
  158                         };
  159 
  160                         pins_i2c_b: i2c_b {
  161                                 amlogic,pins = "scl", "sda";
  162                                 amlogic,function = "i2c-b";
  163                         };
  164 
  165                         pins_uarta: uarta {
  166                                 amlogic,pins = "tx", "rx", "cts", "rts";
  167                                 amlogic,function = "uart-a";
  168                         };
  169 
  170                         pins_uartb: uartb {
  171 
  172                                 /*
  173                                  * gpiox18 appears to have special
  174                                  * meaning to the bootloader making
  175                                  * hardware handshaking unavailable.
  176                                  */
  177 
  178                                 amlogic,pins = "tx", "rx";
  179                                 amlogic,function = "uart-b";
  180                         };
  181 
  182                         pins_uartc: uartc {
  183                                 amlogic,pins = "tx", "rx", "cts", "rts";
  184                                 amlogic,function = "uart-c";
  185                         };
  186 
  187                         pins_uartao: uartao {
  188                                 amlogic,pins = "tx", "rx";
  189                                 amlogic,function = "uart-ao";
  190                         };
  191                 };
  192 
  193                 rtc@c8100740 {
  194                         compatible = "amlogic,aml8726-rtc";
  195                         reg = <0xc8100740 20>;  /* aobus 0x1d0 */
  196                         interrupts = <0 72 1>;
  197                 };
  198 
  199                 clkmsr: clkmsr@c1108758 {
  200                         compatible = "amlogic,aml8726-clkmsr";
  201                         reg = <0xc1108758 16>;  /* cbus 0x21d6 */
  202 
  203                         clocks = <&clk81>;
  204                 };
  205 
  206                 gpioao: gpio@c8100024 {
  207                         /* gpio unit 7 */
  208                         compatible = "amlogic,aml8726-gpio";
  209                         reg = <0xc8100024 4>,   /* oen aobus 0x9 */
  210                               <0xc8100024 4>,   /* out */
  211                               <0xc8100028 4>;   /* in */
  212 
  213                         gpio-controller;
  214                         #gpio-cells = <1>;
  215                         pin-count = <14>;
  216                 };
  217 
  218                 gpio3: gpio@c1108054 {
  219                         compatible = "amlogic,aml8726-gpio";
  220                         reg = <0xc1108054 4>,   /* oen cbus 0x2015 */
  221                               <0xc1108058 4>,   /* out */
  222                               <0xc110805c 4>;   /* in */
  223 
  224                         gpio-controller;
  225                         #gpio-cells = <1>;
  226                         pin-count = <32>;
  227                 };
  228 
  229                 gpio5: gpio@c110806c {
  230                         compatible = "amlogic,aml8726-gpio";
  231                         reg = <0xc110806c 4>,   /* oen cbus 0x201b */
  232                               <0xc1108070 4>,   /* out */
  233                               <0xc1108074 4>;   /* in */
  234 
  235                         gpio-controller;
  236                         #gpio-cells = <1>;
  237                         pin-count = <32>;
  238                 };
  239 
  240                 mmc@c1108c20 {
  241                         compatible = "amlogic,aml8726-mmc";
  242                         reg = <0xc1108c20 32>;  /* cbus 0x2308 */
  243                         interrupts = <0 28 1>;
  244 
  245                         clocks = <&clk81>;
  246 
  247                         pinctrl-names = "default";
  248                         pinctrl-0 = <&pins_sdio_b>;
  249 
  250                         /*
  251                          * Ordering is significant.
  252                          *
  253                          * mmc-vselect low sets first voltage
  254                          * mmc-vselect high sets second voltage
  255                          *
  256                          * If mmc-vselect is not present, then
  257                          * only one voltage should be specified.
  258                          */
  259                         mmc-voltages = "3.3", "1.8";
  260                         mmc-vselect = <&gpioao 3>;      /* gpioao_3 */
  261 
  262                         mmc-pwr-en = <&gpio5 31 0>;     /* card_8 */
  263                         ins-detect = <&gpio5 29 0>;     /* card_6 */
  264                 };
  265 
  266                 sdxc@c1108e00 {
  267                         compatible = "amlogic,aml8726-sdxc-m8";
  268                         clock-frequency = <1275000000>;
  269                         reg = <0xc1108e00 60>;  /* cbus 0x2380 */
  270                         interrupts = <0 78 1>;
  271 
  272                         pinctrl-names = "default";
  273                         pinctrl-0 = <&pins_sdxc_c>;
  274 
  275                         mmc-voltages = "1.8";
  276 
  277                         mmc-rst = <&gpio3 9 0>; /* boot_9 emmc-rst */
  278                 };
  279 
  280                 rng@c1108100 {
  281                         compatible = "amlogic,aml8726-rng";
  282                         reg = <0xc1108100 8>;   /* cbus 0x2040 */
  283                 };
  284 
  285                 usb-phy@c1108800 {
  286                         /* usb-a phy */
  287                         compatible = "amlogic,aml8726-m8-usb-phy";
  288                         reg = <0xc1108800 32>;  /* cbus 0x2200 */
  289 
  290                         usb-pwr-en = <&gpioao 5 1>;     /* gpioao_5 vbus */
  291                 };
  292 
  293                 usb-phy@c1108820 {
  294                         /* usb-b phy */
  295                         compatible = "amlogic,aml8726-m8-usb-phy";
  296                         reg = <0xc1108820 32>;  /* cbus 0x2208 */
  297 
  298                         force-aca = "true";
  299                         usb-hub-rst = <&gpioao 4 0>;    /* gpioao_4 hub-rst */
  300                 };
  301 
  302                 usb@c9040000 {
  303                         /* usb-a */
  304                         compatible = "synopsys,designware-hs-otg2";
  305                         reg = <0xc9040000 0x40000>;     /* ahbbus 0x40000*/
  306                         interrupts = <0 30 4>;
  307                         #address-cells = <1>;
  308                         #size-cells = <0>;
  309 
  310                         dr_mode = "host";
  311                 };
  312 
  313                 usb@c90c0000 {
  314                         /* usb-b */
  315                         compatible = "synopsys,designware-hs-otg2";
  316                         reg = <0xc90c0000 0x40000>;     /* ahbbus 0xc0000 */
  317                         interrupts = <0 31 4>;
  318                         #address-cells = <1>;
  319                         #size-cells = <0>;
  320 
  321                         dr_mode = "host";
  322                 };
  323 
  324                 eth@c9410000 {
  325                         /* ethernet */
  326                         compatible = "amlogic,meson6-dwmac";
  327                         reg = <0xc9410000 0x2000>;      /* ahbbus 0x410000 */
  328                         interrupts = <0 8 1>;
  329                         #address-cells = <1>;
  330                         #size-cells = <0>;
  331 
  332                         eth-phy-rst = <&gpio3 23 0>;    /* gpioh_4 phy-rst */
  333                 };
  334 
  335                 screen: fb@c8006020 {
  336                         device_type = "display";
  337                         compatible = "amlogic,aml8726-fb";
  338                         reg = <0xc8006048 12>,  /* CANVAS */
  339                               <0xc1106800 1024>,        /* VIU */
  340                               <0xc1107400 1024>;        /* VPP */
  341                         interrupts = <0 2 1>,
  342                                      <0 3 1>,
  343                                      <0 12 1>,
  344                                      <0 13 1>;
  345 
  346                         address = <0x7900000>;  /* match memreserve */
  347                         width = <720>;
  348                         height = <480>;
  349                         depth = <24>;
  350                         linebytes = <2160>;
  351                 };
  352         };
  353 
  354         leds {
  355                 compatible = "gpio-leds";
  356 
  357                 sys_led {
  358                         gpios = <&gpioao 13>;   /* gpioao_13 sys_led */
  359                         label = "sys_led";
  360                 };
  361         };
  362 
  363         chosen {
  364                 stdin = "uart0";
  365                 stdout = "uart0";
  366         };
  367 };
  368 
  369 &clk81 {
  370         clock-frequency = <0>;
  371 };
  372 
  373 &uart_AO {
  374         status = "okay";
  375         current-speed = <115200>;
  376 };
  377 
  378 &uart_A {
  379         status = "okay";
  380 };
  381 
  382 &uart_B {
  383         status = "okay";
  384 };
  385 
  386 &uart_C {
  387         status = "okay";
  388 };
  389 
  390 &i2c_A {
  391         status = "okay";
  392 };
  393 
  394 &i2c_B {
  395         status = "okay";
  396 };

Cache object: 0f3db349f5ffdc03e734cc9223c125f2


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