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 + +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/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))