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/sun6i-a31-hummingbird.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 2014 Maxime Ripard
    3  *
    4  * Maxime Ripard <maxime.ripard@free-electrons.com>
    5  *
    6  * This file is dual-licensed: you can use it either under the terms
    7  * of the GPL or the X11 license, at your option. Note that this dual
    8  * licensing only applies to this file, and not this project as a
    9  * whole.
   10  *
   11  *  a) This file is free software; you can redistribute it and/or
   12  *     modify it under the terms of the GNU General Public License as
   13  *     published by the Free Software Foundation; either version 2 of the
   14  *     License, or (at your option) any later version.
   15  *
   16  *     This file is distributed in the hope that it will be useful,
   17  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
   18  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   19  *     GNU General Public License for more details.
   20  *
   21  * Or, alternatively,
   22  *
   23  *  b) Permission is hereby granted, free of charge, to any person
   24  *     obtaining a copy of this software and associated documentation
   25  *     files (the "Software"), to deal in the Software without
   26  *     restriction, including without limitation the rights to use,
   27  *     copy, modify, merge, publish, distribute, sublicense, and/or
   28  *     sell copies of the Software, and to permit persons to whom the
   29  *     Software is furnished to do so, subject to the following
   30  *     conditions:
   31  *
   32  *     The above copyright notice and this permission notice shall be
   33  *     included in all copies or substantial portions of the Software.
   34  *
   35  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
   36  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
   37  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
   38  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
   39  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
   40  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
   41  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
   42  *     OTHER DEALINGS IN THE SOFTWARE.
   43  */
   44 
   45 /dts-v1/;
   46 #include "sun6i-a31.dtsi"
   47 #include "sunxi-common-regulators.dtsi"
   48 
   49 #include <dt-bindings/gpio/gpio.h>
   50 
   51 / {
   52         model = "Merrii A31 Hummingbird";
   53         compatible = "merrii,a31-hummingbird", "allwinner,sun6i-a31";
   54 
   55         aliases {
   56                 rtc0 = &pcf8563;
   57                 rtc1 = &rtc;
   58                 serial0 = &uart0;
   59         };
   60 
   61         chosen {
   62                 stdout-path = "serial0:115200n8";
   63         };
   64 
   65         hdmi-connector {
   66                 compatible = "hdmi-connector";
   67                 type = "a";
   68 
   69                 port {
   70                         hdmi_con_in: endpoint {
   71                                 remote-endpoint = <&hdmi_out_con>;
   72                         };
   73                 };
   74         };
   75 
   76         vga-connector {
   77                 compatible = "vga-connector";
   78 
   79                 port {
   80                         vga_con_in: endpoint {
   81                                 remote-endpoint = <&vga_dac_out>;
   82                         };
   83                 };
   84         };
   85 
   86         vga-dac {
   87                 compatible = "dumb-vga-dac";
   88                 vdd-supply = <&reg_vga_3v3>;
   89 
   90                 ports {
   91                         #address-cells = <1>;
   92                         #size-cells = <0>;
   93 
   94                         port@0 {
   95                                 reg = <0>;
   96 
   97                                 vga_dac_in: endpoint {
   98                                         remote-endpoint = <&tcon0_out_vga>;
   99                                 };
  100                         };
  101 
  102                         port@1 {
  103                                 reg = <1>;
  104 
  105                                 vga_dac_out: endpoint {
  106                                         remote-endpoint = <&vga_con_in>;
  107                                 };
  108                         };
  109                 };
  110         };
  111 
  112         reg_vga_3v3: vga_3v3_regulator {
  113                 compatible = "regulator-fixed";
  114                 regulator-name = "vga-3v3";
  115                 regulator-min-microvolt = <3300000>;
  116                 regulator-max-microvolt = <3300000>;
  117                 regulator-boot-on;
  118                 enable-active-high;
  119                 gpio = <&pio 7 25 GPIO_ACTIVE_HIGH>; /* PH25 */
  120         };
  121 
  122         wifi_pwrseq: wifi_pwrseq {
  123                 compatible = "mmc-pwrseq-simple";
  124                 reset-gpios = <&pio 6 10 GPIO_ACTIVE_LOW>; /* PG10 */
  125         };
  126 };
  127 
  128 &codec {
  129         allwinner,audio-routing =
  130                 "Headphone", "HP",
  131                 "Speaker", "LINEOUT",
  132                 "LINEIN", "Line In",
  133                 "MIC1", "Mic",
  134                 "MIC2", "Headset Mic",
  135                 "Mic",  "MBIAS",
  136                 "Headset Mic", "HBIAS";
  137         allwinner,pa-gpios = <&pio 7 22 GPIO_ACTIVE_HIGH>; /* PH22 */
  138         status = "okay";
  139 };
  140 
  141 &cpu0 {
  142         cpu-supply = <&reg_dcdc3>;
  143 };
  144 
  145 &de {
  146         status = "okay";
  147 };
  148 
  149 &ehci0 {
  150         status = "okay";
  151 };
  152 
  153 &gmac {
  154         pinctrl-names = "default";
  155         pinctrl-0 = <&gmac_rgmii_pins>;
  156         phy-handle = <&phy1>;
  157         phy-mode = "rgmii-id";
  158         status = "okay";
  159 };
  160 
  161 &hdmi {
  162         status = "okay";
  163 };
  164 
  165 &hdmi_out {
  166         hdmi_out_con: endpoint {
  167                 remote-endpoint = <&hdmi_con_in>;
  168         };
  169 };
  170 
  171 &i2c0 {
  172         /* pull-ups and devices require AXP221 DLDO3 */
  173         status = "failed";
  174 };
  175 
  176 &i2c1 {
  177         status = "okay";
  178 };
  179 
  180 &i2c2 {
  181         status = "okay";
  182 
  183         pcf8563: rtc@51 {
  184                 compatible = "nxp,pcf8563";
  185                 reg = <0x51>;
  186         };
  187 };
  188 
  189 &ir {
  190         pinctrl-names = "default";
  191         pinctrl-0 = <&s_ir_rx_pin>;
  192         status = "okay";
  193 };
  194 
  195 &mdio {
  196         phy1: ethernet-phy@1 {
  197                 reg = <1>;
  198                 reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>;
  199                 reset-assert-us = <10000>;
  200                 reset-deassert-us = <30000>;
  201         };
  202 };
  203 
  204 &mmc0 {
  205         vmmc-supply = <&reg_dcdc1>;
  206         bus-width = <4>;
  207         cd-gpios = <&pio 0 8 GPIO_ACTIVE_LOW>; /* PA8 */
  208         status = "okay";
  209 };
  210 
  211 &mmc1 {
  212         vmmc-supply = <&reg_aldo1>;
  213         mmc-pwrseq = <&wifi_pwrseq>;
  214         bus-width = <4>;
  215         non-removable;
  216         status = "okay";
  217 };
  218 
  219 &ohci0 {
  220         status = "okay";
  221 };
  222 
  223 &p2wi {
  224         status = "okay";
  225 
  226         axp22x: pmic@68 {
  227                 compatible = "x-powers,axp221";
  228                 reg = <0x68>;
  229                 interrupt-parent = <&r_intc>;
  230                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
  231                 x-powers,drive-vbus-en;
  232         };
  233 };
  234 
  235 #include "axp22x.dtsi"
  236 
  237 &ac_power_supply {
  238         status = "okay";
  239 };
  240 
  241 &reg_aldo1 {
  242         regulator-min-microvolt = <3300000>;
  243         regulator-max-microvolt = <3300000>;
  244         regulator-name = "vcc-wifi";
  245 };
  246 
  247 &reg_aldo3 {
  248         regulator-always-on;
  249         regulator-min-microvolt = <2700000>;
  250         regulator-max-microvolt = <3300000>;
  251         regulator-name = "avcc";
  252 };
  253 
  254 &reg_dc5ldo {
  255         regulator-min-microvolt = <700000>;
  256         regulator-max-microvolt = <1320000>;
  257         regulator-name = "vdd-cpus";
  258 };
  259 
  260 &reg_dcdc1 {
  261         regulator-always-on;
  262         regulator-min-microvolt = <3000000>;
  263         regulator-max-microvolt = <3000000>;
  264         regulator-name = "vcc-3v0";
  265 };
  266 
  267 &reg_dcdc2 {
  268         regulator-min-microvolt = <700000>;
  269         regulator-max-microvolt = <1320000>;
  270         regulator-name = "vdd-gpu";
  271 };
  272 
  273 &reg_dcdc3 {
  274         regulator-always-on;
  275         regulator-min-microvolt = <700000>;
  276         regulator-max-microvolt = <1320000>;
  277         regulator-name = "vdd-cpu";
  278 };
  279 
  280 &reg_dcdc4 {
  281         regulator-always-on;
  282         regulator-min-microvolt = <700000>;
  283         regulator-max-microvolt = <1320000>;
  284         regulator-name = "vdd-sys-dll";
  285 };
  286 
  287 &reg_dcdc5 {
  288         regulator-always-on;
  289         regulator-min-microvolt = <1500000>;
  290         regulator-max-microvolt = <1500000>;
  291         regulator-name = "vcc-dram";
  292 };
  293 
  294 &reg_drivevbus {
  295         regulator-name = "usb0-vbus";
  296         status = "okay";
  297 };
  298 
  299 &reg_usb1_vbus {
  300         gpio = <&pio 7 24 GPIO_ACTIVE_HIGH>; /* PH24 */
  301         status = "okay";
  302 };
  303 
  304 &tcon0 {
  305         pinctrl-names = "default";
  306         pinctrl-0 = <&lcd0_rgb888_pins>;
  307 };
  308 
  309 &tcon0_out {
  310         tcon0_out_vga: endpoint@0 {
  311                 reg = <0>;
  312                 remote-endpoint = <&vga_dac_in>;
  313         };
  314 };
  315 
  316 &uart0 {
  317         pinctrl-names = "default";
  318         pinctrl-0 = <&uart0_ph_pins>;
  319         status = "okay";
  320 };
  321 
  322 &usb_otg {
  323         dr_mode = "otg";
  324         status = "okay";
  325 };
  326 
  327 &usb_power_supply {
  328         status = "okay";
  329 };
  330 
  331 &usbphy {
  332         usb0_id_det-gpios = <&pio 0 15 GPIO_ACTIVE_HIGH>; /* PA15 */
  333         usb0_vbus_det-gpios = <&pio 0 16 GPIO_ACTIVE_HIGH>; /* PA16 */
  334         usb0_vbus_power-supply = <&usb_power_supply>;
  335         usb0_vbus-supply = <&reg_drivevbus>;
  336         usb1_vbus-supply = <&reg_usb1_vbus>;
  337         status = "okay";
  338 };

Cache object: df34465c3540237f0c31349095c15093


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