build/patch/kernel/meson64-dev/general-meson64-overlays.patch
2019-05-16 15:17:37 -04:00

229 lines
6 KiB
Diff

diff --git a/arch/arm64/boot/dts/amlogic/Makefile~ b/arch/arm64/boot/dts/amlogic/Makefile
index a97c0e2..2671344 100644
--- a/arch/arm64/boot/dts/amlogic/Makefile
+++ b/arch/arm64/boot/dts/amlogic/Makefile
@@ -26,3 +26,5 @@ dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q200.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-q201.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-rbox-pro.dtb
dtb-$(CONFIG_ARCH_MESON) += meson-gxm-vega-s96.dtb
+
+subdir-y := $(dts-dirs) overlay
diff --git a/arch/arm64/boot/dts/amlogic/overlay/Makefile b/arch/arm64/boot/dts/amlogic/overlay/Makefile
index e69de29..576e190 100644
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/Makefile
@@ -0,0 +1,20 @@
+# SPDX-License-Identifier: GPL-2.0
+dtbo-$(CONFIG_ARCH_MESON) += \
+ meson-i2cA.dtbo \
+ meson-i2cB.dtbo \
+ meson-uartA.dtbo \
+ meson-uartC.dtbo \
+ meson-w1-gpio.dtbo \
+ meson-w1AB-gpio.dtbo
+
+scr-$(CONFIG_ARCH_MESON) += \
+ meson-fixup.scr
+
+dtbotxt-$(CONFIG_ARCH_MESON) += \
+ README.meson-overlays
+
+targets += $(dtbo-y) $(scr-y) $(dtbotxt-y)
+
+always := $(dtbo-y) $(scr-y) $(dtbotxt-y)
+clean-files := *.dtbo *.scr
+
+
diff --git a/arch/arm64/boot/dts/amlogic/overlay/README.meson-overlays b/arch/arm64/boot/dts/amlogic/overlay/README.meson-overlays
index e69de29..9512445 100644
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/README.meson-overlays
@@ -0,0 +1,20 @@
+This document describes overlays provided in the kernel packages
+For generic Armbian overlays documentation please see
+https://docs.armbian.com/User-Guide_Allwinner_overlays/
+
+### Platform:
+
+meson (Amlogic)
+
+### Provided overlays:
+
+- i2c8
+
+### Overlay details:
+
+### i2c8
+
+Activates TWI/I2C bus 8
+
+I2C8 pins (SCL, SDA): GPIO1-C4, GPIO1-C5
+
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-fixup.scr-cmd b/arch/arm64/boot/dts/amlogic/overlay/meson-fixup.scr-cmd
new file mode 100644
index 0000000..d4c39e2
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-fixup.scr-cmd
@@ -0,0 +1,4 @@
+# overlays fixup script
+# implements (or rather substitutes) overlay arguments functionality
+# using u-boot scripting, environment variables and "fdt" command
+
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-i2cA.dts b/arch/arm64/boot/dts/amlogic/overlay/meson-i2cA.dts
new file mode 100644
index 0000000..700c2dd
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-i2cA.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+ fragment@0 {
+ target-path = "/aliases";
+ __overlay__ {
+ i2cA = "/soc/bus@c1100000/i2c@8500";
+ };
+ };
+ fragment@1 {
+ target-path = "/soc/bus@c1100000/i2c@8500";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-i2cB.dts b/arch/arm64/boot/dts/amlogic/overlay/meson-i2cB.dts
new file mode 100644
index 0000000..700c2dd
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-i2cB.dts
@@ -0,0 +1,17 @@
+/dts-v1/;
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+ fragment@0 {
+ target-path = "/aliases";
+ __overlay__ {
+ i2cA = "/soc/bus@c1100000/i2c@87c0";
+ };
+ };
+ fragment@1 {
+ target-path = "/soc/bus@c1100000/i2c@87c0";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-uartA.dts b/arch/arm64/boot/dts/amlogic/overlay/meson-uartA.dts
new file mode 100644
index 0000000..2b40ee4
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-uartA.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+ fragment@0 {
+ target-path = "/soc/bus@c1100000/serial@84c0";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-uartC.dts b/arch/arm64/boot/dts/amlogic/overlay/meson-uartC.dts
new file mode 100644
index 0000000..2b40ee4
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-uartC.dts
@@ -0,0 +1,11 @@
+/dts-v1/;
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+ fragment@0 {
+ target-path = "/soc/bus@c1100000/serial@8700";
+ __overlay__ {
+ status = "okay";
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-w1-gpio.dts b/arch/arm64/boot/dts/amlogic/overlay/meson-w1-gpio.dts
new file mode 100644
index 0000000..ac76a4f
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-w1-gpio.dts
@@ -0,0 +1,20 @@
+// Definitions for w1-gpio module (without external pullup)
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+
+ w1: onewire@0 {
+ compatible = "w1-gpio";
+ pinctrl-names = "default";
+ gpios = <&gpio 91 6>; // GPIOY_16
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/amlogic/overlay/meson-w1AB-gpio.dts b/arch/arm64/boot/dts/amlogic/overlay/meson-w1AB-gpio.dts
new file mode 100644
index 0000000..ac76a4f
--- /dev/null
+++ b/arch/arm64/boot/dts/amlogic/overlay/meson-w1AB-gpio.dts
@@ -0,0 +1,32 @@
+// Definitions for w1-gpio module (without external pullup)
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "amlogic,meson-gxbb";
+
+ fragment@0 {
+ target-path = "/";
+ __overlay__ {
+
+ w1a: onewire@0 {
+ compatible = "w1-gpio";
+ pinctrl-names = "default";
+ gpios = <&gpio 91 6>; // GPIOY_16
+ status = "okay";
+ };
+ };
+ };
+ fragment@1 {
+ target-path = "/";
+ __overlay__ {
+
+ w1b: onewire@1 {
+ compatible = "w1-gpio";
+ pinctrl-names = "default";
+ gpios = <&gpio 90 6>; // GPIOY_15
+ status = "okay";
+ };
+ };
+ };
+};
diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 26e6af4..65b9435 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -65,6 +65,9 @@ real-objs-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y)
extra-y += $(dtb-y)
extra-$(CONFIG_OF_ALL_DTBS) += $(dtb-)
+# Overlay targets
+extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y)
+
# Add subdir path
extra-y := $(addprefix $(obj)/,$(extra-y))