Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile
- index 6d1e8668..a209534d 100644
- --- a/arch/arm/dts/Makefile
- +++ b/arch/arm/dts/Makefile
- @@ -493,6 +493,7 @@ dtb-$(CONFIG_MACH_SUN7I) += \
- sun7i-a20-pcduino3.dtb \
- sun7i-a20-pcduino3-nano.dtb \
- sun7i-a20-primo73.dtb \
- + sun7i-a20-tpc9150.dtb \
- sun7i-a20-wexler-tab7200.dtb \
- sun7i-a20-wits-pro-a20-dkt.dtb \
- sun7i-a20-yones-toptech-bd1078.dtb
- diff --git a/arch/arm/dts/sun7i-a20-tpc9150.dts b/arch/arm/dts/sun7i-a20-tpc9150.dts
- new file mode 100644
- index 00000000..73519d0b
- --- /dev/null
- +++ b/arch/arm/dts/sun7i-a20-tpc9150.dts
- @@ -0,0 +1,219 @@
- +/*
- + * Copyright 2020 Nikola Pavlica <pavlica.nikola@xxxxxxxxx>
- + *
- + * This file is dual-licensed: you can use it either under the terms
- + * of the GPL or the X11 license, at your option. Note that this dual
- + * licensing only applies to this file, and not this project as a
- + * whole.
- + *
- + * a) This library is free software; you can redistribute it and/or
- + * modify it under the terms of the GNU General Public License as
- + * published by the Free Software Foundation; either version 2 of the
- + * License, or (at your option) any later version.
- + *
- + * This library is distributed in the hope that it will be useful,
- + * but WITHOUT ANY WARRANTY; without even the implied warranty of
- + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- + * GNU General Public License for more details.
- + *
- + * You should have received a copy of the GNU General Public
- + * License along with this library; if not, write to the Free
- + * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
- + * MA 02110-1301 USA
- + *
- + * Or, alternatively,
- + *
- + * b) Permission is hereby granted, free of charge, to any person
- + * obtaining a copy of this software and associated documentation
- + * files (the "Software"), to deal in the Software without
- + * restriction, including without limitation the rights to use,
- + * copy, modify, merge, publish, distribute, sublicense, and/or
- + * sell copies of the Software, and to permit persons to whom the
- + * Software is furnished to do so, subject to the following
- + * conditions:
- + *
- + * The above copyright notice and this permission notice shall be
- + * included in all copies or substantial portions of the Software.
- + *
- + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
- + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- + * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- + * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- + * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- + * OTHER DEALINGS IN THE SOFTWARE.
- + */
- +
- +/dts-v1/;
- +#include "sun7i-a20.dtsi"
- +#include "sunxi-common-regulators.dtsi"
- +
- +#include <dt-bindings/gpio/gpio.h>
- +#include <dt-bindings/input/input.h>
- +#include <dt-bindings/interrupt-controller/irq.h>
- +#include <dt-bindings/pwm/pwm.h>
- +
- +/ {
- + model = "Vivax TPC-9150 tablet";
- + compatible = "vivax,tpc9150", "allwinner,sun7i-a20";
- +
- + aliases {
- + serial0 = &uart0;
- + };
- +
- + backlight {
- + compatible = "pwm-backlight";
- + pwms = <&pwm 0 50000 PWM_POLARITY_INVERTED>;
- + brightness-levels = <0 10 20 30 40 50 60 70 80 90 100>;
- + default-brightness-level = <8>;
- + enable-gpios = <&pio 7 7 GPIO_ACTIVE_HIGH>; /* PH7 */
- + };
- +
- + chosen {
- + stdout-path = "serial0:115200n8";
- + };
- +};
- +
- +&codec {
- + allwinner,pa-gpios = <&pio 7 15 GPIO_ACTIVE_HIGH>; /* PH15 */
- + status = "okay";
- +};
- +
- +&cpu0 {
- + cpu-supply = <®_dcdc2>;
- +};
- +
- +&ehci0 {
- + status = "okay";
- +};
- +
- +&ehci1 {
- + status = "okay";
- +};
- +
- +&i2c0 {
- + status = "okay";
- +
- + axp209: pmic@34 {
- + reg = <0x34>;
- + interrupt-parent = <&nmi_intc>;
- + interrupts = <0 IRQ_TYPE_LEVEL_LOW>;
- + };
- +};
- +
- +#include "axp209.dtsi"
- +
- +&i2c1 {
- + status = "okay";
- +};
- +
- +&i2c2 {
- + status = "okay";
- +
- + ft5x: touchscreen@38 {
- + compatible = "edt,edt-ft5406";
- + reg = <0x38>;
- + interrupt-parent = <&pio>;
- + interrupts = <7 21 IRQ_TYPE_EDGE_FALLING>;
- + wake-gpios = <&pio 1 13 GPIO_ACTIVE_HIGH>; /* PB13 */
- + touchscreen-size-x = <600>;
- + touchscreen-size-y = <1024>;
- + };
- +};
- +
- +&lradc {
- + vref-supply = <®_vcc3v0>;
- + status = "okay";
- +};
- +
- +&mmc0 {
- + vmmc-supply = <®_vcc3v3>;
- + bus-width = <4>;
- + cd-gpios = <&pio 7 1 GPIO_ACTIVE_LOW>; /* PH1 */
- + status = "okay";
- +};
- +
- +&ohci0 {
- + status = "okay";
- +};
- +
- +&ohci1 {
- + status = "okay";
- +};
- +
- +&otg_sram {
- + status = "okay";
- +};
- +
- +&pio {
- + usb0_id_detect_pin: usb0-id-detect-pin {
- + pins = "PH4";
- + function = "gpio_in";
- + bias-pull-up;
- + };
- +};
- +
- +®_dcdc2 {
- + regulator-always-on;
- + regulator-min-microvolt = <1000000>;
- + regulator-max-microvolt = <1400000>;
- + regulator-name = "vdd-cpu";
- +};
- +
- +®_dcdc3 {
- + regulator-always-on;
- + regulator-min-microvolt = <1000000>;
- + regulator-max-microvolt = <1250000>;
- + regulator-name = "vdd-int-dll";
- +};
- +
- +®_ldo1 {
- + regulator-name = "vdd-rtc";
- +};
- +
- +®_ldo2 {
- + regulator-always-on;
- + regulator-min-microvolt = <3000000>;
- + regulator-max-microvolt = <3000000>;
- + regulator-name = "avcc";
- +};
- +
- +®_usb0_vbus {
- + status = "okay";
- +};
- +
- +®_usb1_vbus {
- + status = "okay";
- +};
- +
- +®_usb2_vbus {
- + status = "okay";
- +};
- +
- +&uart0 {
- + pinctrl-names = "default";
- + pinctrl-0 = <&uart0_pb_pins>;
- + status = "okay";
- +};
- +
- +&usb_otg {
- + dr_mode = "otg";
- + status = "okay";
- +};
- +
- +&usb_power_supply {
- + status = "okay";
- +};
- +
- +&usbphy {
- + pinctrl-names = "default";
- + pinctrl-0 = <&usb0_id_detect_pin>;
- + usb0_id_det-gpio = <&pio 7 4 GPIO_ACTIVE_HIGH>; /* PH4 */
- + usb0_vbus_power-supply = <&usb_power_supply>;
- + usb0_vbus-supply = <®_usb0_vbus>;
- + usb1_vbus-supply = <®_usb1_vbus>;
- + usb2_vbus-supply = <®_usb2_vbus>;
- + status = "okay";
- +};
- +
- diff --git a/configs/Vivax_TPC9150_defconfig b/configs/Vivax_TPC9150_defconfig
- new file mode 100644
- index 00000000..5785e829
- --- /dev/null
- +++ b/configs/Vivax_TPC9150_defconfig
- @@ -0,0 +1,13 @@
- +CONFIG_ARM=y
- +CONFIG_ARCH_SUNXI=y
- +CONFIG_SPL=y
- +CONFIG_MACH_SUN7I=y
- +CONFIG_DRAM_CLK=384
- +CONFIG_VIDEO_LCD_MODE="x:1024,y:600,depth:18,pclk_khz:60000,le:60,ri:160,up:13,lo:12,hs:100,vs:10,sync:3,vmode:0"
- +CONFIG_VIDEO_LCD_DCLK_PHASE=0
- +CONFIG_VIDEO_LCD_POWER="PH8"
- +CONFIG_VIDEO_LCD_BL_EN="PH7"
- +CONFIG_VIDEO_LCD_BL_PWM="PB2"
- +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
- +CONFIG_SPL_I2C_SUPPORT=y
- +CONFIG_DEFAULT_DEVICE_TREE="sun7i-a20-tpc9150"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement