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

Simon Glass
2017-01-21T03:52:01Z

Hi Maxim,

On 17 January 2017 at 16:27, Maxim Sloyko <maxims@google.com> wrote:
>
>
> On Sat, Jan 14, 2017 at 9:13 AM, Simon Glass <sjg@chromium.org> wrote:
>>
>> 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.
>
>
> Well, it looks like the only applicable for this case would be
> CONFIG_SYS_SOC, but it looks like this setting also affects the mach- and
> arch- directories used. In this case I want different aspeed SoCs to share
> those directories, but
> they will have different DTs.

The first option is to a .dtsi derived from the .dts filename. Does that help?

Regards,
Simon