
Hi Michal,
On 31 August 2015 at 08:16, Michal Simek monstr@monstr.eu wrote:
On 08/31/2015 03:54 PM, Simon Glass wrote:
Hi Michal,
On 31 August 2015 at 05:30, Michal Simek monstr@monstr.eu wrote:
On 08/29/2015 05:10 PM, Simon Glass wrote:
We need to mark some device tree nodes so that they are available before relocation. This enables driver model to find these automatically. In the case of SPL it ensures that these nodes will be retained in SPL.
Signed-off-by: Simon Glass sjg@chromium.org
arch/arm/dts/zynq-7000.dtsi | 1 + arch/arm/dts/zynq-microzed.dts | 5 +++++ arch/arm/dts/zynq-picozed.dts | 5 +++++ arch/arm/dts/zynq-zc702.dts | 1 + arch/arm/dts/zynq-zc706.dts | 1 + arch/arm/dts/zynq-zc770-xm010.dts | 1 + arch/arm/dts/zynq-zc770-xm011.dts | 1 + arch/arm/dts/zynq-zc770-xm012.dts | 1 + arch/arm/dts/zynq-zc770-xm013.dts | 1 + arch/arm/dts/zynq-zed.dts | 1 + arch/arm/dts/zynq-zybo.dts | 1 + 11 files changed, 19 insertions(+)
diff --git a/arch/arm/dts/zynq-7000.dtsi b/arch/arm/dts/zynq-7000.dtsi index 0b62cb0..12614f2 100644 --- a/arch/arm/dts/zynq-7000.dtsi +++ b/arch/arm/dts/zynq-7000.dtsi @@ -54,6 +54,7 @@ };
amba: amba {
u-boot,dm-pre-reloc; compatible = "simple-bus"; #address-cells = <1>; #size-cells = <1>;
diff --git a/arch/arm/dts/zynq-microzed.dts b/arch/arm/dts/zynq-microzed.dts index c373a2c..5dff18e6 100644 --- a/arch/arm/dts/zynq-microzed.dts +++ b/arch/arm/dts/zynq-microzed.dts @@ -21,3 +21,8 @@ reg = <0 0x40000000>; }; };
+&uart1 {
u-boot,dm-pre-reloc;
Was this reviewed on DT mailing list?
There is a thread going at present for Raspberry Pi but it had not yielded much light last time I looked.
TBH adding this to every node seems to me a lot of work.
This i how it works at present. Typically we only have a UART and that is not necessary since U-Boot can force-bind this. But when the UART is not in the root node we have to add something.
It is partially problem with DT mess that we have platforms with and without bus. :-)
Why not just add one more uboot property to chosen with list of IPs which needs to be relocated?
You mean a list of devices needed before relocation?
I mean something like this:
chosen { u-boot,dm-pre-reloc = <&uart1 ...>; }
And then just go through this list. I expect that you are looking for that property anyway.
In this case wouldn't it need to list the simple-bus also?
We also use this with fdtgrep to remove nodes not needed for SPL. So we would have to come up with a tool to make that work. At present 'fdtgrep -p u-boot,dm-pre-reloc' picks out all the nodes we want (it finds nodes with that property).
I'm actually not sure that this approach is any easier/better. What are the advantages?
If you like you could look at working up a patch for this. I'm certainly interested in other ideas. It does need to be efficient.
I will test this series and will look at it in more details soon.
Thanks.
BTW are there zynqmp dev boards available at reasonable cost? I did this Zynq series because I discovered some old patches that were not applied and decided to update then. It's a really interesting platform - FPGA, etc.
Regards, Simon