[v3,2/2] sunxi: H616: dram: drop default TPR6 Kconfig value
Commit Message
CONFIG_DRAM_SUNXI_TPR6 is the only DRAM config parameter that has a
non-zero default value. Since we need to provide a value for all the
other parameters anyway, avoiding TPR6 makes no real difference.
To make matters worse, TPR6 is a compound value covering multiple DRAM
types, but also spans over three SoCs, which makes it hard to find one
good default value.
Drop the default from Kconfig, and put some explicit values in the
defconfigs for the few boards that were relying on the default so far.
The value is taken from one BSP, only the lower byte matters anyway for
those boards, all using DDR3 DRAM.
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
arch/arm/mach-sunxi/Kconfig | 1 -
configs/orangepi_zero2_defconfig | 1 +
configs/transpeed-8k618-t_defconfig | 1 +
configs/x96_mate_defconfig | 1 +
configs/x96q_defconfig | 1 +
5 files changed, 4 insertions(+), 1 deletion(-)
Comments
Dne ponedeljek, 27. april 2026 ob 15:58:19 Srednjeevropski poletni čas je Andre Przywara napisal(a):
> CONFIG_DRAM_SUNXI_TPR6 is the only DRAM config parameter that has a
> non-zero default value. Since we need to provide a value for all the
> other parameters anyway, avoiding TPR6 makes no real difference.
> To make matters worse, TPR6 is a compound value covering multiple DRAM
> types, but also spans over three SoCs, which makes it hard to find one
> good default value.
>
> Drop the default from Kconfig, and put some explicit values in the
> defconfigs for the few boards that were relying on the default so far.
> The value is taken from one BSP, only the lower byte matters anyway for
> those boards, all using DDR3 DRAM.
>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Best regards,
Jernej
Hi Andre,
Le Mon 27 Apr 26, 15:58, Andre Przywara a écrit :
> CONFIG_DRAM_SUNXI_TPR6 is the only DRAM config parameter that has a
> non-zero default value. Since we need to provide a value for all the
> other parameters anyway, avoiding TPR6 makes no real difference.
> To make matters worse, TPR6 is a compound value covering multiple DRAM
> types, but also spans over three SoCs, which makes it hard to find one
> good default value.
>
> Drop the default from Kconfig, and put some explicit values in the
> defconfigs for the few boards that were relying on the default so far.
> The value is taken from one BSP, only the lower byte matters anyway for
> those boards, all using DDR3 DRAM.
It looks like this change is missing some boards that we support (e.g.
liontron-h-a133l). Is this intentional?
The TPR6 value is still used for all DRAM types, so I think we need to
define it for all the boards we currently support.
All the best,
Paul
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
> arch/arm/mach-sunxi/Kconfig | 1 -
> configs/orangepi_zero2_defconfig | 1 +
> configs/transpeed-8k618-t_defconfig | 1 +
> configs/x96_mate_defconfig | 1 +
> configs/x96q_defconfig | 1 +
> 5 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
> index 284458ad9a5..18123e685dc 100644
> --- a/arch/arm/mach-sunxi/Kconfig
> +++ b/arch/arm/mach-sunxi/Kconfig
> @@ -151,7 +151,6 @@ config DRAM_SUNXI_TPR3
>
> config DRAM_SUNXI_TPR6
> hex "DRAM TPR6 parameter"
> - default 0x3300c080
> help
> TPR6 value from vendor DRAM settings.
>
> diff --git a/configs/orangepi_zero2_defconfig b/configs/orangepi_zero2_defconfig
> index b387b4795ad..afd1535052d 100644
> --- a/configs/orangepi_zero2_defconfig
> +++ b/configs/orangepi_zero2_defconfig
> @@ -5,6 +5,7 @@ CONFIG_SPL=y
> CONFIG_DRAM_SUNXI_DX_ODT=0x08080808
> CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e
> CONFIG_DRAM_SUNXI_CA_DRI=0x0e0e
> +CONFIG_DRAM_SUNXI_TPR6=0x33808080
> CONFIG_DRAM_SUNXI_TPR10=0xf83438
> CONFIG_MACH_SUN50I_H616=y
> CONFIG_SUNXI_DRAM_H616_DDR3_1333=y
> diff --git a/configs/transpeed-8k618-t_defconfig b/configs/transpeed-8k618-t_defconfig
> index e4bf5e8efd3..e672d8f8df9 100644
> --- a/configs/transpeed-8k618-t_defconfig
> +++ b/configs/transpeed-8k618-t_defconfig
> @@ -7,6 +7,7 @@ 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_TPR6=0x33808080
> CONFIG_DRAM_SUNXI_TPR10=0x2f1107
> CONFIG_DRAM_SUNXI_TPR11=0xddddcccc
> CONFIG_DRAM_SUNXI_TPR12=0xeddc7665
> diff --git a/configs/x96_mate_defconfig b/configs/x96_mate_defconfig
> index c0628370df9..1b7d9338c02 100644
> --- a/configs/x96_mate_defconfig
> +++ b/configs/x96_mate_defconfig
> @@ -6,6 +6,7 @@ CONFIG_DRAM_SUNXI_DX_ODT=0x03030303
> CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e
> CONFIG_DRAM_SUNXI_CA_DRI=0x1c12
> CONFIG_DRAM_SUNXI_TPR0=0xc0000c05
> +CONFIG_DRAM_SUNXI_TPR6=0x33808080
> CONFIG_DRAM_SUNXI_TPR10=0x2f0007
> CONFIG_DRAM_SUNXI_TPR11=0xffffdddd
> CONFIG_DRAM_SUNXI_TPR12=0xfedf7557
> diff --git a/configs/x96q_defconfig b/configs/x96q_defconfig
> index 59f01aae4eb..068aee3fd1e 100644
> --- a/configs/x96q_defconfig
> +++ b/configs/x96q_defconfig
> @@ -8,6 +8,7 @@ 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_TPR6=0x33808080
> CONFIG_DRAM_SUNXI_TPR10=0x002f0107
> CONFIG_DRAM_SUNXI_TPR11=0xddddcccc
> CONFIG_DRAM_SUNXI_TPR12=0xeddc7665
> --
> 2.43.0
>
Hi again,
Le Tue 28 Apr 26, 11:49, Paul Kocialkowski a écrit :
> Hi Andre,
>
> Le Mon 27 Apr 26, 15:58, Andre Przywara a écrit :
> > CONFIG_DRAM_SUNXI_TPR6 is the only DRAM config parameter that has a
> > non-zero default value. Since we need to provide a value for all the
> > other parameters anyway, avoiding TPR6 makes no real difference.
> > To make matters worse, TPR6 is a compound value covering multiple DRAM
> > types, but also spans over three SoCs, which makes it hard to find one
> > good default value.
> >
> > Drop the default from Kconfig, and put some explicit values in the
> > defconfigs for the few boards that were relying on the default so far.
> > The value is taken from one BSP, only the lower byte matters anyway for
> > those boards, all using DDR3 DRAM.
>
> It looks like this change is missing some boards that we support (e.g.
> liontron-h-a133l). Is this intentional?
>
> The TPR6 value is still used for all DRAM types, so I think we need to
> define it for all the boards we currently support.
Nevermind this, these other boards already have TPR6 in their config,
lost sight of that. Then this is:
Reviewed-by: Paul Kocialkowski <paulk@sys-base.io>
Thanks for picking this up!
All the best,
Paul
> > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > ---
> > arch/arm/mach-sunxi/Kconfig | 1 -
> > configs/orangepi_zero2_defconfig | 1 +
> > configs/transpeed-8k618-t_defconfig | 1 +
> > configs/x96_mate_defconfig | 1 +
> > configs/x96q_defconfig | 1 +
> > 5 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm/mach-sunxi/Kconfig b/arch/arm/mach-sunxi/Kconfig
> > index 284458ad9a5..18123e685dc 100644
> > --- a/arch/arm/mach-sunxi/Kconfig
> > +++ b/arch/arm/mach-sunxi/Kconfig
> > @@ -151,7 +151,6 @@ config DRAM_SUNXI_TPR3
> >
> > config DRAM_SUNXI_TPR6
> > hex "DRAM TPR6 parameter"
> > - default 0x3300c080
> > help
> > TPR6 value from vendor DRAM settings.
> >
> > diff --git a/configs/orangepi_zero2_defconfig b/configs/orangepi_zero2_defconfig
> > index b387b4795ad..afd1535052d 100644
> > --- a/configs/orangepi_zero2_defconfig
> > +++ b/configs/orangepi_zero2_defconfig
> > @@ -5,6 +5,7 @@ CONFIG_SPL=y
> > CONFIG_DRAM_SUNXI_DX_ODT=0x08080808
> > CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e
> > CONFIG_DRAM_SUNXI_CA_DRI=0x0e0e
> > +CONFIG_DRAM_SUNXI_TPR6=0x33808080
> > CONFIG_DRAM_SUNXI_TPR10=0xf83438
> > CONFIG_MACH_SUN50I_H616=y
> > CONFIG_SUNXI_DRAM_H616_DDR3_1333=y
> > diff --git a/configs/transpeed-8k618-t_defconfig b/configs/transpeed-8k618-t_defconfig
> > index e4bf5e8efd3..e672d8f8df9 100644
> > --- a/configs/transpeed-8k618-t_defconfig
> > +++ b/configs/transpeed-8k618-t_defconfig
> > @@ -7,6 +7,7 @@ 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_TPR6=0x33808080
> > CONFIG_DRAM_SUNXI_TPR10=0x2f1107
> > CONFIG_DRAM_SUNXI_TPR11=0xddddcccc
> > CONFIG_DRAM_SUNXI_TPR12=0xeddc7665
> > diff --git a/configs/x96_mate_defconfig b/configs/x96_mate_defconfig
> > index c0628370df9..1b7d9338c02 100644
> > --- a/configs/x96_mate_defconfig
> > +++ b/configs/x96_mate_defconfig
> > @@ -6,6 +6,7 @@ CONFIG_DRAM_SUNXI_DX_ODT=0x03030303
> > CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e
> > CONFIG_DRAM_SUNXI_CA_DRI=0x1c12
> > CONFIG_DRAM_SUNXI_TPR0=0xc0000c05
> > +CONFIG_DRAM_SUNXI_TPR6=0x33808080
> > CONFIG_DRAM_SUNXI_TPR10=0x2f0007
> > CONFIG_DRAM_SUNXI_TPR11=0xffffdddd
> > CONFIG_DRAM_SUNXI_TPR12=0xfedf7557
> > diff --git a/configs/x96q_defconfig b/configs/x96q_defconfig
> > index 59f01aae4eb..068aee3fd1e 100644
> > --- a/configs/x96q_defconfig
> > +++ b/configs/x96q_defconfig
> > @@ -8,6 +8,7 @@ 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_TPR6=0x33808080
> > CONFIG_DRAM_SUNXI_TPR10=0x002f0107
> > CONFIG_DRAM_SUNXI_TPR11=0xddddcccc
> > CONFIG_DRAM_SUNXI_TPR12=0xeddc7665
> > --
> > 2.43.0
> >
>
> --
> Paul Kocialkowski,
>
> Independent contractor - sys-base - https://www.sys-base.io/
> Free software developer - https://www.paulk.fr/
>
> Expert in multimedia, graphics and embedded hardware support with Linux.
@@ -151,7 +151,6 @@ config DRAM_SUNXI_TPR3
config DRAM_SUNXI_TPR6
hex "DRAM TPR6 parameter"
- default 0x3300c080
help
TPR6 value from vendor DRAM settings.
@@ -5,6 +5,7 @@ CONFIG_SPL=y
CONFIG_DRAM_SUNXI_DX_ODT=0x08080808
CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e
CONFIG_DRAM_SUNXI_CA_DRI=0x0e0e
+CONFIG_DRAM_SUNXI_TPR6=0x33808080
CONFIG_DRAM_SUNXI_TPR10=0xf83438
CONFIG_MACH_SUN50I_H616=y
CONFIG_SUNXI_DRAM_H616_DDR3_1333=y
@@ -7,6 +7,7 @@ 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_TPR6=0x33808080
CONFIG_DRAM_SUNXI_TPR10=0x2f1107
CONFIG_DRAM_SUNXI_TPR11=0xddddcccc
CONFIG_DRAM_SUNXI_TPR12=0xeddc7665
@@ -6,6 +6,7 @@ CONFIG_DRAM_SUNXI_DX_ODT=0x03030303
CONFIG_DRAM_SUNXI_DX_DRI=0x0e0e0e0e
CONFIG_DRAM_SUNXI_CA_DRI=0x1c12
CONFIG_DRAM_SUNXI_TPR0=0xc0000c05
+CONFIG_DRAM_SUNXI_TPR6=0x33808080
CONFIG_DRAM_SUNXI_TPR10=0x2f0007
CONFIG_DRAM_SUNXI_TPR11=0xffffdddd
CONFIG_DRAM_SUNXI_TPR12=0xfedf7557
@@ -8,6 +8,7 @@ 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_TPR6=0x33808080
CONFIG_DRAM_SUNXI_TPR10=0x002f0107
CONFIG_DRAM_SUNXI_TPR11=0xddddcccc
CONFIG_DRAM_SUNXI_TPR12=0xeddc7665