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/sun8i-r16-parrot.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 2016 Quentin Schulz
    3  *
    4  * Quentin Schulz <quentin.schulz@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 "sun8i-a33.dtsi"
   47 #include "sunxi-common-regulators.dtsi"
   48 
   49 #include <dt-bindings/gpio/gpio.h>
   50 #include <dt-bindings/input/input.h>
   51 
   52 / {
   53         model = "Allwinner R16 EVB (Parrot)";
   54         compatible = "allwinner,parrot", "allwinner,sun8i-a33";
   55 
   56         aliases {
   57                 serial0 = &uart0;
   58         };
   59 
   60         chosen {
   61                 stdout-path = "serial0:115200n8";
   62         };
   63 
   64         leds {
   65                 compatible = "gpio-leds";
   66 
   67                 led-1 {
   68                         label = "parrot:led1:usr";
   69                         gpios = <&pio 4 17 GPIO_ACTIVE_HIGH>; /* PE17 */
   70                 };
   71 
   72                 led-2 {
   73                         label = "parrot:led2:usr";
   74                         gpios = <&pio 4 16 GPIO_ACTIVE_HIGH>; /* PE16 */
   75                 };
   76         };
   77 
   78         wifi_pwrseq: wifi_pwrseq {
   79                 compatible = "mmc-pwrseq-simple";
   80                 reset-gpios = <&r_pio 0 6 GPIO_ACTIVE_LOW>; /* PL06 */
   81         };
   82 
   83 };
   84 
   85 &codec {
   86         status = "okay";
   87 };
   88 
   89 &dai {
   90         status = "okay";
   91 };
   92 
   93 &ehci0 {
   94         status = "okay";
   95 };
   96 
   97 &i2c1 {
   98         status = "okay";
   99 
  100         /*
  101          * FIXME: An as-yet-unknown accelerometer is connected to this
  102          * i2c bus.
  103          */
  104 };
  105 
  106 &lradc {
  107         vref-supply = <&reg_aldo3>;
  108         status = "okay";
  109 
  110         button-190 {
  111                 label = "V+";
  112                 linux,code = <KEY_VOLUMEUP>;
  113                 channel = <0>;
  114                 voltage = <190000>;
  115         };
  116 
  117         button-390 {
  118                 label = "V-";
  119                 linux,code = <KEY_VOLUMEDOWN>;
  120                 channel = <0>;
  121                 voltage = <390000>;
  122         };
  123 
  124 };
  125 
  126 &mmc0 {
  127         vmmc-supply = <&reg_dcdc1>;
  128         cd-gpios = <&pio 3 14 GPIO_ACTIVE_LOW>; /* PD14 */
  129         bus-width = <4>;
  130         status = "okay";
  131 };
  132 
  133 &mmc1 {
  134         pinctrl-names = "default";
  135         pinctrl-0 = <&mmc1_pg_pins>;
  136         vmmc-supply = <&reg_aldo1>;
  137         mmc-pwrseq = <&wifi_pwrseq>;
  138         bus-width = <4>;
  139         non-removable;
  140         status = "okay";
  141 };
  142 
  143 &mmc2 {
  144         pinctrl-names = "default";
  145         pinctrl-0 = <&mmc2_8bit_pins>;
  146         vmmc-supply = <&reg_dcdc1>;
  147         bus-width = <8>;
  148         non-removable;
  149         cap-mmc-hw-reset;
  150         status = "okay";
  151 };
  152 
  153 &mmc2_8bit_pins {
  154         drive-strength = <40>;
  155 };
  156 
  157 &ohci0 {
  158         status = "okay";
  159 };
  160 
  161 &r_rsb {
  162         status = "okay";
  163 
  164         axp22x: pmic@3a3 {
  165                 compatible = "x-powers,axp223";
  166                 reg = <0x3a3>;
  167                 interrupt-parent = <&r_intc>;
  168                 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
  169                 drivevbus-supply = <&reg_vcc5v0>;
  170                 x-powers,drive-vbus-en;
  171         };
  172 };
  173 
  174 #include "axp223.dtsi"
  175 
  176 &reg_aldo1 {
  177         regulator-always-on;
  178         regulator-min-microvolt = <3000000>;
  179         regulator-max-microvolt = <3000000>;
  180         regulator-name = "vcc-io";
  181 };
  182 
  183 &reg_aldo2 {
  184         regulator-always-on;
  185         regulator-min-microvolt = <2350000>;
  186         regulator-max-microvolt = <2650000>;
  187         regulator-name = "vdd-dll";
  188 };
  189 
  190 &reg_aldo3 {
  191         regulator-always-on;
  192         regulator-min-microvolt = <2700000>;
  193         regulator-max-microvolt = <3300000>;
  194         regulator-name = "vcc-pll-avcc";
  195 };
  196 
  197 &reg_dc5ldo {
  198         regulator-always-on;
  199         regulator-min-microvolt = <900000>;
  200         regulator-max-microvolt = <1400000>;
  201         regulator-name = "vdd-cpus";
  202 };
  203 
  204 &reg_dcdc1 {
  205         regulator-always-on;
  206         regulator-min-microvolt = <3000000>;
  207         regulator-max-microvolt = <3000000>;
  208         regulator-name = "vcc-3v0";
  209 };
  210 
  211 &reg_dcdc2 {
  212         regulator-always-on;
  213         regulator-min-microvolt = <900000>;
  214         regulator-max-microvolt = <1400000>;
  215         regulator-name = "vdd-sys";
  216 };
  217 
  218 &reg_dcdc3 {
  219         regulator-always-on;
  220         regulator-min-microvolt = <900000>;
  221         regulator-max-microvolt = <1400000>;
  222         regulator-name = "vdd-cpu";
  223 };
  224 
  225 &reg_dcdc5 {
  226         regulator-always-on;
  227         regulator-min-microvolt = <1500000>;
  228         regulator-max-microvolt = <1500000>;
  229         regulator-name = "vcc-dram";
  230 };
  231 
  232 &reg_dldo1 {
  233         /*
  234          * TODO: WiFi chip needs dldo1 AND dldo2 to be on to be powered.
  235          * Remove next line once it is possible to sync two regulators.
  236          */
  237         regulator-always-on;
  238         regulator-min-microvolt = <3300000>;
  239         regulator-max-microvolt = <3300000>;
  240         regulator-name = "vcc-wifi0";
  241 };
  242 
  243 &reg_dldo2 {
  244         /*
  245          * TODO: WiFi chip needs dldo1 AND dldo2 to be on to be powered.
  246          * Remove next line once it is possible to sync two regulators.
  247          */
  248         regulator-always-on;
  249         regulator-min-microvolt = <3300000>;
  250         regulator-max-microvolt = <3300000>;
  251         regulator-name = "vcc-wifi1";
  252 };
  253 
  254 &reg_dldo3 {
  255         regulator-min-microvolt = <3000000>;
  256         regulator-max-microvolt = <3000000>;
  257         regulator-name = "vcc-3v0-csi";
  258 };
  259 
  260 &reg_drivevbus {
  261         regulator-name = "usb0-vbus";
  262         status = "okay";
  263 };
  264 
  265 &reg_eldo1 {
  266         regulator-min-microvolt = <1200000>;
  267         regulator-max-microvolt = <1200000>;
  268         regulator-name = "vcc-1v2-hsic";
  269 };
  270 
  271 &reg_eldo2 {
  272         regulator-min-microvolt = <3000000>;
  273         regulator-max-microvolt = <3000000>;
  274         regulator-name = "vcc-dsp";
  275 };
  276 
  277 &reg_eldo3 {
  278         regulator-min-microvolt = <3000000>;
  279         regulator-max-microvolt = <3000000>;
  280         regulator-name = "eldo3";
  281 };
  282 
  283 &reg_usb1_vbus {
  284         gpio = <&pio 3 12 GPIO_ACTIVE_HIGH>; /* PD12 */
  285         status = "okay";
  286 };
  287 
  288 &sound {
  289         status = "okay";
  290 };
  291 
  292 &uart0 {
  293         pinctrl-names = "default";
  294         pinctrl-0 = <&uart0_pb_pins>;
  295         status = "okay";
  296 };
  297 
  298 &usb_otg {
  299         dr_mode = "otg";
  300         status = "okay";
  301 };
  302 
  303 &usb_power_supply {
  304         status = "okay";
  305 };
  306 
  307 &usbphy {
  308         status = "okay";
  309         usb0_vbus-supply = <&reg_drivevbus>;
  310         usb0_id_det-gpios = <&pio 3 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PD10 */
  311         usb0_vbus_power-supply = <&usb_power_supply>;
  312         usb1_vbus-supply = <&reg_usb1_vbus>;
  313 };

Cache object: 056bda48b276409a7beb09685a360ed4


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