Home | History | Annotate | Line # | Download | only in dts
      1 /*
      2  * Copyright 2013 Maxime Ripard
      3  *
      4  * Maxime Ripard <maxime.ripard (at) 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 "sun5i-a10s.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 = "Olimex A10s-Olinuxino Micro";
     54 	compatible = "olimex,a10s-olinuxino-micro", "allwinner,sun5i-a10s";
     55 
     56 	aliases {
     57 		serial0 = &uart0;
     58 		serial1 = &uart2;
     59 		serial2 = &uart3;
     60 	};
     61 
     62 	chosen {
     63 		stdout-path = "serial0:115200n8";
     64 	};
     65 
     66 	connector {
     67 		compatible = "hdmi-connector";
     68 		type = "a";
     69 
     70 		port {
     71 			hdmi_con_in: endpoint {
     72 				remote-endpoint = <&hdmi_out_con>;
     73 			};
     74 		};
     75 	};
     76 
     77 	leds {
     78 		compatible = "gpio-leds";
     79 		pinctrl-names = "default";
     80 		pinctrl-0 = <&led_pins_olinuxino>;
     81 
     82 		led {
     83 			label = "a10s-olinuxino-micro:green:usr";
     84 			gpios = <&pio 4 3 GPIO_ACTIVE_HIGH>;
     85 			default-state = "on";
     86 		};
     87 	};
     88 };
     89 
     90 &be0 {
     91 	status = "okay";
     92 };
     93 
     94 &ehci0 {
     95 	status = "okay";
     96 };
     97 
     98 &emac {
     99 	pinctrl-names = "default";
    100 	pinctrl-0 = <&emac_pa_pins>;
    101 	phy-handle = <&phy1>;
    102 	status = "okay";
    103 };
    104 
    105 &emac_sram {
    106 	status = "okay";
    107 };
    108 
    109 &hdmi {
    110 	status = "okay";
    111 };
    112 
    113 &hdmi_out {
    114 	hdmi_out_con: endpoint {
    115 		remote-endpoint = <&hdmi_con_in>;
    116 	};
    117 };
    118 
    119 &i2c0 {
    120 	status = "okay";
    121 
    122 	axp152: pmic@30 {
    123 		reg = <0x30>;
    124 		interrupts = <0>;
    125 	};
    126 };
    127 
    128 #include "axp152.dtsi"
    129 
    130 &i2c1 {
    131 	status = "okay";
    132 
    133 	eeprom@50 {
    134 		compatible = "atmel,24c16";
    135 		pagesize = <16>;
    136 		reg = <0x50>;
    137 		read-only;
    138 	};
    139 };
    140 
    141 &i2c2 {
    142 	status = "okay";
    143 };
    144 
    145 &lradc {
    146 	vref-supply = <&reg_vcc3v0>;
    147 	status = "okay";
    148 
    149 	button-191 {
    150 		label = "Volume Up";
    151 		linux,code = <KEY_VOLUMEUP>;
    152 		channel = <0>;
    153 		voltage = <191274>;
    154 	};
    155 
    156 	button-392 {
    157 		label = "Volume Down";
    158 		linux,code = <KEY_VOLUMEDOWN>;
    159 		channel = <0>;
    160 		voltage = <392644>;
    161 	};
    162 
    163 	button-601 {
    164 		label = "Menu";
    165 		linux,code = <KEY_MENU>;
    166 		channel = <0>;
    167 		voltage = <601151>;
    168 	};
    169 
    170 	button-795 {
    171 		label = "Enter";
    172 		linux,code = <KEY_ENTER>;
    173 		channel = <0>;
    174 		voltage = <795090>;
    175 	};
    176 
    177 	button-987 {
    178 		label = "Home";
    179 		linux,code = <KEY_HOMEPAGE>;
    180 		channel = <0>;
    181 		voltage = <987387>;
    182 	};
    183 };
    184 
    185 &mdio {
    186 	status = "okay";
    187 
    188 	phy1: ethernet-phy@1 {
    189 		reg = <1>;
    190 	};
    191 };
    192 
    193 &mmc0 {
    194 	vmmc-supply = <&reg_vcc3v3>;
    195 	bus-width = <4>;
    196 	cd-gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
    197 	status = "okay";
    198 };
    199 
    200 &mmc1 {
    201 	vmmc-supply = <&reg_vcc3v3>;
    202 	bus-width = <4>;
    203 	cd-gpios = <&pio 6 13 GPIO_ACTIVE_LOW>; /* PG13 */
    204 	status = "okay";
    205 };
    206 
    207 &ohci0 {
    208 	status = "okay";
    209 };
    210 
    211 &otg_sram {
    212 	status = "okay";
    213 };
    214 
    215 &pio {
    216 	led_pins_olinuxino: led-pin {
    217 		pins = "PE3";
    218 		function = "gpio_out";
    219 		drive-strength = <20>;
    220 	};
    221 };
    222 
    223 &reg_usb0_vbus {
    224 	gpio = <&pio 6 11 GPIO_ACTIVE_HIGH>; /* PG11 */
    225 	status = "okay";
    226 };
    227 
    228 &reg_usb1_vbus {
    229 	gpio = <&pio 1 10 GPIO_ACTIVE_HIGH>;
    230 	status = "okay";
    231 };
    232 
    233 &spi2 {
    234 	pinctrl-names = "default";
    235 	pinctrl-0 = <&spi2_pb_pins>,
    236 		    <&spi2_cs0_pb_pin>;
    237 	status = "okay";
    238 };
    239 
    240 &tcon0 {
    241 	status = "okay";
    242 };
    243 
    244 &uart0 {
    245 	pinctrl-names = "default";
    246 	pinctrl-0 = <&uart0_pb_pins>;
    247 	status = "okay";
    248 };
    249 
    250 &uart2 {
    251 	pinctrl-names = "default";
    252 	pinctrl-0 = <&uart2_pc_pins>;
    253 	status = "okay";
    254 };
    255 
    256 &uart3 {
    257 	pinctrl-names = "default";
    258 	pinctrl-0 = <&uart3_pg_pins>;
    259 	status = "okay";
    260 };
    261 
    262 &usb_otg {
    263 	dr_mode = "otg";
    264 	status = "okay";
    265 };
    266 
    267 &usbphy {
    268 	usb0_id_det-gpios = <&pio 6 12 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>; /* PG12 */
    269 	usb0_vbus-supply = <&reg_usb0_vbus>;
    270 	usb1_vbus-supply = <&reg_usb1_vbus>;
    271 	status = "okay";
    272 };
    273