mirror of
https://github.com/Fishwaldo/build.git
synced 2025-03-31 03:01:47 +00:00
248 lines
6.3 KiB
Diff
248 lines
6.3 KiB
Diff
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
|
|
index 6be9ee14..750f48a2 100644
|
|
--- a/arch/arm/Makefile
|
|
+++ b/arch/arm/Makefile
|
|
@@ -335,6 +335,9 @@ $(INSTALL_TARGETS):
|
|
%.dtb: | scripts
|
|
$(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
|
|
|
|
+%.dtbo: | scripts
|
|
+ $(Q)$(MAKE) $(build)=$(boot)/dts MACHINE=$(MACHINE) $(boot)/dts/$@
|
|
+
|
|
PHONY += dtbs dtbs_install
|
|
|
|
dtbs: prepare scripts
|
|
diff --git a/arch/arm/boot/.gitignore b/arch/arm/boot/.gitignore
|
|
index 3c79f859..eaaeb17e 100644
|
|
--- a/arch/arm/boot/.gitignore
|
|
+++ b/arch/arm/boot/.gitignore
|
|
@@ -3,4 +3,4 @@ zImage
|
|
xipImage
|
|
bootpImage
|
|
uImage
|
|
-*.dtb
|
|
+*.dtb*
|
|
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
|
|
index c558ba75..40899e4a 100644
|
|
--- a/arch/arm/boot/dts/Makefile
|
|
+++ b/arch/arm/boot/dts/Makefile
|
|
@@ -954,10 +955,16 @@ dtb-$(CONFIG_ARCH_MEDIATEK) += \
|
|
dtb-$(CONFIG_ARCH_ZX) += zx296702-ad1.dtb
|
|
dtb-$(CONFIG_ARCH_ASPEED) += aspeed-bmc-opp-palmetto.dtb \
|
|
aspeed-ast2500-evb.dtb
|
|
+
|
|
+targets += dtbs dtbs_install
|
|
+targets += $(dtb-y)
|
|
endif
|
|
|
|
dtstree := $(srctree)/$(src)
|
|
dtb-$(CONFIG_OF_ALL_DTBS) := $(patsubst $(dtstree)/%.dts,%.dtb, $(wildcard $(dtstree)/*.dts))
|
|
|
|
always := $(dtb-y)
|
|
+subdir-y := overlay
|
|
clean-files := *.dtb
|
|
+
|
|
+dts-dirs += overlay
|
|
diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile
|
|
new file mode 100644
|
|
index 00000000..00dd8ffc
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlay/Makefile
|
|
@@ -0,0 +1,15 @@
|
|
+ifeq ($(CONFIG_OF_CONFIGFS),y)
|
|
+
|
|
+dtbo-$(CONFIG_MACH_SUN8I) += \
|
|
+ i2c0.dtbo \
|
|
+ spi0-spidev.dtbo \
|
|
+ spi1-spidev.dtbo \
|
|
+ w1.dtbo
|
|
+
|
|
+targets += dtbs dtbs_install
|
|
+targets += $(dtbo-y)
|
|
+
|
|
+endif
|
|
+
|
|
+always := $(dtbo-y)
|
|
+clean-files := *.dtbo
|
|
diff --git a/arch/arm/boot/dts/overlay/i2c0.dts b/arch/arm/boot/dts/overlay/i2c0.dts
|
|
new file mode 100644
|
|
index 00000000..cbd8d801
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlay/i2c0.dts
|
|
@@ -0,0 +1,19 @@
|
|
+/dts-v1/ /plugin/;
|
|
+
|
|
+/ {
|
|
+ compatible = "allwinner,sun8i-h3";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/aliases";
|
|
+ __overlay__ {
|
|
+ /* Path to the i2c0 controller node */
|
|
+ i2c0 = "/soc@01c00000/i2c@01c2ac00";
|
|
+ };
|
|
+ };
|
|
+ fragment@1 {
|
|
+ target = <&i2c0>;
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlay/spi0-spidev.dts b/arch/arm/boot/dts/overlay/spi0-spidev.dts
|
|
new file mode 100644
|
|
index 00000000..5a01ef23
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlay/spi0-spidev.dts
|
|
@@ -0,0 +1,24 @@
|
|
+/dts-v1/ /plugin/;
|
|
+
|
|
+/ {
|
|
+ compatible = "allwinner,sun8i-h3";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/aliases";
|
|
+ __overlay__ {
|
|
+ /* Path to the SPI controller nodes */
|
|
+ spi0 = "/soc@01c00000/spi@01c68000";
|
|
+ };
|
|
+ };
|
|
+ fragment@1 {
|
|
+ target = <&spi0>;
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ spidev@0 {
|
|
+ compatible = "spidev";
|
|
+ reg = <0x0>;
|
|
+ spi-max-frequency = <1000000>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlay/spi1-spidev.dts b/arch/arm/boot/dts/overlay/spi1-spidev.dts
|
|
new file mode 100644
|
|
index 00000000..92b73bc8
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlay/spi1-spidev.dts
|
|
@@ -0,0 +1,24 @@
|
|
+/dts-v1/ /plugin/;
|
|
+
|
|
+/ {
|
|
+ compatible = "allwinner,sun8i-h3";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/aliases";
|
|
+ __overlay__ {
|
|
+ /* Path to the SPI controller nodes */
|
|
+ spi1 = "/soc@01c00000/spi@01c69000";
|
|
+ };
|
|
+ };
|
|
+ fragment@1 {
|
|
+ target = <&spi1>;
|
|
+ __overlay__ {
|
|
+ status = "okay";
|
|
+ spidev@0 {
|
|
+ compatible = "spidev";
|
|
+ reg = <0x0>;
|
|
+ spi-max-frequency = <1000000>;
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+};
|
|
diff --git a/arch/arm/boot/dts/overlay/w1.dts b/arch/arm/boot/dts/overlay/w1.dts
|
|
new file mode 100644
|
|
index 00000000..faf3650e
|
|
--- /dev/null
|
|
+++ b/arch/arm/boot/dts/overlay/w1.dts
|
|
@@ -0,0 +1,35 @@
|
|
+/dts-v1/ /plugin/;
|
|
+
|
|
+/ {
|
|
+ compatible = "allwinner,sun8i-h3";
|
|
+
|
|
+ fragment@0 {
|
|
+ target-path = "/";
|
|
+ __overlay__ {
|
|
+
|
|
+ w1: onewire@0 {
|
|
+ compatible = "w1-gpio";
|
|
+ pinctrl-names = "default";
|
|
+ pinctrl-0 = <&w1_pins>;
|
|
+ gpios = <&pio 3 14 0>; // PD14
|
|
+ status = "okay";
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ fragment@1 {
|
|
+ target = <&pio>;
|
|
+ __overlay__ {
|
|
+ w1_pins: w1_pins {
|
|
+ allwinner,pins = "PD14";
|
|
+ allwinner,function = "gpio_in"; // in (initially)
|
|
+ allwinner,pull = <0>; // off
|
|
+ };
|
|
+ };
|
|
+ };
|
|
+
|
|
+ __overrides__ {
|
|
+ gpiopin = <&w1>,"gpios:4",
|
|
+ <&w1_pins>,"allwinner,pins:0";
|
|
+ };
|
|
+};
|
|
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst
|
|
index a1be75d0..ad8dc1c9 100644
|
|
--- a/scripts/Makefile.dtbinst
|
|
+++ b/scripts/Makefile.dtbinst
|
|
@@ -27,6 +27,7 @@ ifeq ("$(dtbinst-root)", "$(obj)")
|
|
endif
|
|
|
|
dtbinst-files := $(dtb-y)
|
|
+dtboinst-files := $(dtbo-y)
|
|
dtbinst-dirs := $(dts-dirs)
|
|
|
|
# Helper targets for Installing DTBs into the boot directory
|
|
@@ -35,15 +36,18 @@ quiet_cmd_dtb_install = INSTALL $<
|
|
|
|
install-dir = $(patsubst $(dtbinst-root)%,$(INSTALL_DTBS_PATH)%,$(obj))
|
|
|
|
-$(dtbinst-files) $(dtbinst-dirs): | __dtbs_install_prep
|
|
+$(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs): | __dtbs_install_prep
|
|
|
|
$(dtbinst-files): %.dtb: $(obj)/%.dtb
|
|
$(call cmd,dtb_install,$(install-dir))
|
|
|
|
+$(dtboinst-files): %.dtbo: $(obj)/%.dtbo
|
|
+ $(call cmd,dtb_install,$(install-dir))
|
|
+
|
|
$(dtbinst-dirs):
|
|
$(Q)$(MAKE) $(dtbinst)=$(obj)/$@
|
|
|
|
-PHONY += $(dtbinst-files) $(dtbinst-dirs)
|
|
-__dtbs_install: $(dtbinst-files) $(dtbinst-dirs)
|
|
+PHONY += $(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs)
|
|
+__dtbs_install: $(dtbinst-files) $(dtboinst-files) $(dtbinst-dirs)
|
|
|
|
.PHONY: $(PHONY)
|
|
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
|
|
index 0a07f901..5ccd3490 100644
|
|
--- a/scripts/Makefile.lib
|
|
+++ b/scripts/Makefile.lib
|
|
@@ -312,6 +312,17 @@ cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
|
|
$(obj)/%.dtb: $(src)/%.dts FORCE
|
|
$(call if_changed_dep,dtc)
|
|
|
|
+quiet_cmd_dtco = DTCO $@
|
|
+cmd_dtco = mkdir -p $(dir ${dtc-tmp}) ; \
|
|
+ $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
|
|
+ $(DTC) -O dtb -o $@ -b 0 \
|
|
+ -i $(dir $<) $(DTC_FLAGS) \
|
|
+ -d $(depfile).dtc.tmp $(dtc-tmp) ; \
|
|
+ cat $(depfile).pre.tmp $(depfile).dtc.tmp > $(depfile)
|
|
+
|
|
+$(obj)/%.dtbo: $(src)/%.dts FORCE
|
|
+ $(call if_changed_dep,dtco)
|
|
+
|
|
dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp)
|
|
|
|
# Bzip2
|