sunxi: h616: add Tanix TX1 support
authorAndre Przywara <andre.przywara@arm.com>
Mon, 25 Mar 2024 21:58:39 +0000 (21:58 +0000)
committerAndre Przywara <andre.przywara@arm.com>
Tue, 6 Aug 2024 10:19:48 +0000 (11:19 +0100)
The Tanix TX1 is a tiny TV box, featuring the Allwinner H313 SoC with up
to 2GB of DRAM and 16GB of eMMC. There is no SD card or Ethernet port on
this small device, but it can be booted via the USB debug "FEL" mode.
The bootloader could then be written to the eMMC.

Add the defconfig for that board, and add the devicetree file to the
Makefile, for it to be built.
The DRAM parameters were taken from the vendor firmware on the eMMC.

Signed-off-by: Andre Przywara <andre.przywara@arm.com>
arch/arm/dts/Makefile
board/sunxi/MAINTAINERS
configs/tanix_tx1_defconfig [new file with mode: 0644]

index 82d37ad..871cfbb 100644 (file)
@@ -678,6 +678,7 @@ dtb-$(CONFIG_MACH_SUN50I_H6) += \
        sun50i-h6-tanix-tx6.dtb \
        sun50i-h6-tanix-tx6-mini.dtb
 dtb-$(CONFIG_MACH_SUN50I_H616) += \
+       sun50i-h313-tanix-tx1.dtb \
        sun50i-h616-orangepi-zero2.dtb \
        sun50i-h618-orangepi-zero2w.dtb \
        sun50i-h618-orangepi-zero3.dtb \
index 4bcd9b9..4ad77c7 100644 (file)
@@ -549,6 +549,12 @@ S: Maintained
 F:     configs/Sunchip_CX-A99_defconfig
 W:     https://linux-sunxi.org/Sunchip_CX-A99
 
+TANIX TX1 BOARD
+M:     Andre Przywara <andre.przywara@arm.com>
+S:     Maintained
+F:     configs/tanix_tx1_defconfig
+W:     https://linux-sunxi.org/Tanix_TX1
+
 TANIX TX6 BOARD
 M:     Jernej Skrabec <jernej.skrabec@siol.net>
 S:     Maintained
diff --git a/configs/tanix_tx1_defconfig b/configs/tanix_tx1_defconfig
new file mode 100644 (file)
index 0000000..9915fff
--- /dev/null
@@ -0,0 +1,25 @@
+CONFIG_ARM=y
+CONFIG_ARCH_SUNXI=y
+CONFIG_DEFAULT_DEVICE_TREE="sun50i-h313-tanix-tx1"
+CONFIG_SPL=y
+CONFIG_DRAM_SUN50I_H616_DX_ODT=0x06060606
+CONFIG_DRAM_SUN50I_H616_DX_DRI=0x0d0d0d0d
+CONFIG_DRAM_SUN50I_H616_CA_DRI=0x1919
+CONFIG_DRAM_SUN50I_H616_ODT_EN=0x9988eeee
+CONFIG_DRAM_SUN50I_H616_TPR6=0x2fb08080
+CONFIG_DRAM_SUN50I_H616_TPR10=0x402f4469
+CONFIG_DRAM_SUN50I_H616_TPR11=0x0e0f0d0d
+CONFIG_DRAM_SUN50I_H616_TPR12=0x11131213
+CONFIG_MACH_SUN50I_H616=y
+CONFIG_SUNXI_DRAM_H616_LPDDR3=y
+CONFIG_R_I2C_ENABLE=y
+# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
+CONFIG_SPL_I2C=y
+CONFIG_SPL_SYS_I2C_LEGACY=y
+CONFIG_SYS_I2C_MVTWSI=y
+CONFIG_SYS_I2C_SLAVE=0x7f
+CONFIG_SYS_I2C_SPEED=400000
+CONFIG_AXP313_POWER=y
+CONFIG_AXP_DCDC3_VOLT=1200
+CONFIG_USB_EHCI_HCD=y
+CONFIG_USB_OHCI_HCD=y