Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ARM: dts: sun4i: Add dts file for iNet-1 based tablets

The iNet-tek iNet-1 PCB is a PCB found in various generic 10.1" 1024x600
A10 based tablets such as the Point of View Protab2 XXL and the
Cherry M1007.

This patch has been tested on both rev2 and rev5 of this board / these
tablets.

It comes with a rtl8188cus usb wifi connected to ehci1, focal ft5406ee8
touchscreen connected to i2c2 addr 0x38, bosch bma 250 accelerometer
connected to i2c1 addr 0x18 and the usual connectors: headphone,
mini hdmi, power-barrel, mini-usb and a micro-sd slot.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>

authored by

Hans de Goede and committed by
Maxime Ripard
b92b1490 2ecf488b

+227
+1
arch/arm/boot/dts/Makefile
··· 577 577 sun4i-a10-gemei-g9.dtb \ 578 578 sun4i-a10-hackberry.dtb \ 579 579 sun4i-a10-hyundai-a7hd.dtb \ 580 + sun4i-a10-inet1.dtb \ 580 581 sun4i-a10-inet97fv2.dtb \ 581 582 sun4i-a10-inet9f-rev03.dtb \ 582 583 sun4i-a10-itead-iteaduino-plus.dtb \
+226
arch/arm/boot/dts/sun4i-a10-inet1.dts
··· 1 + /* 2 + * Copyright 2015 Hans de Goede <hdegoede@redhat.com> 3 + * 4 + * This file is dual-licensed: you can use it either under the terms 5 + * of the GPL or the X11 license, at your option. Note that this dual 6 + * licensing only applies to this file, and not this project as a 7 + * whole. 8 + * 9 + * a) This file is free software; you can redistribute it and/or 10 + * modify it under the terms of the GNU General Public License as 11 + * published by the Free Software Foundation; either version 2 of the 12 + * License, or (at your option) any later version. 13 + * 14 + * This file is distributed in the hope that it will be useful, 15 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 16 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 + * GNU General Public License for more details. 18 + * 19 + * Or, alternatively, 20 + * 21 + * b) Permission is hereby granted, free of charge, to any person 22 + * obtaining a copy of this software and associated documentation 23 + * files (the "Software"), to deal in the Software without 24 + * restriction, including without limitation the rights to use, 25 + * copy, modify, merge, publish, distribute, sublicense, and/or 26 + * sell copies of the Software, and to permit persons to whom the 27 + * Software is furnished to do so, subject to the following 28 + * conditions: 29 + * 30 + * The above copyright notice and this permission notice shall be 31 + * included in all copies or substantial portions of the Software. 32 + * 33 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 34 + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 35 + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 36 + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 37 + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 38 + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 39 + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 40 + * OTHER DEALINGS IN THE SOFTWARE. 41 + */ 42 + 43 + /dts-v1/; 44 + #include "sun4i-a10.dtsi" 45 + #include "sunxi-common-regulators.dtsi" 46 + #include <dt-bindings/gpio/gpio.h> 47 + #include <dt-bindings/input/input.h> 48 + #include <dt-bindings/interrupt-controller/irq.h> 49 + #include <dt-bindings/pinctrl/sun4i-a10.h> 50 + 51 + / { 52 + model = "iNet-1"; 53 + compatible = "inet-tek,inet1", "allwinner,sun4i-a10"; 54 + 55 + aliases { 56 + serial0 = &uart0; 57 + }; 58 + 59 + chosen { 60 + stdout-path = "serial0:115200n8"; 61 + }; 62 + }; 63 + 64 + &cpu0 { 65 + cpu-supply = <&reg_dcdc2>; 66 + }; 67 + 68 + &ehci0 { 69 + status = "okay"; 70 + }; 71 + 72 + &ehci1 { 73 + status = "okay"; 74 + }; 75 + 76 + &i2c0 { 77 + pinctrl-names = "default"; 78 + pinctrl-0 = <&i2c0_pins_a>; 79 + status = "okay"; 80 + 81 + axp209: pmic@34 { 82 + reg = <0x34>; 83 + interrupts = <0>; 84 + }; 85 + }; 86 + 87 + #include "axp209.dtsi" 88 + 89 + &i2c1 { 90 + pinctrl-names = "default"; 91 + pinctrl-0 = <&i2c1_pins_a>; 92 + status = "okay"; 93 + 94 + /* Accelerometer */ 95 + bma250@18 { 96 + compatible = "bosch,bma250"; 97 + reg = <0x18>; 98 + interrupt-parent = <&pio>; 99 + interrupts = <7 0 IRQ_TYPE_EDGE_RISING>; /* PH0 / EINT0 */ 100 + }; 101 + }; 102 + 103 + &i2c2 { 104 + pinctrl-names = "default"; 105 + pinctrl-0 = <&i2c2_pins_a>; 106 + status = "okay"; 107 + }; 108 + 109 + &lradc { 110 + vref-supply = <&reg_ldo2>; 111 + status = "okay"; 112 + 113 + button@200 { 114 + label = "Volume Up"; 115 + linux,code = <KEY_VOLUMEUP>; 116 + channel = <0>; 117 + voltage = <200000>; 118 + }; 119 + 120 + button@1000 { 121 + label = "Volume Down"; 122 + linux,code = <KEY_VOLUMEDOWN>; 123 + channel = <0>; 124 + voltage = <1000000>; 125 + }; 126 + 127 + button@1200 { 128 + label = "Home"; 129 + linux,code = <KEY_HOMEPAGE>; 130 + channel = <0>; 131 + voltage = <1200000>; 132 + }; 133 + }; 134 + 135 + &mmc0 { 136 + pinctrl-names = "default"; 137 + pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_reference_design>; 138 + vmmc-supply = <&reg_vcc3v3>; 139 + bus-width = <4>; 140 + cd-gpios = <&pio 7 1 GPIO_ACTIVE_HIGH>; /* PH1 */ 141 + cd-inverted; 142 + status = "okay"; 143 + }; 144 + 145 + &ohci0 { 146 + status = "okay"; 147 + }; 148 + 149 + &otg_sram { 150 + status = "okay"; 151 + }; 152 + 153 + &pio { 154 + usb0_id_detect_pin: usb0_id_detect_pin@0 { 155 + allwinner,pins = "PH4"; 156 + allwinner,function = "gpio_in"; 157 + allwinner,drive = <SUN4I_PINCTRL_10_MA>; 158 + allwinner,pull = <SUN4I_PINCTRL_PULL_UP>; 159 + }; 160 + 161 + usb0_vbus_detect_pin: usb0_vbus_detect_pin@0 { 162 + allwinner,pins = "PH5"; 163 + allwinner,function = "gpio_in"; 164 + allwinner,drive = <SUN4I_PINCTRL_10_MA>; 165 + allwinner,pull = <SUN4I_PINCTRL_PULL_DOWN>; 166 + }; 167 + }; 168 + 169 + &reg_dcdc2 { 170 + regulator-always-on; 171 + regulator-min-microvolt = <1000000>; 172 + regulator-max-microvolt = <1400000>; 173 + regulator-name = "vdd-cpu"; 174 + }; 175 + 176 + &reg_dcdc3 { 177 + regulator-always-on; 178 + regulator-min-microvolt = <1250000>; 179 + regulator-max-microvolt = <1250000>; 180 + regulator-name = "vdd-int-dll"; 181 + }; 182 + 183 + &reg_ldo1 { 184 + regulator-name = "vdd-rtc"; 185 + }; 186 + 187 + &reg_ldo2 { 188 + regulator-always-on; 189 + regulator-min-microvolt = <3000000>; 190 + regulator-max-microvolt = <3000000>; 191 + regulator-name = "avcc"; 192 + }; 193 + 194 + &reg_usb0_vbus { 195 + status = "okay"; 196 + }; 197 + 198 + &reg_usb1_vbus { 199 + status = "okay"; 200 + }; 201 + 202 + &reg_usb2_vbus { 203 + status = "okay"; 204 + }; 205 + 206 + &uart0 { 207 + pinctrl-names = "default"; 208 + pinctrl-0 = <&uart0_pins_a>; 209 + status = "okay"; 210 + }; 211 + 212 + &usb_otg { 213 + dr_mode = "otg"; 214 + status = "okay"; 215 + }; 216 + 217 + &usbphy { 218 + pinctrl-names = "default"; 219 + pinctrl-0 = <&usb0_id_detect_pin>, <&usb0_vbus_detect_pin>; 220 + usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */ 221 + usb0_vbus_det-gpio = <&pio 7 5 GPIO_ACTIVE_HIGH>; /* PH5 */ 222 + usb0_vbus-supply = <&reg_usb0_vbus>; 223 + usb1_vbus-supply = <&reg_usb1_vbus>; 224 + usb2_vbus-supply = <&reg_usb2_vbus>; 225 + status = "okay"; 226 + };