Hi J., On Wed, Dec 31, 2025 at 08:45:03PM +0100, J. Neuschäfer via B4 Relay wrote: > 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. > > ---
Please remove the --- separator above the Signed-off-by tag. git am treats everything after the first --- as comments, which will cause your sign-off to be stripped from the final commit message. Regards, Kuan-Wei > 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]> > > >

