
On 12/20/2015 04:13 AM, Daniel Schwierzeck wrote:
Prepare sub-folder for device-tree files. Make support for device-tree on MIPS available in Kbuild/Kconfig.
Signed-off-by: Daniel Schwierzeck daniel.schwierzeck@gmail.com Signed-off-by: Purna Chandra Mandal purna.mandal@microchip.com
Changes in v2:
- add arch/mips/dts to clean list in dts/Makefile
- keep section .dtb during link in case of CONFIG_OF_EMBED
arch/Kconfig | 1 + arch/mips/config.mk | 2 +- arch/mips/dts/.gitignore | 1 + arch/mips/dts/Makefile | 16 ++++++++++++++++ arch/mips/dts/skeleton.dtsi | 23 +++++++++++++++++++++++ dts/Makefile | 2 +- 6 files changed, 43 insertions(+), 2 deletions(-) create mode 100644 arch/mips/dts/.gitignore create mode 100644 arch/mips/dts/Makefile create mode 100644 arch/mips/dts/skeleton.dtsi
diff --git a/arch/Kconfig b/arch/Kconfig index 1709d40..ec12013 100644 --- a/arch/Kconfig +++ b/arch/Kconfig @@ -55,6 +55,7 @@ config MIPS select HAVE_PRIVATE_LIBGCC select HAVE_GENERIC_BOARD select SYS_GENERIC_BOARD
- select SUPPORT_OF_CONTROL
config NDS32 bool "NDS32 architecture" diff --git a/arch/mips/config.mk b/arch/mips/config.mk index 415ec8a..3ebc202 100644 --- a/arch/mips/config.mk +++ b/arch/mips/config.mk @@ -71,7 +71,7 @@ else PF_ABICALLS := -mabicalls PF_PIC := -fpic PF_PIE := -pie -PF_OBJCOPY := -j .got -j .u_boot_list -j .rel.dyn -j .padding +PF_OBJCOPY := -j .got -j .u_boot_list -j .rel.dyn -j .padding -j .dtb endif
There is no section called '.dtb' in U-boot linker script, instead one generated by build script is named '.dtb.init.rodata'. Unless we add '-j .dtb.init.rodata' device-tree blob will not be copied to binary.
PLATFORM_CPPFLAGS += -G 0 $(PF_ABICALLS) $(PF_PIC) diff --git a/arch/mips/dts/.gitignore b/arch/mips/dts/.gitignore new file mode 100644 index 0000000..b60ed20 --- /dev/null +++ b/arch/mips/dts/.gitignore @@ -0,0 +1 @@ +*.dtb diff --git a/arch/mips/dts/Makefile b/arch/mips/dts/Makefile new file mode 100644 index 0000000..47b6eb5 --- /dev/null +++ b/arch/mips/dts/Makefile @@ -0,0 +1,16 @@ +# +# SPDX-License-Identifier: GPL-2.0+ +#
+dtb-y +=
+targets += $(dtb-y)
+# Add any required device tree compiler flags here +DTC_FLAGS +=
+PHONY += dtbs +dtbs: $(addprefix $(obj)/, $(dtb-y))
- @:
+clean-files := *.dtb diff --git a/arch/mips/dts/skeleton.dtsi b/arch/mips/dts/skeleton.dtsi new file mode 100644 index 0000000..24ee6c3 --- /dev/null +++ b/arch/mips/dts/skeleton.dtsi @@ -0,0 +1,23 @@ +/*
- Skeleton device tree; the bare minimum needed to boot; just include and
- add a compatible value. The bootloader will typically populate the memory
- node.
- SPDX-License-Identifier: GPL-2.0+
- */
+/ {
- #address-cells = <1>;
- #size-cells = <1>;
- chosen {
- };
- aliases {
- };
- memory {
device_type = "memory";
reg = <0 0>;
- };
+}; diff --git a/dts/Makefile b/dts/Makefile index d3122aa..c4ac153 100644 --- a/dts/Makefile +++ b/dts/Makefile @@ -45,4 +45,4 @@ dtbs: $(obj)/dt.dtb clean-files := dt.dtb.S
# Let clean descend into dts directories -subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/sandbox/dts ../arch/x86/dts +subdir- += ../arch/arm/dts ../arch/microblaze/dts ../arch/mips/dts ../arch/sandbox/dts ../arch/x86/dts