sunxi: Add support for Tanix TX6
authorJernej Skrabec <jernej.skrabec@siol.net>
Wed, 6 Jan 2021 17:02:57 +0000 (18:02 +0100)
committerAndre Przywara <andre.przywara@arm.com>
Mon, 25 Jan 2021 21:52:00 +0000 (21:52 +0000)
This commit adds support for Tanix TX6 TV box, based on H6. It's low end
H6 board, with 3 GiB of RAM, eMMC, fast ethernet, USB, IR and other
peripherals.

DT file is taken from Linux 5.11-rc1 release.

Signed-off-by: Jernej Skrabec <jernej.skrabec@siol.net>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
arch/arm/dts/Makefile
arch/arm/dts/sun50i-h6-tanix-tx6.dts [new file with mode: 0644]
board/sunxi/MAINTAINERS
configs/tanix_tx6_defconfig [new file with mode: 0644]

index 5ff1a31..6358a53 100644 (file)
@@ -614,7 +614,8 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \
        sun50i-h6-beelink-gs1.dtb \
        sun50i-h6-orangepi-lite2.dtb \
        sun50i-h6-orangepi-one-plus.dtb \
-       sun50i-h6-pine-h64.dtb
+       sun50i-h6-pine-h64.dtb \
+       sun50i-h6-tanix-tx6.dtb
 dtb-$(CONFIG_MACH_SUN50I) += \
        sun50i-a64-amarula-relic.dtb \
        sun50i-a64-bananapi-m64.dtb \
diff --git a/arch/arm/dts/sun50i-h6-tanix-tx6.dts b/arch/arm/dts/sun50i-h6-tanix-tx6.dts
new file mode 100644 (file)
index 0000000..be81330
--- /dev/null
@@ -0,0 +1,124 @@
+// SPDX-License-Identifier: (GPL-2.0+ OR MIT)
+// Copyright (c) 2019 Jernej Skrabec <jernej.skrabec@siol.net>
+
+/dts-v1/;
+
+#include "sun50i-h6.dtsi"
+#include "sun50i-h6-cpu-opp.dtsi"
+
+#include <dt-bindings/gpio/gpio.h>
+
+/ {
+       model = "Tanix TX6";
+       compatible = "oranth,tanix-tx6", "allwinner,sun50i-h6";
+
+       aliases {
+               serial0 = &uart0;
+       };
+
+       chosen {
+               stdout-path = "serial0:115200n8";
+       };
+
+       connector {
+               compatible = "hdmi-connector";
+               ddc-en-gpios = <&pio 7 2 GPIO_ACTIVE_HIGH>; /* PH2 */
+               type = "a";
+
+               port {
+                       hdmi_con_in: endpoint {
+                               remote-endpoint = <&hdmi_out_con>;
+                       };
+               };
+       };
+
+       reg_vcc3v3: vcc3v3 {
+               compatible = "regulator-fixed";
+               regulator-name = "vcc3v3";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
+       reg_vdd_cpu_gpu: vdd-cpu-gpu {
+               compatible = "regulator-fixed";
+               regulator-name = "vdd-cpu-gpu";
+               regulator-min-microvolt = <1135000>;
+               regulator-max-microvolt = <1135000>;
+       };
+};
+
+&cpu0 {
+       cpu-supply = <&reg_vdd_cpu_gpu>;
+};
+
+&de {
+       status = "okay";
+};
+
+&dwc3 {
+       status = "okay";
+};
+
+&ehci0 {
+       status = "okay";
+};
+
+&ehci3 {
+       status = "okay";
+};
+
+&gpu {
+       mali-supply = <&reg_vdd_cpu_gpu>;
+       status = "okay";
+};
+
+&hdmi {
+       status = "okay";
+};
+
+&hdmi_out {
+       hdmi_out_con: endpoint {
+               remote-endpoint = <&hdmi_con_in>;
+       };
+};
+
+&mmc0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&mmc0_pins>;
+       vmmc-supply = <&reg_vcc3v3>;
+       cd-gpios = <&pio 5 6 GPIO_ACTIVE_LOW>;
+       bus-width = <4>;
+       status = "okay";
+};
+
+&ohci0 {
+       status = "okay";
+};
+
+&ohci3 {
+       status = "okay";
+};
+
+&r_ir {
+       linux,rc-map-name = "rc-tanix-tx5max";
+       status = "okay";
+};
+
+&uart0 {
+       pinctrl-names = "default";
+       pinctrl-0 = <&uart0_ph_pins>;
+       status = "okay";
+};
+
+&usb2otg {
+       dr_mode = "host";
+       status = "okay";
+};
+
+&usb2phy {
+       status = "okay";
+};
+
+&usb3phy {
+       status = "okay";
+};
index 735801a..7a73a0b 100644 (file)
@@ -494,6 +494,12 @@ S: Maintained
 F:     configs/Sunchip_CX-A99_defconfig
 W:     https://linux-sunxi.org/Sunchip_CX-A99
 
+TANIX TX6 BOARD
+M:     Jernej Skrabec <jernej.skrabec@siol.net>
+S:     Maintained
+F:     configs/tanix_tx6_defconfig
+W:     https://linux-sunxi.org/Tanix_TX6
+
 TBS A711 BOARD
 M:     Maxime Ripard <mripard@kernel.org>
 S:     Maintained
diff --git a/configs/tanix_tx6_defconfig b/configs/tanix_tx6_defconfig
new file mode 100644 (file)
index 0000000..9ce812e
--- /dev/null
@@ -0,0 +1,10 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_SPL=y
+CONFIG_MACH_SUN50I_H6=y
+CONFIG_SUNXI_DRAM_H6_DDR3_1333=y
+CONFIG_DRAM_CLK=648
+CONFIG_MMC0_CD_PIN="PF6"
+CONFIG_MMC_SUNXI_SLOT_EXTRA=2
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h6-tanix-tx6"
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set