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. The DRAM clock frequency of 600 MHz was reported in the vendor U-Boot's output. Signed-off-by: J. Neuschäfer <[email protected]> --- Changes in v2: - Add missing Signed-off-by - Re-generate x96q_defconfig with 'make savedefconfig' - Move DRAM frequency comment to commit message - Use GPL-2.0-or-later instead of deprecated GPL-2.0+ - Link to v1: https://lore.kernel.org/r/[email protected] --- configs/x96q_defconfig | 31 +++++++++++++++++++++++ doc/board/amediatech/index.rst | 9 +++++++ doc/board/amediatech/x96q.rst | 57 ++++++++++++++++++++++++++++++++++++++++++ doc/board/index.rst | 1 + 4 files changed, 98 insertions(+) diff --git a/configs/x96q_defconfig b/configs/x96q_defconfig new file mode 100644 index 00000000000..b74a1b61f3c --- /dev/null +++ b/configs/x96q_defconfig @@ -0,0 +1,31 @@ +CONFIG_ARM=y +CONFIG_ARCH_SUNXI=y +CONFIG_DEFAULT_DEVICE_TREE="allwinner/sun50i-h313-x96q" +CONFIG_DRAM_CLK=600 +CONFIG_SPL=y +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 +CONFIG_R_I2C_ENABLE=y +# CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set +CONFIG_FIT_BEST_MATCH=y +CONFIG_SPL_I2C=y +CONFIG_CMD_UFETCH=y +CONFIG_CMD_CAT=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_SUN8I_EMAC=y +CONFIG_AXP305_POWER=y +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_OHCI_HCD=y +CONFIG_SPL_USE_TINY_PRINTF_POINTER_SUPPORT=y diff --git a/doc/board/amediatech/index.rst b/doc/board/amediatech/index.rst new file mode 100644 index 00000000000..fd0241e3459 --- /dev/null +++ b/doc/board/amediatech/index.rst @@ -0,0 +1,9 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +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..f220b7005b2 --- /dev/null +++ b/doc/board/amediatech/x96q.rst @@ -0,0 +1,57 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +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: 6cdd7597a2fbfc1572c1b0af23d3daf1cefa2de7 change-id: 20251231-x96q-998c1376ebbf Best regards, -- J. Neuschäfer <[email protected]>

