[U-Boot] [PATCH 05/12] aspeed/ast2500: Device Tree and bindings for some of the clocks

Simon Glass
2017-01-14T17:13:48Z

Hi Maxim,

On 5 January 2017 at 15:20, Maxim Sloyko <maxims@google.com> wrote:
> On Wed, Jan 4, 2017 at 7:26 PM, Tom Rini <trini@konsulko.com> wrote:
>> On Wed, Jan 04, 2017 at 05:18:42PM -0800, Maxim Sloyko wrote:
>>> On Wed, Jan 4, 2017 at 12:58 PM, Tom Rini <trini@konsulko.com> wrote:
>>> > On Wed, Jan 04, 2017 at 11:46:49AM -0800, Maxim Sloyko wrote:
>>> >
>>> >> Signed-off-by: Maxim Sloyko <maxims@google.com>
>>> >> ---
>>> >>
>>> >> arch/arm/dts/ast2500.dtsi | 423 ++++++++++++++++++++++++++++++++
>>> >> include/dt-bindings/clock/ast2500-scu.h | 29 +++
>>> >> 2 files changed, 452 insertions(+)
>>> >> create mode 100644 arch/arm/dts/ast2500.dtsi
>>> >> create mode 100644 include/dt-bindings/clock/ast2500-scu.h
>>> >>
>>> >> diff --git a/arch/arm/dts/ast2500.dtsi b/arch/arm/dts/ast2500.dtsi
>>> >> new file mode 100644
>>> >> index 0000000000..1a2a3f7ee3
>>> >> --- /dev/null
>>> >> +++ b/arch/arm/dts/ast2500.dtsi
>>> >> @@ -0,0 +1,423 @@
>>> >> +/* This device tree is copied from
>>> >> + * https://github.com/openbmc/linux/blob/c5682cb/arch/arm/boot/dts/aspeed-g5.dtsi
>>> >
>>> > Is this also found in the Linux kernel or not yet? Thanks!
>>>
>>> Yes, this is also in in main Linux kernel now, as I've found out, but
>>> actually there is a number of differences, most notably there is no
>>> pin configuration in this device tree, because there is no pinctrl
>>> driver.
>
> Actually, I take that back, I was looking at the wrong linux Linux
> kernel tree still... Only basic version of device tree has made it to
> mainline kernel, but it's enough at the moment, so I used that
> instead.
>
>>>
>>> Should I remove this reference or modify it?
>>
>> Ideally, we will take the kernel dts files and then add what we need on
>> top of that in one of CONFIG_SYS_CPU/CONFIG_SYS_SOC/CONFIG_SYS_VENDOR
>> -u-boot.dtsi files, see for example arch/arm/dts/sunxi-u-boot.dtsi or
>> arch/arm/dts/tegra124-nyan-big-u-boot.dtsi
>
> OK, so I took the device tree from the Linux kernel, (ast2500.dtsi),
> added modifications in ast2500-u-boot.dtsi and now include
> ast2500-u-boot.dtsi in ast2500-evb.dts. Let me know if I misunderstood
> you.

There is some magic in the Makefile which automatically includes the
.dtsi if you name it correctly:

# Try these files in order to find the U-Boot-specific .dtsi include file
u_boot_dtsi_options = $(wildcard $(dts_dir)/$(basename $(notdir
$<))-u-boot.dtsi) \
$(wildcard $(dts_dir)/$(subst $\",,$(CONFIG_SYS_SOC))-u-boot.dtsi) \
$(wildcard $(dts_dir)/$(subst $\",,$(CONFIG_SYS_CPU))-u-boot.dtsi) \
$(wildcard $(dts_dir)/$(subst $\",,$(CONFIG_SYS_VENDOR))-u-boot.dtsi) \
$(wildcard $(dts_dir)/u-boot.dtsi)

So you should not need to include it explicitly.

Regards,
Simon