Home | History | Annotate | Line # | Download | only in dts
      1      1.1  jmcneill /*
      2      1.1  jmcneill  * Copyright 2015 Hans de Goede <hdegoede (at) redhat.com>
      3      1.1  jmcneill  *
      4      1.1  jmcneill  * This file is dual-licensed: you can use it either under the terms
      5      1.1  jmcneill  * of the GPL or the X11 license, at your option. Note that this dual
      6      1.1  jmcneill  * licensing only applies to this file, and not this project as a
      7      1.1  jmcneill  * whole.
      8      1.1  jmcneill  *
      9      1.1  jmcneill  *  a) This library is free software; you can redistribute it and/or
     10      1.1  jmcneill  *     modify it under the terms of the GNU General Public License as
     11      1.1  jmcneill  *     published by the Free Software Foundation; either version 2 of the
     12      1.1  jmcneill  *     License, or (at your option) any later version.
     13      1.1  jmcneill  *
     14      1.1  jmcneill  *     This library is distributed in the hope that it will be useful,
     15      1.1  jmcneill  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
     16      1.1  jmcneill  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17      1.1  jmcneill  *     GNU General Public License for more details.
     18      1.1  jmcneill  *
     19      1.1  jmcneill  * Or, alternatively,
     20      1.1  jmcneill  *
     21      1.1  jmcneill  *  b) Permission is hereby granted, free of charge, to any person
     22      1.1  jmcneill  *     obtaining a copy of this software and associated documentation
     23      1.1  jmcneill  *     files (the "Software"), to deal in the Software without
     24      1.1  jmcneill  *     restriction, including without limitation the rights to use,
     25      1.1  jmcneill  *     copy, modify, merge, publish, distribute, sublicense, and/or
     26      1.1  jmcneill  *     sell copies of the Software, and to permit persons to whom the
     27      1.1  jmcneill  *     Software is furnished to do so, subject to the following
     28      1.1  jmcneill  *     conditions:
     29      1.1  jmcneill  *
     30      1.1  jmcneill  *     The above copyright notice and this permission notice shall be
     31      1.1  jmcneill  *     included in all copies or substantial portions of the Software.
     32      1.1  jmcneill  *
     33      1.1  jmcneill  *     THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
     34      1.1  jmcneill  *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
     35      1.1  jmcneill  *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
     36      1.1  jmcneill  *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
     37      1.1  jmcneill  *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
     38      1.1  jmcneill  *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
     39      1.1  jmcneill  *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
     40      1.1  jmcneill  *     OTHER DEALINGS IN THE SOFTWARE.
     41      1.1  jmcneill  */
     42      1.1  jmcneill 
     43      1.1  jmcneill /dts-v1/;
     44      1.1  jmcneill #include "sun6i-a31s.dtsi"
     45      1.1  jmcneill #include <dt-bindings/gpio/gpio.h>
     46      1.1  jmcneill 
     47      1.1  jmcneill / {
     48      1.1  jmcneill 	model = "Sinovoip BPI-M2";
     49      1.1  jmcneill 	compatible = "sinovoip,bpi-m2", "allwinner,sun6i-a31s";
     50      1.1  jmcneill 
     51      1.1  jmcneill 	aliases {
     52      1.1  jmcneill 		serial0 = &uart0;
     53      1.1  jmcneill 	};
     54      1.1  jmcneill 
     55      1.1  jmcneill 	chosen {
     56      1.1  jmcneill 		stdout-path = "serial0:115200n8";
     57      1.1  jmcneill 	};
     58      1.1  jmcneill 
     59      1.1  jmcneill 	leds {
     60      1.1  jmcneill 		compatible = "gpio-leds";
     61      1.1  jmcneill 
     62  1.1.1.7  jmcneill 		led-0 {
     63      1.1  jmcneill 			label = "bpi-m2:blue:usr";
     64      1.1  jmcneill 			gpios = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
     65      1.1  jmcneill 		};
     66      1.1  jmcneill 
     67  1.1.1.7  jmcneill 		led-1 {
     68      1.1  jmcneill 			label = "bpi-m2:green:usr";
     69      1.1  jmcneill 			gpios = <&pio 6 10 GPIO_ACTIVE_HIGH>; /* PG10 */
     70      1.1  jmcneill 		};
     71      1.1  jmcneill 
     72  1.1.1.7  jmcneill 		led-2 {
     73      1.1  jmcneill 			label = "bpi-m2:red:usr";
     74      1.1  jmcneill 			gpios = <&pio 6 5 GPIO_ACTIVE_HIGH>; /* PG5 */
     75      1.1  jmcneill 		};
     76      1.1  jmcneill 	};
     77      1.1  jmcneill 
     78      1.1  jmcneill 	mmc2_pwrseq: mmc2_pwrseq {
     79      1.1  jmcneill 		compatible = "mmc-pwrseq-simple";
     80      1.1  jmcneill 		reset-gpios = <&r_pio 0 8 GPIO_ACTIVE_LOW>; /* PL8 WIFI_EN */
     81      1.1  jmcneill 	};
     82      1.1  jmcneill };
     83      1.1  jmcneill 
     84  1.1.1.2  jmcneill &cpu0 {
     85  1.1.1.2  jmcneill 	cpu-supply = <&reg_dcdc3>;
     86  1.1.1.2  jmcneill };
     87  1.1.1.2  jmcneill 
     88      1.1  jmcneill &ehci0 {
     89      1.1  jmcneill 	status = "okay";
     90      1.1  jmcneill };
     91      1.1  jmcneill 
     92      1.1  jmcneill &gmac {
     93      1.1  jmcneill 	pinctrl-names = "default";
     94  1.1.1.5  jmcneill 	pinctrl-0 = <&gmac_rgmii_pins>;
     95  1.1.1.6     skrll 	phy-handle = <&phy1>;
     96      1.1  jmcneill 	phy-mode = "rgmii";
     97  1.1.1.4  jmcneill 	phy-supply = <&reg_dldo1>;
     98      1.1  jmcneill 	status = "okay";
     99      1.1  jmcneill };
    100      1.1  jmcneill 
    101      1.1  jmcneill &ir {
    102      1.1  jmcneill 	pinctrl-names = "default";
    103  1.1.1.5  jmcneill 	pinctrl-0 = <&s_ir_rx_pin>;
    104      1.1  jmcneill 	status = "okay";
    105      1.1  jmcneill };
    106      1.1  jmcneill 
    107  1.1.1.6     skrll &mdio {
    108  1.1.1.6     skrll 	phy1: ethernet-phy@1 {
    109  1.1.1.6     skrll 		reg = <1>;
    110  1.1.1.6     skrll 		reset-gpios = <&pio 0 21 GPIO_ACTIVE_LOW>; /* PA21 */
    111  1.1.1.6     skrll 		reset-assert-us = <10000>;
    112  1.1.1.6     skrll 		reset-deassert-us = <30000>;
    113  1.1.1.6     skrll 	};
    114  1.1.1.6     skrll };
    115  1.1.1.6     skrll 
    116      1.1  jmcneill &mmc0 {
    117  1.1.1.4  jmcneill 	vmmc-supply = <&reg_dcdc1>;
    118      1.1  jmcneill 	bus-width = <4>;
    119  1.1.1.4  jmcneill 	cd-gpios = <&pio 0 4 GPIO_ACTIVE_LOW>; /* PA4 */
    120      1.1  jmcneill 	status = "okay";
    121      1.1  jmcneill };
    122      1.1  jmcneill 
    123      1.1  jmcneill &mmc2 {
    124      1.1  jmcneill 	pinctrl-names = "default";
    125  1.1.1.5  jmcneill 	pinctrl-0 = <&mmc2_4bit_pins>;
    126  1.1.1.4  jmcneill 	vmmc-supply = <&reg_aldo1>;
    127      1.1  jmcneill 	mmc-pwrseq = <&mmc2_pwrseq>;
    128      1.1  jmcneill 	bus-width = <4>;
    129      1.1  jmcneill 	non-removable;
    130      1.1  jmcneill 	status = "okay";
    131      1.1  jmcneill 
    132  1.1.1.3  jmcneill 	brcmf: wifi@1 {
    133      1.1  jmcneill 		reg = <1>;
    134      1.1  jmcneill 		compatible = "brcm,bcm4329-fmac";
    135      1.1  jmcneill 		interrupt-parent = <&r_pio>;
    136      1.1  jmcneill 		interrupts = <0 5 IRQ_TYPE_LEVEL_LOW>; /* PL5 */
    137      1.1  jmcneill 		interrupt-names = "host-wake";
    138      1.1  jmcneill 	};
    139      1.1  jmcneill };
    140      1.1  jmcneill 
    141      1.1  jmcneill &ohci0 {
    142      1.1  jmcneill 	status = "okay";
    143      1.1  jmcneill };
    144      1.1  jmcneill 
    145  1.1.1.2  jmcneill &p2wi {
    146  1.1.1.2  jmcneill 	status = "okay";
    147  1.1.1.2  jmcneill 
    148  1.1.1.2  jmcneill 	axp22x: pmic@68 {
    149  1.1.1.2  jmcneill 		compatible = "x-powers,axp221";
    150  1.1.1.2  jmcneill 		reg = <0x68>;
    151  1.1.1.7  jmcneill 		interrupt-parent = <&r_intc>;
    152  1.1.1.7  jmcneill 		interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_LOW>;
    153  1.1.1.4  jmcneill 		eldoin-supply = <&reg_dcdc1>;
    154  1.1.1.4  jmcneill 		x-powers,drive-vbus-en;
    155  1.1.1.2  jmcneill 	};
    156  1.1.1.2  jmcneill };
    157  1.1.1.2  jmcneill 
    158  1.1.1.2  jmcneill #include "axp22x.dtsi"
    159  1.1.1.2  jmcneill 
    160  1.1.1.4  jmcneill &reg_aldo1 {
    161  1.1.1.4  jmcneill 	regulator-min-microvolt = <3300000>;
    162  1.1.1.4  jmcneill 	regulator-max-microvolt = <3300000>;
    163  1.1.1.4  jmcneill 	regulator-name = "vcc-wifi";
    164  1.1.1.4  jmcneill };
    165  1.1.1.4  jmcneill 
    166  1.1.1.4  jmcneill &reg_aldo2 {
    167  1.1.1.4  jmcneill 	regulator-always-on;
    168  1.1.1.4  jmcneill 	regulator-min-microvolt = <2500000>;
    169  1.1.1.4  jmcneill 	regulator-max-microvolt = <2500000>;
    170  1.1.1.4  jmcneill 	regulator-name = "vcc-gmac";
    171  1.1.1.4  jmcneill };
    172  1.1.1.4  jmcneill 
    173  1.1.1.4  jmcneill &reg_aldo3 {
    174  1.1.1.4  jmcneill 	regulator-always-on;
    175  1.1.1.4  jmcneill 	regulator-min-microvolt = <3000000>;
    176  1.1.1.4  jmcneill 	regulator-max-microvolt = <3000000>;
    177  1.1.1.4  jmcneill 	regulator-name = "avcc";
    178  1.1.1.4  jmcneill };
    179  1.1.1.4  jmcneill 
    180  1.1.1.2  jmcneill &reg_dc5ldo {
    181  1.1.1.4  jmcneill 	regulator-always-on;
    182  1.1.1.2  jmcneill 	regulator-min-microvolt = <700000>;
    183  1.1.1.2  jmcneill 	regulator-max-microvolt = <1320000>;
    184  1.1.1.2  jmcneill 	regulator-name = "vdd-cpus";
    185  1.1.1.2  jmcneill };
    186  1.1.1.2  jmcneill 
    187  1.1.1.2  jmcneill &reg_dcdc1 {
    188  1.1.1.2  jmcneill 	regulator-always-on;
    189  1.1.1.2  jmcneill 	regulator-min-microvolt = <3000000>;
    190  1.1.1.2  jmcneill 	regulator-max-microvolt = <3000000>;
    191  1.1.1.2  jmcneill 	regulator-name = "vdd-3v0";
    192  1.1.1.2  jmcneill };
    193  1.1.1.2  jmcneill 
    194  1.1.1.2  jmcneill &reg_dcdc2 {
    195  1.1.1.2  jmcneill 	regulator-min-microvolt = <700000>;
    196  1.1.1.2  jmcneill 	regulator-max-microvolt = <1320000>;
    197  1.1.1.2  jmcneill 	regulator-name = "vdd-gpu";
    198  1.1.1.2  jmcneill };
    199  1.1.1.2  jmcneill 
    200  1.1.1.2  jmcneill &reg_dcdc3 {
    201  1.1.1.2  jmcneill 	regulator-always-on;
    202  1.1.1.2  jmcneill 	regulator-min-microvolt = <700000>;
    203  1.1.1.2  jmcneill 	regulator-max-microvolt = <1320000>;
    204  1.1.1.2  jmcneill 	regulator-name = "vdd-cpu";
    205  1.1.1.2  jmcneill };
    206  1.1.1.2  jmcneill 
    207  1.1.1.2  jmcneill &reg_dcdc4 {
    208  1.1.1.2  jmcneill 	regulator-always-on;
    209  1.1.1.2  jmcneill 	regulator-min-microvolt = <700000>;
    210  1.1.1.2  jmcneill 	regulator-max-microvolt = <1320000>;
    211  1.1.1.2  jmcneill 	regulator-name = "vdd-sys-dll";
    212  1.1.1.2  jmcneill };
    213  1.1.1.2  jmcneill 
    214  1.1.1.2  jmcneill &reg_dcdc5 {
    215  1.1.1.2  jmcneill 	regulator-always-on;
    216  1.1.1.2  jmcneill 	regulator-min-microvolt = <1500000>;
    217  1.1.1.2  jmcneill 	regulator-max-microvolt = <1500000>;
    218  1.1.1.2  jmcneill 	regulator-name = "vcc-dram";
    219  1.1.1.2  jmcneill };
    220  1.1.1.2  jmcneill 
    221  1.1.1.4  jmcneill &reg_dldo1 {
    222  1.1.1.4  jmcneill 	regulator-min-microvolt = <3000000>;
    223  1.1.1.4  jmcneill 	regulator-max-microvolt = <3000000>;
    224  1.1.1.4  jmcneill 	regulator-name = "vcc-mac";
    225  1.1.1.4  jmcneill };
    226  1.1.1.4  jmcneill 
    227  1.1.1.4  jmcneill &reg_dldo2 {
    228  1.1.1.4  jmcneill 	regulator-min-microvolt = <2800000>;
    229  1.1.1.4  jmcneill 	regulator-max-microvolt = <2800000>;
    230  1.1.1.4  jmcneill 	regulator-name = "avdd-csi";
    231  1.1.1.4  jmcneill };
    232  1.1.1.4  jmcneill 
    233  1.1.1.4  jmcneill &reg_dldo3 {
    234  1.1.1.4  jmcneill 	regulator-always-on;
    235  1.1.1.4  jmcneill 	regulator-min-microvolt = <3300000>;
    236  1.1.1.4  jmcneill 	regulator-max-microvolt = <3300000>;
    237  1.1.1.4  jmcneill 	regulator-name = "vcc-pb";
    238  1.1.1.4  jmcneill };
    239  1.1.1.4  jmcneill 
    240  1.1.1.4  jmcneill &reg_eldo1 {
    241  1.1.1.4  jmcneill 	regulator-min-microvolt = <1800000>;
    242  1.1.1.4  jmcneill 	regulator-max-microvolt = <1800000>;
    243  1.1.1.4  jmcneill 	regulator-name = "vdd-csi";
    244  1.1.1.4  jmcneill 	status = "okay";
    245  1.1.1.4  jmcneill };
    246  1.1.1.4  jmcneill 
    247  1.1.1.4  jmcneill &reg_ldo_io1 {
    248  1.1.1.4  jmcneill 	regulator-always-on;
    249  1.1.1.4  jmcneill 	regulator-min-microvolt = <1800000>;
    250  1.1.1.4  jmcneill 	regulator-max-microvolt = <1800000>;
    251  1.1.1.4  jmcneill 	regulator-name = "vcc-pm-cpus";
    252  1.1.1.4  jmcneill 	status = "okay";
    253  1.1.1.4  jmcneill };
    254  1.1.1.4  jmcneill 
    255      1.1  jmcneill &uart0 {
    256      1.1  jmcneill 	pinctrl-names = "default";
    257  1.1.1.5  jmcneill 	pinctrl-0 = <&uart0_ph_pins>;
    258      1.1  jmcneill 	status = "okay";
    259      1.1  jmcneill };
    260      1.1  jmcneill 
    261      1.1  jmcneill &usbphy {
    262      1.1  jmcneill 	status = "okay";
    263      1.1  jmcneill };
    264  1.1.1.7  jmcneill 
    265  1.1.1.7  jmcneill &pio {
    266  1.1.1.7  jmcneill 	gpio-line-names =
    267  1.1.1.7  jmcneill 		/* PA */
    268  1.1.1.7  jmcneill 		"ETXD0", "ETXD1", "ETXD2", "ETXD3", "SDC0-DET", "", "",
    269  1.1.1.7  jmcneill 		"", "ETXCLK", "ETXEN", "EGTXCLK", "ERXD0", "ERXD1",
    270  1.1.1.7  jmcneill 		"ERXD2", "ERXD3", "", "", "", "", "ERXDV", "ERXCK",
    271  1.1.1.7  jmcneill 		"ETXERR", "ERXERR", "ECOL", "ECRS", "ECLKIN", "EMDC",
    272  1.1.1.7  jmcneill 		"EMDIO", "", "", "", "",
    273  1.1.1.7  jmcneill 
    274  1.1.1.7  jmcneill 		/* PB */
    275  1.1.1.7  jmcneill 		"CN7-P29", "CN7-P31", "CN7-P33", "CN7-P35", "CN7-P37",
    276  1.1.1.7  jmcneill 		"CN7-P28", "CN7-P27", "CN7-P32", "", "", "", "", "", "",
    277  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "", "", "", "", "", "",
    278  1.1.1.7  jmcneill 		"", "", "", "",
    279  1.1.1.7  jmcneill 
    280  1.1.1.7  jmcneill 		/* PC */
    281  1.1.1.7  jmcneill 		"", "", "", "", "", "", "WL-SDIO-CMD", "WL-SDIO-CLK",
    282  1.1.1.7  jmcneill 		"WL-SDIO-D0", "WL-SDIO-D2", "WL-SDIO-D2", "WL-SDIO-D3",
    283  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "", "", "", "", "", "",
    284  1.1.1.7  jmcneill 		"", "USB-DRV", "", "", "", "",
    285  1.1.1.7  jmcneill 
    286  1.1.1.7  jmcneill 		/* PD */
    287  1.1.1.7  jmcneill 		"CN9-P09", "CN9-P11", "CN9-P13", "CN9-P15", "CN9-P17",
    288  1.1.1.7  jmcneill 		"CN9-P19", "CN9-P21", "CN9-P23", "CN9-P25", "CN9-P27",
    289  1.1.1.7  jmcneill 		"CN9-P29", "CN9-P31", "CN9-P33", "CN9-P35", "CN9-P37",
    290  1.1.1.7  jmcneill 		"CN9-P39", "CN9-P40", "CN9-P38", "CN9-P36", "CN9-P34",
    291  1.1.1.7  jmcneill 		"CN9-P32", "CN9-P30", "CN9-P28", "CN9-P26", "CN9-P22",
    292  1.1.1.7  jmcneill 		"CN9-P14", "CN9-P18", "CN9-P16", "", "", "", "",
    293  1.1.1.7  jmcneill 
    294  1.1.1.7  jmcneill 		/* PE */
    295  1.1.1.7  jmcneill 		"CN6-P20", "CN6-P24", "CN6-P30", "CN6-P28", "CN7-P08",
    296  1.1.1.7  jmcneill 		"CN7-P10", "CN7-P36", "CN7-P38", "CN6-P17", "CN6-P19",
    297  1.1.1.7  jmcneill 		"CN6-P21", "CN6-P23", "CN6-P25", "CN6-P27", "CN6-P29",
    298  1.1.1.7  jmcneill 		"CN6-P31", "", "", "", "", "", "", "", "", "", "", "",
    299  1.1.1.7  jmcneill 		"", "", "", "", "",
    300  1.1.1.7  jmcneill 
    301  1.1.1.7  jmcneill 		/* PF */
    302  1.1.1.7  jmcneill 		"SDC0-D1", "SDC0-D0", "SDC0-CLK", "SDC0-CMD", "SDC0-D3",
    303  1.1.1.7  jmcneill 		"SDC0-D2", "", "", "", "", "", "", "", "", "", "", "",
    304  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "", "", "", "", "", "",
    305  1.1.1.7  jmcneill 		"",
    306  1.1.1.7  jmcneill 
    307  1.1.1.7  jmcneill 		/* PG */
    308  1.1.1.7  jmcneill 		"CN9-P06", "CN9-P08", "CN9-P20", "CN9-P12", "CN9-P07",
    309  1.1.1.7  jmcneill 		"LED-PWR", "CN7-P13", "CN7-P11", "CN7-P22", "CN7-P15",
    310  1.1.1.7  jmcneill 		"LED-G", "LED-B", "CN7-P26", "CN7-P24", "CN7-P23",
    311  1.1.1.7  jmcneill 		"CN7-P19", "CN7-P21", "HCEC", "CN6-P22", "", "", "", "",
    312  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "",
    313  1.1.1.7  jmcneill 
    314  1.1.1.7  jmcneill 		/* PH */
    315  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "", "CN7-P07",
    316  1.1.1.7  jmcneill 		"CN7-P12", "CN7-P16", "CN7-P18", "CN9-P10", "CN6-P16",
    317  1.1.1.7  jmcneill 		"CN6-P14", "CN9-P04", "CN9-P02", "CN7-P05", "CN7-P03",
    318  1.1.1.7  jmcneill 		"CN8-P03", "CN8-P02", "", "", "CN6-P34", "CN6-P32",
    319  1.1.1.7  jmcneill 		"CN6-P26", "CN6-P18", "", "", "", "";
    320  1.1.1.7  jmcneill };
    321  1.1.1.7  jmcneill 
    322  1.1.1.7  jmcneill &r_pio {
    323  1.1.1.7  jmcneill 	gpio-line-names =
    324  1.1.1.7  jmcneill 		/* PL */
    325  1.1.1.7  jmcneill 		"PMU-SCK", "PMU-SDA", "VBAT-EN", "", "IR-RX",
    326  1.1.1.7  jmcneill 		"WL-WAKE-HOST", "BT-WAKE_HOST", "BT-ENABLE",
    327  1.1.1.7  jmcneill 		"WL-PMU-EN", "", "", "", "", "", "", "", "", "", "", "",
    328  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "", "", "", "",
    329  1.1.1.7  jmcneill 
    330  1.1.1.7  jmcneill 		/* PM */
    331  1.1.1.7  jmcneill 		"CN6-P12", "CN6-P35", "CN7-P40", "", "", "", "", "", "",
    332  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "", "", "", "", "", "",
    333  1.1.1.7  jmcneill 		"", "", "", "", "", "", "", "", "";
    334  1.1.1.7  jmcneill };
    335