Guest User

Udoo Quad DTS

a guest
Jun 16th, 2014
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 7.31 KB | None | 0 0
  1. /*
  2.  * Copyright 2013 Freescale Semiconductor, Inc.
  3.  *
  4.  * Author: Fabio Estevam <[email protected]>
  5.  *        
  6.  * Copyright (C) 2014 Jasbir
  7.  *
  8.  * This program is free software; you can redistribute it and/or modify
  9.  * it under the terms of the GNU General Public License version 2 as
  10.  * published by the Free Software Foundation.
  11.  *
  12.  */
  13.  
  14. /dts-v1/;
  15. #include "imx6q.dtsi"
  16.  
  17. / {
  18.     model = "Udoo i.MX6 Quad Board";
  19.     compatible = "udoo,imx6q-udoo", "fsl,imx6q";
  20.  
  21.     aliases {
  22.         mxcfb0 = &mxcfb1;
  23.     };
  24.  
  25.     memory {
  26.         reg = <0x10000000 0x40000000>;
  27.     };
  28.  
  29.     regulators {
  30.         compatible = "simple-bus";
  31.  
  32.         reg_usb_h1_vbus: usb_h1_vbus {
  33.             compatible = "regulator-fixed";
  34.             regulator-name = "usb_h1_vbus";
  35.             regulator-min-microvolt = <5000000>;
  36.             regulator-max-microvolt = <5000000>;
  37.             enable-active-high;
  38.             startup-delay-us = <2>; /* USB2415 requires a POR of 1 us minimum */
  39.             gpio = <&gpio7 12 0>;
  40.         };
  41.     };
  42.  
  43.     mxcfb1: fb@0 {
  44.         compatible = "fsl,mxc_sdc_fb";
  45.         disp_dev = "hdmi";
  46.         interface_pix_fmt = "RGB24";
  47.         mode_str ="";
  48.         default_bpp = <32>;
  49.         int_clk = <0>;
  50.         late_init = <0>;
  51.         status = "disabled";
  52.     };
  53.  
  54.     sound-hdmi {
  55.         compatible = "fsl,imx6q-audio-hdmi",
  56.                  "fsl,imx-audio-hdmi";
  57.         model = "imx-audio-hdmi";
  58.         hdmi-controller = <&hdmi_audio>;
  59.     };
  60.  
  61.     v4l2_out {
  62.         compatible = "fsl,mxc_v4l2_output";
  63.         status = "okay";
  64.     };
  65.  
  66.     poweroff {
  67.         compatible = "udoo,poweroff";
  68.         sam3x_rst_gpio = <&gpio1 0 0>;
  69.         pwr_5v_gpio = <&gpio2 4 0>;
  70.     };
  71.  
  72. };
  73.  
  74. &hdmi_audio {
  75.     status = "okay";
  76. };
  77.  
  78.  
  79. &hdmi_core {
  80.     ipu_id = <0>;
  81.     disp_id = <0>;
  82.     status = "okay";
  83. };
  84.  
  85.  
  86. &hdmi_video {
  87.     fsl,phy_reg_vlev = <0x0294>;
  88.     fsl,phy_reg_cksymtx = <0x800d>;
  89.     status = "okay";
  90. };
  91.  
  92. &i2c2 {
  93.     clock-frequency = <100000>;
  94.     pinctrl-names = "default";
  95.     pinctrl-0 = <&pinctrl_i2c1_1>;
  96.     status = "okay";
  97. };
  98.  
  99. &i2c2 {
  100.     clock-frequency = <100000>;
  101.     pinctrl-names = "default";
  102.     pinctrl-0 = <&pinctrl_i2c2_2>;
  103.     status = "okay";
  104.  
  105.     hdmi: edid@50 {
  106.         compatible = "fsl,imx6-hdmi-i2c";
  107.         reg = <0x50>;
  108.     };
  109. };
  110.  
  111. &i2c2 {
  112.     clock-frequency = <100000>;
  113.     pinctrl-names = "default";
  114.     pinctrl-0 = <&pinctrl_i2c3_1>;
  115.     status = "okay";
  116. };
  117.  
  118. &fec {
  119.     pinctrl-names = "default";
  120.     pinctrl-0 = <&pinctrl_enet>;
  121.     phy-mode = "rgmii";
  122.     status = "okay";
  123. };
  124.  
  125. &hdmi {
  126.     ddc-i2c-bus = <&i2c2>;
  127.     status = "okay";
  128. };
  129.  
  130. &i2c2 {
  131.     clock-frequency = <100000>;
  132.     pinctrl-names = "default";
  133.     pinctrl-0 = <&pinctrl_i2c2>;
  134.     status = "okay";
  135. };
  136.  
  137. &hdmi {
  138.     ddc-i2c-bus = <&i2c2>;
  139.     status = "okay";
  140. };
  141.  
  142. &i2c2 {
  143.     clock-frequency = <100000>;
  144.     pinctrl-names = "default";
  145.     pinctrl-0 = <&pinctrl_i2c2>;
  146.     status = "okay";
  147. };
  148.  
  149. &hdmi {
  150.     ddc-i2c-bus = <&i2c2>;
  151.     status = "okay";
  152. };
  153.  
  154. &i2c2 {
  155.     clock-frequency = <100000>;
  156.     pinctrl-names = "default";
  157.     pinctrl-0 = <&pinctrl_i2c2>;
  158.     status = "okay";
  159. };
  160.  
  161. &iomuxc {
  162.  
  163.     pinctrl-names = "default";
  164.     pinctrl-0 = <&pinctrl_hog>;
  165.  
  166.     imx6q-udoo {
  167.         pinctrl_hog: hoggrp {
  168.             fsl,pins = <
  169.                 MX6QDL_PAD_NANDF_D4__GPIO2_IO04   0x80000000  /* 5v enable      */
  170.                 MX6QDL_PAD_NANDF_CS0__GPIO6_IO11  0x80000000  /* Vtt suspend    */
  171.                 MX6QDL_PAD_SD2_DAT0__GPIO1_IO15   0x80000000  /* touch reset    */
  172.                 MX6QDL_PAD_EIM_EB2__GPIO2_IO30    0x80000000  /* audio reset    */
  173.                 MX6QDL_PAD_EIM_EB3__GPIO2_IO31    0x80000000  /* ethernet power */
  174.  
  175.                 MX6QDL_PAD_GPIO_17__GPIO7_IO12    0x80000000  /* usb hub reset  */
  176.                 MX6QDL_PAD_NANDF_CS2__CCM_CLKO2   0x130b0     /* clk usb hub    */
  177.                 MX6QDL_PAD_EIM_WAIT__GPIO5_IO00   0xb0b1      /* usb otg select */
  178.  
  179.                 MX6QDL_PAD_NANDF_D5__GPIO2_IO05   0x80000000  /* sdcard power   */
  180.                 MX6QDL_PAD_SD3_DAT5__GPIO7_IO00   0x80000000  /* sd card detect */
  181.                 MX6QDL_PAD_DISP0_DAT5__GPIO4_IO26 0x80000000  /* select dbg uart*/
  182.                 MX6QDL_PAD_GPIO_0__GPIO1_IO00     0x80000000  /* SAM3X reset    */
  183.                 MX6QDL_PAD_DISP0_DAT0__GPIO4_IO21 0x30b1      /* SAM3X erase    */
  184.                 MX6QDL_PAD_GPIO_16__GPIO7_IO11    0xb0b1      /* SAM3X vbus_en  */
  185.                 MX6QDL_PAD_SD4_DAT7__GPIO2_IO15   0x80000000  /* SAM3X usb host */
  186.                 MX6QDL_PAD_GPIO_2__GPIO1_IO02     0x80000000  /* panel on       */
  187.                 MX6QDL_PAD_GPIO_4__GPIO1_IO04     0x80000000  /* backlight on   */
  188.                 MX6QDL_PAD_CSI0_DAT19__GPIO6_IO05 0x80000000  /* camera reset   */
  189.                 MX6QDL_PAD_CSI0_DAT18__GPIO6_IO04 0x80000000  /* camera enable  */
  190.                 MX6QDL_PAD_CSI0_PIXCLK__GPIO5_IO18 0x80000000 /* input mon serial*/
  191.                 MX6QDL_PAD_CSI0_DAT17__GPIO6_IO03 0x80000000  /* input mon serial*/
  192.                 MX6QDL_PAD_EIM_A19__GPIO2_IO19    0x80000000  /* writeprotect spi*/
  193.                 MX6QDL_PAD_GPIO_3__GPIO1_IO03     0x30b1      /* arduino pinout  */
  194.  
  195.                 MX6QDL_PAD_DI0_PIN2__AUD6_TXD     0x80000000  /* audio audmux */
  196.                 MX6QDL_PAD_DI0_PIN3__AUD6_TXFS    0x80000000  /* audio audmux */
  197.                 MX6QDL_PAD_DI0_PIN4__AUD6_RXD     0x80000000  /* audio audmux */
  198.                 MX6QDL_PAD_DI0_PIN15__AUD6_TXC    0x80000000  /* audio audmux */
  199.             >;
  200.         };
  201.  
  202.         pinctrl_enet: enetgrp {
  203.             fsl,pins = <               
  204.                 MX6QDL_PAD_RGMII_RXC__RGMII_RXC     0x1b0b0
  205.                 MX6QDL_PAD_RGMII_RD0__RGMII_RD0     0x1b0b0
  206.                 MX6QDL_PAD_RGMII_RD1__RGMII_RD1     0x1b0b0
  207.                 MX6QDL_PAD_RGMII_RD2__RGMII_RD2     0x1b0b0
  208.                 MX6QDL_PAD_RGMII_RD3__RGMII_RD3     0x1b0b0
  209.                 MX6QDL_PAD_RGMII_RX_CTL__RGMII_RX_CTL   0x1b0b0
  210.                 MX6QDL_PAD_RGMII_TXC__RGMII_TXC     0x1b0b0
  211.                 MX6QDL_PAD_RGMII_TD0__RGMII_TD0     0x1b0b0
  212.                 MX6QDL_PAD_RGMII_TD1__RGMII_TD1     0x1b0b0
  213.                 MX6QDL_PAD_RGMII_TD2__RGMII_TD2     0x1b0b0
  214.                 MX6QDL_PAD_RGMII_TD3__RGMII_TD3     0x1b0b0
  215.                 MX6QDL_PAD_RGMII_TX_CTL__RGMII_TX_CTL   0x1b0b0
  216.                 MX6QDL_PAD_ENET_REF_CLK__ENET_TX_CLK    0x1b0b0
  217.                 MX6QDL_PAD_ENET_MDIO__ENET_MDIO     0x1b0b0
  218.                 MX6QDL_PAD_ENET_MDC__ENET_MDC       0x1b0b0
  219.                 MX6QDL_PAD_EIM_D23__GPIO3_IO23      0x80000000 /* reset */
  220.             >;
  221.         };
  222.  
  223.         pinctrl_i2c2: i2c2grp {
  224.             fsl,pins = <
  225.                 MX6QDL_PAD_KEY_COL3__I2C2_SCL       0x4001b8b1
  226.                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA       0x4001b8b1
  227.             >;
  228.         };
  229.  
  230.         pinctrl_i2c2: i2c2grp {
  231.             fsl,pins = <
  232.                 MX6QDL_PAD_KEY_COL3__I2C2_SCL       0x4001b8b1
  233.                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA       0x4001b8b1
  234.             >;
  235.         };
  236.  
  237.         pinctrl_i2c2: i2c2grp {
  238.             fsl,pins = <
  239.                 MX6QDL_PAD_KEY_COL3__I2C2_SCL       0x4001b8b1
  240.                 MX6QDL_PAD_KEY_ROW3__I2C2_SDA       0x4001b8b1
  241.             >;
  242.         };
  243.  
  244.         pinctrl_uart2: uart2grp {
  245.             fsl,pins = <
  246.                 MX6QDL_PAD_EIM_D26__UART2_TX_DATA   0x1b0b1
  247.                 MX6QDL_PAD_EIM_D27__UART2_RX_DATA   0x1b0b1
  248.             >;
  249.         };
  250.  
  251.         pinctrl_uart4: uart4grp {
  252.             fsl,pins = <               
  253.                 MX6QDL_PAD_KEY_COL0__UART4_TX_DATA 0x1b0b1
  254.                 MX6QDL_PAD_KEY_ROW0__UART4_RX_DATA 0x1b0b1
  255.             >;
  256.         };
  257.  
  258.         pinctrl_usdhc3: usdhc3grp {
  259.             fsl,pins = <
  260.                 MX6QDL_PAD_SD3_CMD__SD3_CMD         0x17059
  261.                 MX6QDL_PAD_SD3_CLK__SD3_CLK         0x10059
  262.                 MX6QDL_PAD_SD3_DAT0__SD3_DATA0      0x17059
  263.                 MX6QDL_PAD_SD3_DAT1__SD3_DATA1      0x17059
  264.                 MX6QDL_PAD_SD3_DAT2__SD3_DATA2      0x17059
  265.                 MX6QDL_PAD_SD3_DAT3__SD3_DATA3      0x17059
  266.             >;
  267.         };
  268.  
  269.     };
  270. };
  271.  
  272. &sata {
  273.     status = "okay";
  274. };
  275.  
  276. &uart2 {
  277.     pinctrl-names = "default";
  278.     pinctrl-0 = <&pinctrl_uart2>;
  279.     status = "okay";
  280. };
  281.  
  282. &uart4 { /* sam3x port */
  283.     pinctrl-names = "default";
  284.     pinctrl-0 = <&pinctrl_uart4>;
  285.     status = "okay";
  286. };
  287.  
  288. &usdhc3 {
  289.     pinctrl-names = "default";
  290.     pinctrl-0 = <&pinctrl_usdhc3>;
  291.     non-removable;
  292.     keep-power-in-suspend;
  293.     status = "okay";
  294. };
  295.  
  296. &usbotg {
  297.     status = "disabled";
  298. };
  299.  
  300. &usbh1 {
  301.     vbus-supply = <&reg_usb_h1_vbus>;
  302.     clocks = <&clks 201>;
  303.     clock-names = "phy";
  304.     status = "okay";
  305. };
  306.  
  307. &mxcfb1 {
  308.     status = "okay";
  309. };
Advertisement
Add Comment
Please, Sign In to add comment