mirror of
https://github.com/Fishwaldo/build.git
synced 2025-07-23 05:18:55 +00:00
381 lines
9.2 KiB
Diff
381 lines
9.2 KiB
Diff
From 0594a26789410266b6e8f456fe9fb60efcf52706 Mon Sep 17 00:00:00 2001
|
|
From: Yang Deokgyu <secugyu@gmail.com>
|
|
Date: Thu, 5 Dec 2019 18:07:13 +0900
|
|
Subject: [PATCH 73/74] ODROID-XU4: Introduce device tree overlay
|
|
|
|
Copy *.dtbo files at arch/arm/boot/dts/overlays to boot
|
|
partition, e.g, /media/boot/overlays/. Then use "fdtoverlay" tool
|
|
to integrate DTB and DTBOs. Or, you also can use "fdt apply" u-boot
|
|
command to prepare device tree blob at booting time.
|
|
|
|
Signed-off-by: Yang Deokgyu <secugyu@gmail.com>
|
|
Change-Id: I40e6a915e2149952fb548f64e7fae335ba12db18
|
|
---
|
|
.gitignore | 1 +
|
|
Makefile | 3 ++
|
|
arch/arm/boot/dts/Makefile | 4 +++
|
|
arch/arm/boot/dts/exynos5422-odroidxu4.dts | 8 ++---
|
|
arch/arm/boot/dts/overlays/Makefile | 12 +++++++
|
|
.../dts/overlays/hktft-cs-ogst-overlay.dts | 36 +++++++++++++++++++
|
|
.../arm/boot/dts/overlays/hktft32-overlay.dts | 36 +++++++++++++++++++
|
|
.../arm/boot/dts/overlays/hktft35-overlay.dts | 36 +++++++++++++++++++
|
|
arch/arm/boot/dts/overlays/i2c1-overlay.dts | 12 +++++++
|
|
arch/arm/boot/dts/overlays/i2c5-overlay.dts | 12 +++++++
|
|
.../arm/boot/dts/overlays/spidev1-overlay.dts | 20 +++++++++++
|
|
scripts/Makefile.dtbinst | 6 +++-
|
|
scripts/Makefile.lib | 16 ++++++++-
|
|
13 files changed, 196 insertions(+), 6 deletions(-)
|
|
create mode 100644 arch/arm/boot/dts/overlays/Makefile
|
|
create mode 100644 arch/arm/boot/dts/overlays/hktft-cs-ogst-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/hktft32-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/hktft35-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/i2c1-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/i2c5-overlay.dts
|
|
create mode 100644 arch/arm/boot/dts/overlays/spidev1-overlay.dts
|
|
|
|
diff --git a/.gitignore b/.gitignore
|
|
index d5f4804ed07c..56971a9bf749 100644
|
|
--- a/.gitignore
|
|
+++ b/.gitignore
|
|
@@ -18,6 +18,7 @@
|
|
*.c.[012]*.*
|
|
*.dt.yaml
|
|
*.dtb
|
|
+*.dtbo
|
|
*.dtb.S
|
|
*.dwo
|
|
*.elf
|
|
diff --git a/Makefile b/Makefile
|
|
index 24a4c1b97bb0..d0a5399008f9 100644
|
|
--- a/Makefile
|
|
+++ b/Makefile
|
|
@@ -1301,6 +1301,9 @@ ifneq ($(dtstree),)
|
|
%.dtb: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree) $(dtstree)/$@
|
|
|
|
+%.dtbo:
|
|
+ $(Q)$(MAKE) $(build)=$(dtstree)/overlays $(dtstree)/overlays/$@
|
|
+
|
|
PHONY += dtbs dtbs_install dtbs_check
|
|
dtbs: include/config/kernel.release scripts_dtc
|
|
$(Q)$(MAKE) $(build)=$(dtstree)
|
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
index e6a1cac0bfc7..6474d2c54a29 100644
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
+++ b/arch/arm/boot/dts/Makefile
|
|
@@ -1373,3 +1373,7 @@ dtb-$(CONFIG_ARCH_ASPEED) += \
|
|
aspeed-bmc-opp-zaius.dtb \
|
|
aspeed-bmc-portwell-neptune.dtb \
|
|
aspeed-bmc-quanta-q71l.dtb
|
|
+
|
|
+targets += $(dtb-y)
|
|
+
|
|
+subdir-y := overlays
|
|
diff --git a/arch/arm/boot/dts/exynos5422-odroidxu4.dts b/arch/arm/boot/dts/exynos5422-odroidxu4.dts
|
|
index 6e7da591654f..6768dc18ebee 100644
|
|
--- a/arch/arm/boot/dts/exynos5422-odroidxu4.dts
|
|
+++ b/arch/arm/boot/dts/exynos5422-odroidxu4.dts
|
|
@@ -143,25 +143,25 @@ &usbdrd_dwc3_1 {
|
|
|
|
/* i2c@12C70000 */
|
|
&i2c_1 {
|
|
- status = "okay";
|
|
+ status = "disabled";
|
|
samsung,i2c-max-bus-freq = <400000>;
|
|
};
|
|
|
|
/* i2c@12cb0000 */
|
|
&hsi2c_5 {
|
|
- status = "okay";
|
|
+ status = "disabled";
|
|
samsung,hs-mode;
|
|
clock-frequency = <400000>;
|
|
};
|
|
|
|
&spi_1 {
|
|
- status = "okay";
|
|
+ status = "disabled";
|
|
samsung,spi-src-clk = <0>;
|
|
num-cs = <2>;
|
|
cs-gpios = <&gpa2 5 GPIO_ACTIVE_HIGH>, <&gpx2 1 GPIO_ACTIVE_HIGH>;
|
|
|
|
spidev: spidev@0 {
|
|
- status = "okay";
|
|
+ status = "disabled";
|
|
reg = <0>;
|
|
compatible = "odroid,spidev";
|
|
spi-max-frequency = <1000000>;
|
|
diff --git a/arch/arm/boot/dts/overlays/Makefile b/arch/arm/boot/dts/overlays/Makefile
|
|
new file mode 100644
|
|
index 000000000000..9502f67ce928
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/Makefile
|
|
@@ -0,0 +1,12 @@
|
|
+# Overlays for the Odroid platform
|
|
+
|
|
+dtbo-y += \
|
|
+ spidev1-overlay.dtbo \
|
|
+ i2c1-overlay.dtbo \
|
|
+ i2c5-overlay.dtbo \
|
|
+ hktft32-overlay.dtbo \
|
|
+ hktft35-overlay.dtbo \
|
|
+ hktft-cs-ogst-overlay.dtbo
|
|
+
|
|
+targets += $(dtbo-y)
|
|
+always := $(dtbo-y)
|
|
diff --git a/arch/arm/boot/dts/overlays/hktft-cs-ogst-overlay.dts b/arch/arm/boot/dts/overlays/hktft-cs-ogst-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..a727fb311574
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/hktft-cs-ogst-overlay.dts
|
|
@@ -0,0 +1,36 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&i2c_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&hsi2c_5>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@2 {
|
|
+ target = <&spi_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@3 {
|
|
+ target = <&hktft_cs_ogst>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlays/hktft32-overlay.dts b/arch/arm/boot/dts/overlays/hktft32-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..7bda6cd8e6d8
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/hktft32-overlay.dts
|
|
@@ -0,0 +1,36 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&i2c_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&hsi2c_5>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@2 {
|
|
+ target = <&spi_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@3 {
|
|
+ target = <&hktft32>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlays/hktft35-overlay.dts b/arch/arm/boot/dts/overlays/hktft35-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..a656dd272165
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/hktft35-overlay.dts
|
|
@@ -0,0 +1,36 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&i2c_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&hsi2c_5>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@2 {
|
|
+ target = <&spi_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "disabled";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@3 {
|
|
+ target = <&hktft35>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlays/i2c1-overlay.dts b/arch/arm/boot/dts/overlays/i2c1-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..2fd27754e7c8
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/i2c1-overlay.dts
|
|
@@ -0,0 +1,12 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&i2c_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlays/i2c5-overlay.dts b/arch/arm/boot/dts/overlays/i2c5-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..9ef9e66699e0
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/i2c5-overlay.dts
|
|
@@ -0,0 +1,12 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&hsi2c_5>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlays/spidev1-overlay.dts b/arch/arm/boot/dts/overlays/spidev1-overlay.dts
|
|
new file mode 100644
|
|
index 000000000000..c5cb6bcb6011
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlays/spidev1-overlay.dts
|
|
@@ -0,0 +1,20 @@
|
|
+/dts-v1/;
|
|
+/plugin/;
|
|
+
|
|
+/ {
|
|
+ fragment@0 {
|
|
+ target = <&spi_1>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&spidev>;
|
|
+
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
|
index 50d580d77ae9..079b83308011 100644
|
|
--- a/scripts/Makefile.dtbinst
|
|
+++ b/scripts/Makefile.dtbinst
|
|
@@ -18,9 +18,10 @@ include scripts/Kbuild.include
|
|
include $(src)/Makefile
|
|
|
|
dtbs := $(addprefix $(dst)/, $(dtb-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
|
|
+dtbos := $(addprefix $(dst)/, $(dtbo-y) $(if $(CONFIG_OF_ALL_DTBS),$(dtb-)))
|
|
subdirs := $(addprefix $(obj)/, $(subdir-y) $(subdir-m))
|
|
|
|
-__dtbs_install: $(dtbs) $(subdirs)
|
|
+__dtbs_install: $(dtbs) $(dtbos) $(subdirs)
|
|
@:
|
|
|
|
quiet_cmd_dtb_install = INSTALL $@
|
|
@@ -29,6 +30,9 @@ quiet_cmd_dtb_install = INSTALL $@
|
|
$(dst)/%.dtb: $(obj)/%.dtb
|
|
$(call cmd,dtb_install)
|
|
|
|
+$(dst)/%.dtbo: $(obj)/%.dtbo
|
|
+ $(call cmd,dtb_install)
|
|
+
|
|
PHONY += $(subdirs)
|
|
$(subdirs):
|
|
$(Q)$(MAKE) $(dtbinst)=$@ dst=$(patsubst $(obj)/%,$(dst)/%,$@)
|
|
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
|
index 916b2f7f7098..1d5af395d33f 100644
|
|
--- a/scripts/Makefile.lib
|
|
+++ b/scripts/Makefile.lib
|
|
@@ -268,12 +268,14 @@ DTC_FLAGS += -Wno-interrupt_provider
|
|
ifeq ($(findstring 1,$(KBUILD_EXTRA_WARN)),)
|
|
DTC_FLAGS += -Wno-unit_address_vs_reg \
|
|
-Wno-unit_address_format \
|
|
+ -Wno-gpios_property \
|
|
-Wno-avoid_unnecessary_addr_size \
|
|
-Wno-alias_paths \
|
|
-Wno-graph_child_address \
|
|
-Wno-simple_bus_reg \
|
|
-Wno-unique_unit_address \
|
|
- -Wno-pci_device_reg
|
|
+ -Wno-pci_device_reg \
|
|
+ --symbol
|
|
endif
|
|
|
|
ifneq ($(findstring 2,$(KBUILD_EXTRA_WARN)),)
|
|
@@ -329,6 +331,18 @@ endef
|
|
$(obj)/%.dt.yaml: $(src)/%.dts $(DTC) $(DT_TMP_SCHEMA) FORCE
|
|
$(call if_changed_rule,dtc,yaml)
|
|
|
|
+quiet_cmd_dtco = DTCO $@
|
|
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
|
|
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
|
+ $(DTC) -@ -H epapr -O dtb -o $@ -b 0 \
|
|
+ -i $(dir $<) $(DTC_FLAGS) \
|
|
+ -Wno-interrupts_property \
|
|
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
|
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
|
+
|
|
+$(obj)/%.dtbo: $(obj)/%.dts FORCE
|
|
+ $(call if_changed_dep,dtco)
|
|
+
|
|
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
|
|
|
# Bzip2
|
|
--
|
|
2.25.1
|
|
|