1/* 2 * Copyright 2015 Priit Laes 3 * 4 * Priit Laes <plaes@plaes.org> 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 * You should have received a copy of the GNU General Public 22 * License along with this file; if not, write to the Free 23 * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, 24 * MA 02110-1301 USA 25 * 26 * Or, alternatively, 27 * 28 * b) Permission is hereby granted, free of charge, to any person 29 * obtaining a copy of this software and associated documentation 30 * files (the "Software"), to deal in the Software without 31 * restriction, including without limitation the rights to use, 32 * copy, modify, merge, publish, distribute, sublicense, and/or 33 * sell copies of the Software, and to permit persons to whom the 34 * Software is furnished to do so, subject to the following 35 * conditions: 36 * 37 * The above copyright notice and this permission notice shall be 38 * included in all copies or substantial portions of the Software. 39 * 40 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 41 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 42 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 43 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 44 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 45 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 46 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 47 * OTHER DEALINGS IN THE SOFTWARE. 48 */ 49 50/dts-v1/; 51#include "sun4i-a10.dtsi" 52#include "sunxi-common-regulators.dtsi" 53#include <dt-bindings/gpio/gpio.h> 54#include <dt-bindings/input/input.h> 55 56/ { 57 model = "Gemei G9 Tablet"; 58 compatible = "gemei,g9", "allwinner,sun4i-a10"; 59 60 aliases { 61 serial0 = &uart0; 62 }; 63 64 chosen { 65 stdout-path = "serial0:115200n8"; 66 }; 67}; 68 69/* 70 * TODO: 71 * 2x cameras via CSI 72 * bma250 IRQs 73 * AXP battery management 74 * NAND 75 * OTG 76 * Touchscreen - gt801_2plus1 @ i2c adapter 2 @ 0x48 77 */ 78 79&ehci0 { 80 status = "okay"; 81}; 82 83&ehci1 { 84 status = "okay"; 85}; 86 87&i2c0 { 88 pinctrl-names = "default"; 89 pinctrl-0 = <&i2c0_pins_a>; 90 status = "okay"; 91 92 axp209: pmic@34 { 93 compatible = "x-powers,axp209"; 94 reg = <0x34>; 95 interrupts = <0>; 96 97 interrupt-controller; 98 #interrupt-cells = <1>; 99 }; 100}; 101 102&i2c1 { 103 pinctrl-names = "default"; 104 pinctrl-0 = <&i2c1_pins_a>; 105 status = "okay"; 106 107 /* Accelerometer */ 108 bma250@18 { 109 compatible = "bosch,bma250"; 110 reg = <0x18>; 111 112 /* 113 * TODO: interrupt pins: 114 * int1 - PH00 115 * int2 - PI10 116 */ 117 }; 118}; 119 120&lradc { 121 vref-supply = <®_vcc3v0>; 122 123 status = "okay"; 124 125 button@158 { 126 label = "Volume Down"; 127 linux,code = <KEY_VOLUMEDOWN>; 128 channel = <0>; 129 voltage = <158730>; 130 }; 131 132 button@349 { 133 label = "Volume Up"; 134 linux,code = <KEY_VOLUMEUP>; 135 channel = <0>; 136 voltage = <349206>; 137 }; 138 139 button@1142 { 140 label = "Esc"; 141 linux,code = <KEY_ESC>; 142 channel = <0>; 143 voltage = <1142856>; 144 }; 145}; 146 147&mmc0 { 148 pinctrl-names = "default"; 149 pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 150 vmmc-supply = <®_vcc3v3>; 151 bus-width = <4>; 152 cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH01 */ 153 cd-inverted; 154 status = "okay"; 155}; 156 157®_usb1_vbus { 158 status = "okay"; 159}; 160 161®_usb2_vbus { 162 status = "okay"; 163}; 164 165 166&uart0 { 167 pinctrl-names = "default"; 168 pinctrl-0 = <&uart0_pins_a>; 169 status = "okay"; 170}; 171 172&usbphy { 173 usb1_vbus-supply = <®_usb1_vbus>; 174 usb2_vbus-supply = <®_usb2_vbus>; 175 status = "okay"; 176}; 177