From: "J. Neuschäfer" <[email protected]> The X96Q is a set-top box with an H313 SoC, AXP305 PMIC, 1 or 2 GiB RAM, 8 or 16 GiB eMMC flash, 2x USB A, Micro-SD, HDMI, Ethernet, audio/video output, and infrared input.
https://x96mini.com/products/x96q-tv-box-android-10-set-top-box This commit adds a defconfig and some documentation. The devicetree is already in dts/upstream. The CONFIG_DRAM_SUNXI_* settings are chosen such that the register values in the DRAM PHY's MMIO space are as close as possible to those observed when booting with the preinstalled vendor U-Boot. --- Signed-off-by: J. Neuschäfer <[email protected]> --- configs/x96q_defconfig | 46 ++++++++++++++++++++++++++++++++++ doc/board/amediatech/index.rst | 9 +++++++ doc/board/amediatech/x96q.rst | 57 ++++++++++++++++++++++++++++++++++++++++++ doc/board/index.rst | 1 + 4 files changed, 113 insertions(+) diff --git a/configs/x96q_defconfig b/configs/x96q_defconfig new file mode 100644 index 00000000000..650fecca624 --- /dev/null +++ b/configs/x96q_defconfig @@ -0,0 +1,46 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_DEFAULT_DEVICE_TREE="allwinner/sun50i-h313-x96q" +CONFIG_SPL=y + +CONFIG_DRAM_CLK=600 +CONFIG_DRAM_SUNXI_DX_ODT=0x03030303 +CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e +CONFIG_DRAM_SUNXI_CA_DRI=0x1f12 +CONFIG_DRAM_SUNXI_TPR0=0xc0001002 +CONFIG_DRAM_SUNXI_TPR2=0x00000100 +CONFIG_DRAM_SUNXI_TPR10=0x002f0107 +CONFIG_DRAM_SUNXI_TPR11=0xddddcccc +CONFIG_DRAM_SUNXI_TPR12=0xeddc7665 + +CONFIG_MACH_SUN50I_H616=y +CONFIG_SUNXI_DRAM_H616_DDR3_1333=y # DDR3 is correct, but vendor uboot mentions 600 MHz DRAM CLK +#CONFIG_MMC_SUNXI_SLOT_EXTRA=2 +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_SUPPORT_EMMC_BOOT=y +CONFIG_AXP305_POWER=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y + +CONFIG_SPL_USE_TINY_PRINTF_POINTER_SUPPORT=y +CONFIG_CMD_UFETCH=y +#CONFIG_SPL_PAYLOAD="u-boot.img" +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=0x60 + +CONFIG_CMD_CAT=y + +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=60 # os = 0, uboot not detected +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=61 # e59f002c e5810000 f57ff04f f57ff06f (4a0000cc) +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=62 # a9431e66 a9442668 a9452e6a a946366c (4a0002cc) +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=64 # 52800000 91008081 79400025 34000080 (4a0006cc) +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=96 # 340007c0 f9401673 eb1302ff 54000760 (4a006acc) +#CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR=112 # f9003fe0 f94047e0 6b1c001f 54fffcc0 (4a0162cc) + +CONFIG_SUN8I_EMAC=y +CONFIG_FIT_BEST_MATCH=y diff --git a/doc/board/amediatech/index.rst b/doc/board/amediatech/index.rst new file mode 100644 index 00000000000..7bc42833ec0 --- /dev/null +++ b/doc/board/amediatech/index.rst @@ -0,0 +1,9 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +Amediatech +========== + +.. toctree:: + :maxdepth: 2 + + x96q diff --git a/doc/board/amediatech/x96q.rst b/doc/board/amediatech/x96q.rst new file mode 100644 index 00000000000..27485c1b363 --- /dev/null +++ b/doc/board/amediatech/x96q.rst @@ -0,0 +1,57 @@ +.. SPDX-License-Identifier: GPL-2.0+ + +U-Boot for the Amediatech X96Q set-top box +========================================== + +Quick Start +----------- + +- Get and Build the ARM Trusted Firmware (TF-A) +- Build U-Boot +- Write U-Boot to a microSD card +- Boot + +Get and Build the ARM Trusted Firmware (TF-A) +--------------------------------------------- + +.. code-block:: bash + + $ echo "Downloading and building TF-A..." + $ git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git + $ cd trusted-firmware-a + +Then build TF-A: + +.. code-block:: bash + + $ export CROSS_COMPILE=aarch64-linux-gnu- + $ make PLAT=sun50i_h616 bl31 + $ cp build/sun50i_h616/release/bl31.bin ../ + +Build U-Boot +------------ + +.. code-block:: bash + + $ export CROSS_COMPILE=aarch64-none-elf- + $ make x96q_defconfig + $ make + +After the build succeeds, you will obtain the final ``u-boot-sunxi-with-spl.bin`` +image, which you can then write to a microSD card. + +Write U-Boot to a microSD card +------------------------------ + +You can then flash U-Boot to the microSD card (replace ``/dev/sdX`` with the +card's device file): + +.. code-block:: bash + + $ dd if=u-boot-sunxi-with-spl.bin of=/dev/sdX bs=8k seek=1 + +Boot +---- + +When the X96Q is booted with the prepared microSD card inserted, it should boot +into the freshly installed U-Boot. diff --git a/doc/board/index.rst b/doc/board/index.rst index 7870f1bc246..767e1831912 100644 --- a/doc/board/index.rst +++ b/doc/board/index.rst @@ -9,6 +9,7 @@ Board-specific doc acer/index actions/index advantech/index + amediatech/index andestech/index allwinner/index amlogic/index --- base-commit: 8f520c0d5656196ec4912c837cc156a399350c33 change-id: 20251231-x96q-998c1376ebbf Best regards, -- J. Neuschäfer <[email protected]>

