From: Kuan-Wei Chiu <visitorckw@gmail.com>
To: j.ne@posteo.net
Cc: u-boot@lists.denx.de, Tom Rini <trini@konsulko.com>,
Svyatoslav Ryhel <clamor95@gmail.com>,
Leo Yu-Chi Liang <ycliang@andestech.com>,
Peter Geis <pgwipeout@gmail.com>, Lukasz Majewski <lukma@denx.de>,
Junhui Liu <junhui.liu@pigmoral.tech>
Subject: Re: [PATCH next] board: amediatech: Add X96Q support
Date: Sun, 4 Jan 2026 01:34:28 +0800 [thread overview]
Message-ID: <aVlTJPeB5HmvmerJ@google.com> (raw)
In-Reply-To: <20251231-x96q-v1-1-316d703b8f03@posteo.net>
Hi J.,
On Wed, Dec 31, 2025 at 08:45:03PM +0100, J. Neuschäfer via B4 Relay wrote:
> From: "J. Neuschäfer" <j.ne@posteo.net>
>
> 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 <j.ne@posteo.net>
> ---
> 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 <j.ne@posteo.net>
>
>
>
next prev parent reply other threads:[~2026-01-04 0:37 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-31 19:45 [PATCH next] board: amediatech: Add X96Q support J. Neuschäfer
2025-12-31 19:45 ` J. Neuschäfer via B4 Relay
2026-01-02 15:08 ` Tom Rini
2026-01-03 17:17 ` J. Neuschäfer
2026-01-03 17:34 ` Kuan-Wei Chiu [this message]
2026-01-03 18:40 ` J. Neuschäfer
2026-01-03 17:39 ` Kuan-Wei Chiu
2026-01-03 18:46 ` J. Neuschäfer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=aVlTJPeB5HmvmerJ@google.com \
--to=visitorckw@gmail.com \
--cc=clamor95@gmail.com \
--cc=j.ne@posteo.net \
--cc=junhui.liu@pigmoral.tech \
--cc=lukma@denx.de \
--cc=pgwipeout@gmail.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=ycliang@andestech.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.