[PATCH 3/4] [RFC] ARM: dts: stm32: Rework DDR DT inclusion
Patrick DELAUNAY
patrick.delaunay at st.com
Tue Apr 7 15:00:56 CEST 2020
Dear Marek,
> From: Marek Vasut <marex at denx.de>
> Sent: mercredi 1 avril 2020 01:48
>
> Adjust the DDR configuration dtsi such that they only generate the DRAM
> configuration node, the DDR controller node is moved into the stm32mp157-u-
> boot.dtsi itself. This permits including multiple DDR configuration dtsi files in
> board DT.
>
> Signed-off-by: Marek Vasut <marex at denx.de>
> Cc: Manivannan Sadhasivam <manivannan.sadhasivam at linaro.org>
> Cc: Patrick Delaunay <patrick.delaunay at st.com>
> Cc: Patrice Chotard <patrice.chotard at st.com>
> ---
> arch/arm/dts/stm32mp15-ddr.dtsi | 357 +++++++++++-------
> .../dts/stm32mp15-ddr3-1x4Gb-1066-binG.dtsi | 1 +
> .../dts/stm32mp15-ddr3-2x4Gb-1066-binG.dtsi | 1 +
> arch/arm/dts/stm32mp157-u-boot.dtsi | 25 ++
> 4 files changed, 246 insertions(+), 138 deletions(-)
>
> diff --git a/arch/arm/dts/stm32mp15-ddr.dtsi b/arch/arm/dts/stm32mp15-ddr.dtsi
> index 38f29bb789..50ca7092c4 100644
> --- a/arch/arm/dts/stm32mp15-ddr.dtsi
> +++ b/arch/arm/dts/stm32mp15-ddr.dtsi
> @@ -3,152 +3,233 @@
> * Copyright : STMicroelectronics 2018
> */
>
> -/ {
> - soc {
> - ddr: ddr at 5a003000 {
> - u-boot,dm-pre-reloc;
For information, binding file must be updated also
./doc/device-tree-bindings/memory-controllers/st,stm32mp1-ddr.txt
This binding and the helper file " stm32mp15-ddr.dtsi" is common with TF-A.
> +&ddr {
> + config at DDR_MEM_LABEL {
I think that "config at text"
don't respect the latest device tree rule and a warning is raised with latest dtc version
it is now mandatory to value after align @ with reg value
config@<reg> {
reg = <reg>
}
It is why I prefer a name without meaning here (as config-1 / config-2),
And selection is done on st,mem-name
config-1 {
....
}
config-2 {
....
}
And I want to propose, for DH board with several configuration
&ddr {
config-1 {
#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi"
}
config-2 {
#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi"
}
}
For ST board with only one configuration (don't change the device tree, config at the same level)
&ddr {
#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi"
}
NB: I have a other idea, it is to use the "reg" as config identifier to select configuration, as it is done with OTP with "opp-supported-hw"
in linux/Documentation/devicetree/bindings/opp/opp.txt
And reg can be the identified with your GPIO setting
&ddr {
config at 2 {
reg = 2;
#include "stm32mp15-ddr3-1x4Gb-1066-binG.dtsi"
}
config at 3 {
reg = 3;
#include "stm32mp15-ddr3-2x4Gb-1066-binG.dtsi"
}
}
This proposal avoids to compare a hardcoded string in SPL...
Regards
Patrick
More information about the U-Boot
mailing list