* [PATCH next v3] board: sunxi: Add X96Q support
@ 2026-01-20 15:20 J. Neuschäfer via B4 Relay
2026-01-22 23:53 ` Andre Przywara
0 siblings, 1 reply; 3+ messages in thread
From: J. Neuschäfer via B4 Relay @ 2026-01-20 15:20 UTC (permalink / raw)
To: u-boot
Cc: linux-sunxi, Tom Rini, Svyatoslav Ryhel, Leo Yu-Chi Liang,
Peter Geis, Lukasz Majewski, Junhui Liu, Jernej Skrabec,
Andre Przywara, Hans de Goede, Jagan Teki, Chen-Yu Tsai,
Lukas Schmid, J. Neuschäfer
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. The DRAM
clock frequency of 600 MHz was reported in the vendor U-Boot's output.
Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
---
Changes in v3:
- Remove CONFIG_FIT_BEST_MATCH, CONFIG_CMD_UFETCH/CAT, CONFIG_SYS_I2C_SLAVE
and CONFIG_SPL_USE_TINY_PRINTF_POINTER_SUPPORT from defconfig
- Add board/sunxi/MAINTAINERS entry
- Remove board-specific documentation
- Link to v2: https://lore.kernel.org/r/20260110-x96q-v2-1-1d6a725eb825@posteo.net
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/20251231-x96q-v1-1-316d703b8f03@posteo.net
---
board/sunxi/MAINTAINERS | 5 +++++
configs/x96q_defconfig | 26 ++++++++++++++++++++++++++
2 files changed, 31 insertions(+)
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
index c52e8a34c85..775d0f7ae83 100644
--- a/board/sunxi/MAINTAINERS
+++ b/board/sunxi/MAINTAINERS
@@ -611,6 +611,11 @@ M: Andre Przywara <andre.przywara@arm.com>
S: Maintained
F: configs/x96_mate_defconfig
+X96Q TV BOX
+M: J. Neuschäfer <j.ne@posteo.net>
+S: Maintained
+F: configs/x96q_defconfig
+
X96Q PRO+ TV BOX
M: Andre Przywara <andre.przywara@arm.com>
S: Maintained
diff --git a/configs/x96q_defconfig b/configs/x96q_defconfig
new file mode 100644
index 00000000000..24c214b4c63
--- /dev/null
+++ b/configs/x96q_defconfig
@@ -0,0 +1,26 @@
+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_SPL_I2C=y
+CONFIG_SPL_SYS_I2C_LEGACY=y
+CONFIG_SYS_I2C_MVTWSI=y
+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
---
base-commit: 6cdd7597a2fbfc1572c1b0af23d3daf1cefa2de7
change-id: 20251231-x96q-998c1376ebbf
Best regards,
--
J. Neuschäfer <j.ne@posteo.net>
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH next v3] board: sunxi: Add X96Q support
2026-01-20 15:20 [PATCH next v3] board: sunxi: Add X96Q support J. Neuschäfer via B4 Relay
@ 2026-01-22 23:53 ` Andre Przywara
2026-01-26 19:28 ` J. Neuschäfer
0 siblings, 1 reply; 3+ messages in thread
From: Andre Przywara @ 2026-01-22 23:53 UTC (permalink / raw)
To: j.ne, u-boot
Cc: linux-sunxi, Tom Rini, Svyatoslav Ryhel, Leo Yu-Chi Liang,
Peter Geis, Lukasz Majewski, Junhui Liu, Jernej Skrabec,
Jagan Teki, Chen-Yu Tsai, Lukas Schmid
Hi,
thanks, that looks very good now. Just one tiny thing:
On 20/01/2026 15:20, 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. The DRAM
> clock frequency of 600 MHz was reported in the vendor U-Boot's output.
>
> Signed-off-by: J. Neuschäfer <j.ne@posteo.net>
> ---
> Changes in v3:
> - Remove CONFIG_FIT_BEST_MATCH, CONFIG_CMD_UFETCH/CAT, CONFIG_SYS_I2C_SLAVE
> and CONFIG_SPL_USE_TINY_PRINTF_POINTER_SUPPORT from defconfig
> - Add board/sunxi/MAINTAINERS entry
> - Remove board-specific documentation
> - Link to v2: https://lore.kernel.org/r/20260110-x96q-v2-1-1d6a725eb825@posteo.net
>
> 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/20251231-x96q-v1-1-316d703b8f03@posteo.net
> ---
> board/sunxi/MAINTAINERS | 5 +++++
> configs/x96q_defconfig | 26 ++++++++++++++++++++++++++
> 2 files changed, 31 insertions(+)
>
> diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
> index c52e8a34c85..775d0f7ae83 100644
> --- a/board/sunxi/MAINTAINERS
> +++ b/board/sunxi/MAINTAINERS
> @@ -611,6 +611,11 @@ M: Andre Przywara <andre.przywara@arm.com>
> S: Maintained
> F: configs/x96_mate_defconfig
>
> +X96Q TV BOX
> +M: J. Neuschäfer <j.ne@posteo.net>
> +S: Maintained
> +F: configs/x96q_defconfig
> +
> X96Q PRO+ TV BOX
> M: Andre Przywara <andre.przywara@arm.com>
> S: Maintained
> diff --git a/configs/x96q_defconfig b/configs/x96q_defconfig
> new file mode 100644
> index 00000000000..24c214b4c63
> --- /dev/null
> +++ b/configs/x96q_defconfig
> @@ -0,0 +1,26 @@
> +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
This misses -CONFIG_MMC_SUNXI_SLOT_EXTRA=2 here, was this deliberate?
The DT mentions the eMMC, and you have CONFIG_SUPPORT_EMMC_BOOT below,
so is this just on omission? Or did the eMMC not work?
If you can confirm, I can just add this while committing.
Cheers,
Andre
> +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_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
>
> ---
> base-commit: 6cdd7597a2fbfc1572c1b0af23d3daf1cefa2de7
> change-id: 20251231-x96q-998c1376ebbf
>
> Best regards,
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH next v3] board: sunxi: Add X96Q support
2026-01-22 23:53 ` Andre Przywara
@ 2026-01-26 19:28 ` J. Neuschäfer
0 siblings, 0 replies; 3+ messages in thread
From: J. Neuschäfer @ 2026-01-26 19:28 UTC (permalink / raw)
To: Andre Przywara
Cc: j.ne, u-boot, linux-sunxi, Tom Rini, Svyatoslav Ryhel,
Leo Yu-Chi Liang, Peter Geis, Lukasz Majewski, Junhui Liu,
Jernej Skrabec, Jagan Teki, Chen-Yu Tsai, Lukas Schmid
On Thu, Jan 22, 2026 at 11:53:04PM +0000, Andre Przywara wrote:
> Hi,
>
> thanks, that looks very good now. Just one tiny thing:
>
> On 20/01/2026 15:20, 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.
[...]
> > +++ b/configs/x96q_defconfig
> > @@ -0,0 +1,26 @@
> > +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
>
> This misses -CONFIG_MMC_SUNXI_SLOT_EXTRA=2 here, was this deliberate? The DT
> mentions the eMMC, and you have CONFIG_SUPPORT_EMMC_BOOT below, so is this
> just on omission? Or did the eMMC not work?
>
> If you can confirm, I can just add this while committing.
I forgot to test booting from eMMC. Indeed it doesn't work as is.
With CONFIG_MMC_SUNXI_SLOT_EXTRA=2 added, booting from eMMC works.
Thanks again!
J. Neuschäfer
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-01-26 19:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-20 15:20 [PATCH next v3] board: sunxi: Add X96Q support J. Neuschäfer via B4 Relay
2026-01-22 23:53 ` Andre Przywara
2026-01-26 19:28 ` J. Neuschäfer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox