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/imx6q-h100.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 Lucas Stach <kernel@pengutronix.de>
    3  *
    4  * This file is dual-licensed: you can use it either under the terms
    5  * of the GPL or the X11 license, at your option. Note that this dual
    6  * licensing only applies to this file, and not this project as a
    7  * whole.
    8  *
    9  *  a) This file is free software; you can redistribute it and/or
   10  *     modify it under the terms of the GNU General Public License
   11  *     version 2 as published by the Free Software Foundation.
   12  *
   13  *     This file is distributed in the hope that it will be useful,
   14  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
   15  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   16  *     GNU General Public License for more details.
   17  *
   18  * Or, alternatively,
   19  *
   20  *  b) Permission is hereby granted, free of charge, to any person
   21  *     obtaining a copy of this software and associated documentation
   22  *     files (the "Software"), to deal in the Software without
   23  *     restriction, including without limitation the rights to use,
   24  *     copy, modify, merge, publish, distribute, sublicense, and/or
   25  *     sell copies of the Software, and to permit persons to whom the
   26  *     Software is furnished to do so, subject to the following
   27  *     conditions:
   28  *
   29  *     The above copyright notice and this permission notice shall be
   30  *     included in all copies or substantial portions of the Software.
   31  *
   32  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   33  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
   34  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   35  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   36  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
   37  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   38  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
   39  *     OTHER DEALINGS IN THE SOFTWARE.
   40  */
   41 
   42 /dts-v1/;
   43 
   44 #include "imx6q.dtsi"
   45 #include "imx6qdl-sr-som.dtsi"
   46 #include "imx6qdl-sr-som-brcm.dtsi"
   47 
   48 / {
   49         model = "Auvidea H100";
   50         compatible = "auvidea,h100", "fsl,imx6q";
   51 
   52         /* Will be filled by the bootloader */
   53         memory@10000000 {
   54                 device_type = "memory";
   55                 reg = <0x10000000 0>;
   56         };
   57 
   58         aliases {
   59                 rtc0 = &rtc;
   60                 rtc1 = &snvs_rtc;
   61         };
   62 
   63         chosen {
   64                 stdout-path = &uart2;
   65         };
   66 
   67         hdmi_osc: hdmi-osc {
   68                 compatible = "fixed-clock";
   69                 clock-output-names = "hdmi-osc";
   70                 clock-frequency = <27000000>;
   71                 #clock-cells = <0>;
   72         };
   73 
   74         leds {
   75                 compatible = "gpio-leds";
   76                 pinctrl-names = "default";
   77                 pinctrl-0 = <&pinctrl_h100_leds>;
   78 
   79                 led0: power {
   80                         label = "power";
   81                         gpios = <&gpio3 0 GPIO_ACTIVE_LOW>;
   82                         default-state = "on";
   83                 };
   84 
   85                 led1: stream {
   86                         label = "stream";
   87                         gpios = <&gpio2 29 GPIO_ACTIVE_LOW>;
   88                         default-state = "off";
   89                 };
   90 
   91                 led2: rec {
   92                         label = "rec";
   93                         gpios = <&gpio2 28 GPIO_ACTIVE_LOW>;
   94                         default-state = "off";
   95                 };
   96         };
   97 
   98         reg_3p3v: regulator-3p3v {
   99                 compatible = "regulator-fixed";
  100                 regulator-name = "3P3V";
  101                 regulator-min-microvolt = <3300000>;
  102                 regulator-max-microvolt = <3300000>;
  103         };
  104 
  105         reg_hdmi: regulator-hdmi {
  106                 pinctrl-names = "default";
  107                 pinctrl-0 = <&pinctrl_h100_reg_hdmi>;
  108                 compatible = "regulator-fixed";
  109                 enable-active-high;
  110                 gpio = <&gpio2 20 GPIO_ACTIVE_HIGH>;
  111                 regulator-name = "V_HDMI";
  112                 regulator-min-microvolt = <5000000>;
  113                 regulator-max-microvolt = <5000000>;
  114                 regulator-always-on;
  115         };
  116 
  117         reg_usbh1_vbus: regulator-usb-h1-vbus {
  118                 compatible = "regulator-fixed";
  119                 enable-active-high;
  120                 gpio = <&gpio1 0 GPIO_ACTIVE_HIGH>;
  121                 pinctrl-names = "default";
  122                 pinctrl-0 = <&pinctrl_h100_usbh1_vbus>;
  123                 regulator-name = "USB_H1_VBUS";
  124                 regulator-min-microvolt = <5000000>;
  125                 regulator-max-microvolt = <5000000>;
  126         };
  127 
  128         reg_usbotg_vbus: regulator-usb-otg-vbus {
  129                 compatible = "regulator-fixed";
  130                 enable-active-high;
  131                 gpio = <&gpio3 22 GPIO_ACTIVE_HIGH>;
  132                 pinctrl-names = "default";
  133                 pinctrl-0 = <&pinctrl_h100_usbotg_vbus>;
  134                 regulator-name = "USB_OTG_VBUS";
  135                 regulator-min-microvolt = <5000000>;
  136                 regulator-max-microvolt = <5000000>;
  137         };
  138 
  139         sound-sgtl5000 {
  140                 compatible = "fsl,imx-audio-sgtl5000";
  141                 model = "H100 on-board codec";
  142                 audio-codec = <&sgtl5000>;
  143                 audio-routing =
  144                         "MIC_IN", "Mic Jack",
  145                         "Mic Jack", "Mic Bias",
  146                         "Headphone Jack", "HP_OUT";
  147                 mux-ext-port = <5>;
  148                 mux-int-port = <1>;
  149                 ssi-controller = <&ssi1>;
  150         };
  151 };
  152 
  153 &audmux {
  154         status = "okay";
  155 };
  156 
  157 &hdmi {
  158         pinctrl-names = "default";
  159         pinctrl-0 = <&pinctrl_h100_hdmi>;
  160         ddc-i2c-bus = <&i2c2>;
  161         status = "okay";
  162 };
  163 
  164 &i2c1 {
  165         pinctrl-names = "default";
  166         pinctrl-0 = <&pinctrl_h100_i2c1>;
  167         status = "okay";
  168 
  169         eeprom: 24c02@51 {
  170                 compatible = "microchip,24c02", "atmel,24c02";
  171                 reg = <0x51>;
  172         };
  173 
  174         rtc: pcf8523@68 {
  175                 compatible = "nxp,pcf8523";
  176                 reg = <0x68>;
  177         };
  178 
  179         sgtl5000: sgtl5000@a {
  180                 compatible = "fsl,sgtl5000";
  181                 reg = <0x0a>;
  182                 pinctrl-names = "default";
  183                 pinctrl-0 = <&pinctrl_h100_sgtl5000>;
  184                 clocks = <&clks IMX6QDL_CLK_CKO>;
  185                 VDDA-supply = <&reg_3p3v>;
  186                 VDDIO-supply = <&reg_3p3v>;
  187         };
  188 
  189         tc358743: tc358743@f {
  190                 compatible = "toshiba,tc358743";
  191                 reg = <0x0f>;
  192                 pinctrl-names = "default";
  193                 pinctrl-0 = <&pinctrl_h100_tc358743>;
  194                 clocks = <&hdmi_osc>;
  195                 clock-names = "refclk";
  196                 reset-gpios = <&gpio6 15 GPIO_ACTIVE_LOW>;
  197                 /* IRQ has a wrong pull resistor which renders it useless  */
  198 
  199                 port {
  200                         tc358743_out: endpoint {
  201                                 remote-endpoint = <&mipi_csi2_in>;
  202                                 data-lanes = <1 2 3 4>;
  203                                 clock-lanes = <0>;
  204                                 clock-noncontinuous;
  205                                 link-frequencies = /bits/ 64 <297000000>;
  206                         };
  207                 };
  208         };
  209 };
  210 
  211 &i2c2 {
  212         clock-frequency = <100000>;
  213         pinctrl-names = "default";
  214         pinctrl-0 = <&pinctrl_h100_i2c2>;
  215         status = "okay";
  216 };
  217 
  218 &iomuxc {
  219         h100 {
  220                 pinctrl_h100_hdmi: h100-hdmi {
  221                         fsl,pins = <
  222                                 MX6QDL_PAD_KEY_ROW2__HDMI_TX_CEC_LINE   0x1f8b0
  223                         >;
  224                 };
  225 
  226                 pinctrl_h100_i2c1: h100-i2c1 {
  227                         fsl,pins = <
  228                                 MX6QDL_PAD_EIM_D21__I2C1_SCL            0x4001b8b1
  229                                 MX6QDL_PAD_EIM_D28__I2C1_SDA            0x4001b8b1
  230                         >;
  231                 };
  232 
  233                 pinctrl_h100_i2c2: h100-i2c2 {
  234                         fsl,pins = <
  235                                 MX6QDL_PAD_KEY_COL3__I2C2_SCL           0x4001b8b1
  236                                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA           0x4001b8b1
  237                         >;
  238                 };
  239 
  240                 pinctrl_h100_leds: pinctrl-h100-leds {
  241                         fsl,pins = <
  242                                 MX6QDL_PAD_EIM_DA0__GPIO3_IO00          0x1b0b0
  243                                 MX6QDL_PAD_EIM_EB1__GPIO2_IO29          0x1b0b0
  244                                 MX6QDL_PAD_EIM_EB0__GPIO2_IO28          0x1b0b0
  245                         >;
  246                 };
  247 
  248                 pinctrl_h100_reg_hdmi: h100-reg-hdmi {
  249                         fsl,pins = <
  250                                 MX6QDL_PAD_EIM_A18__GPIO2_IO20          0x1b0b0
  251                         >;
  252                 };
  253 
  254                 pinctrl_h100_sgtl5000: h100-sgtl5000 {
  255                         fsl,pins = <
  256                                 MX6QDL_PAD_DISP0_DAT19__AUD5_RXD        0x130b0
  257                                 MX6QDL_PAD_KEY_COL0__AUD5_TXC           0x130b0
  258                                 MX6QDL_PAD_KEY_ROW0__AUD5_TXD           0x110b0
  259                                 MX6QDL_PAD_KEY_COL1__AUD5_TXFS          0x130b0
  260                                 MX6QDL_PAD_GPIO_5__CCM_CLKO1            0x130b0
  261                         >;
  262                 };
  263 
  264                 pinctrl_h100_tc358743: h100-tc358743 {
  265                         fsl,pins = <
  266                                 MX6QDL_PAD_NANDF_CS2__GPIO6_IO15        0x1b0b0
  267                         >;
  268                 };
  269 
  270                 pinctrl_h100_uart2: h100-uart2 {
  271                         fsl,pins = <
  272                                 MX6QDL_PAD_SD4_DAT4__UART2_RX_DATA      0x1b0b1
  273                                 MX6QDL_PAD_SD4_DAT7__UART2_TX_DATA      0x1b0b1
  274                         >;
  275                 };
  276 
  277                 pinctrl_h100_usbh1_vbus: hummingboard-usbh1-vbus {
  278                         fsl,pins = <
  279                                 MX6QDL_PAD_GPIO_0__GPIO1_IO00           0x1b0b0
  280                         >;
  281                 };
  282 
  283                 pinctrl_h100_usbotg_id: hummingboard-usbotg-id {
  284                         fsl,pins = <
  285                                 MX6QDL_PAD_GPIO_1__USB_OTG_ID           0x13059
  286                         >;
  287                 };
  288 
  289                 pinctrl_h100_usbotg_vbus: hummingboard-usbotg-vbus {
  290                         fsl,pins = <
  291                                 MX6QDL_PAD_EIM_D22__GPIO3_IO22          0x1b0b0
  292                         >;
  293                 };
  294 
  295                 pinctrl_h100_usdhc2: h100-usdhc2 {
  296                         fsl,pins = <
  297                                 MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x1f071
  298                                 MX6QDL_PAD_SD2_CMD__SD2_CMD             0x17059
  299                                 MX6QDL_PAD_SD2_CLK__SD2_CLK             0x10059
  300                                 MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x17059
  301                                 MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x17059
  302                                 MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x17059
  303                                 MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x13059
  304                                 MX6QDL_PAD_KEY_ROW1__SD2_VSELECT        0x1b0b0
  305                         >;
  306                 };
  307 
  308                 pinctrl_h100_usdhc2_100mhz: h100-usdhc2-100mhz {
  309                         fsl,pins = <
  310                                 MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x1f071
  311                                 MX6QDL_PAD_SD2_CMD__SD2_CMD             0x170b9
  312                                 MX6QDL_PAD_SD2_CLK__SD2_CLK             0x100b9
  313                                 MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x170b9
  314                                 MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x170b9
  315                                 MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x170b9
  316                                 MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x170b9
  317                                 MX6QDL_PAD_KEY_ROW1__SD2_VSELECT        0x1b0b0
  318                         >;
  319                 };
  320 
  321                 pinctrl_h100_usdhc2_200mhz: h100-usdhc2-200mhz {
  322                         fsl,pins = <
  323                                 MX6QDL_PAD_GPIO_4__GPIO1_IO04           0x1f071
  324                                 MX6QDL_PAD_SD2_CMD__SD2_CMD             0x170f9
  325                                 MX6QDL_PAD_SD2_CLK__SD2_CLK             0x100f9
  326                                 MX6QDL_PAD_SD2_DAT0__SD2_DATA0          0x170f9
  327                                 MX6QDL_PAD_SD2_DAT1__SD2_DATA1          0x170f9
  328                                 MX6QDL_PAD_SD2_DAT2__SD2_DATA2          0x170f9
  329                                 MX6QDL_PAD_SD2_DAT3__SD2_DATA3          0x170f9
  330                                 MX6QDL_PAD_KEY_ROW1__SD2_VSELECT        0x1b0b0
  331                         >;
  332                 };
  333         };
  334 };
  335 
  336 &mipi_csi {
  337         status = "okay";
  338 
  339         port {
  340                 mipi_csi2_in: endpoint {
  341                         remote-endpoint = <&tc358743_out>;
  342                         data-lanes = <1 2 3 4>;
  343                         clock-lanes = <0>;
  344                         clock-noncontinuous;
  345                         link-frequencies = /bits/ 64 <297000000>;
  346                 };
  347         };
  348 };
  349 
  350 &ssi1 {
  351         status = "okay";
  352 };
  353 
  354 &uart2 {
  355         pinctrl-names = "default";
  356         pinctrl-0 = <&pinctrl_h100_uart2>;
  357         status = "okay";
  358 };
  359 
  360 &usbh1 {
  361         disable-over-current;
  362         vbus-supply = <&reg_usbh1_vbus>;
  363         status = "okay";
  364 };
  365 
  366 &usbotg {
  367         disable-over-current;
  368         pinctrl-names = "default";
  369         pinctrl-0 = <&pinctrl_h100_usbotg_id>;
  370         vbus-supply = <&reg_usbotg_vbus>;
  371         status = "okay";
  372 };
  373 
  374 &usdhc2 {
  375         pinctrl-names = "default", "state_100mhz", "state_200mhz";
  376         pinctrl-0 = <&pinctrl_h100_usdhc2>;
  377         pinctrl-1 = <&pinctrl_h100_usdhc2_100mhz>;
  378         pinctrl-2 = <&pinctrl_h100_usdhc2_200mhz>;
  379         vmmc-supply = <&reg_3p3v>;
  380         cd-gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
  381         status = "okay";
  382 };

Cache object: 68aa21972a1e88d121c27f6c5050b0e1


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