diff --git a/patch/kernel/archive/rockchip-5.15/general-add-overlay-compilation-support.patch b/patch/kernel/archive/rockchip-5.15/general-add-overlay-compilation-support.patch index 3d30edc15..a4ef86028 100644 --- a/patch/kernel/archive/rockchip-5.15/general-add-overlay-compilation-support.patch +++ b/patch/kernel/archive/rockchip-5.15/general-add-overlay-compilation-support.patch @@ -80,4 +80,29 @@ index 58c05e5d..2b95dda9 100644 dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) # Bzip2 +diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib +index 41c50f9461e5..387659d5b252 100644 +--- a/scripts/Makefile.lib ++++ b/scripts/Makefile.lib +@@ -79,6 +79,9 @@ header-test-y += $(filter-out $(header-test-), \ + extra-$(CONFIG_HEADER_TEST) += $(addsuffix .s, $(header-test-y) $(header-test-m)) + ++# Overlay targets ++extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y) ++ + # Add subdir path + + extra-y := $(addprefix $(obj)/,$(extra-y)) +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index e8dd99201..1e45adf97 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -977,6 +984,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ + rk3288-veyron-speedy.dtb \ + rk3288-veyron-tiger.dtb \ + rk3288-vyasa.dtb ++subdir-y := $(dts-dirs) overlay + dtb-$(CONFIG_ARCH_S3C24XX) += \ + s3c2416-smdk2416.dtb + dtb-$(CONFIG_ARCH_S3C64XX) += \ diff --git a/patch/kernel/archive/rockchip-5.15/general-add-overlays.patch b/patch/kernel/archive/rockchip-5.15/general-add-overlays.patch new file mode 100644 index 000000000..1a3404971 --- /dev/null +++ b/patch/kernel/archive/rockchip-5.15/general-add-overlays.patch @@ -0,0 +1,483 @@ +From f714d89ebd3ee718cb7ab8574ec92407b50b5aee Mon Sep 17 00:00:00 2001 +From: Paolo Sabatino +Date: Sun, 20 Mar 2022 09:30:24 +0000 +Subject: [PATCH] rk3288: general add overlays + +--- + arch/arm/boot/dts/overlay/Makefile | 26 +++++++ + .../boot/dts/overlay/README.rockchip-overlays | 78 +++++++++++++++++++ + arch/arm/boot/dts/overlay/rockchip-ds1307.dts | 23 ++++++ + .../boot/dts/overlay/rockchip-fixup.scr-cmd | 4 + + arch/arm/boot/dts/overlay/rockchip-i2c1.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-i2c4.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-spi0.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-spi2.dts | 16 ++++ + .../arm/boot/dts/overlay/rockchip-spidev0.dts | 35 +++++++++ + .../arm/boot/dts/overlay/rockchip-spidev2.dts | 35 +++++++++ + arch/arm/boot/dts/overlay/rockchip-uart1.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-uart2.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-uart3.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-uart4.dts | 16 ++++ + .../arm/boot/dts/overlay/rockchip-w1-gpio.dts | 23 ++++++ + 15 files changed, 352 insertions(+) + create mode 100644 arch/arm/boot/dts/overlay/Makefile + create mode 100644 arch/arm/boot/dts/overlay/README.rockchip-overlays + create mode 100644 arch/arm/boot/dts/overlay/rockchip-ds1307.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-fixup.scr-cmd + create mode 100644 arch/arm/boot/dts/overlay/rockchip-i2c1.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-i2c4.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spi0.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spi2.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spidev0.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spidev2.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart1.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart2.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart3.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart4.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts + +diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile +new file mode 100644 +index 00000000000..56d8cb187aa +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/Makefile +@@ -0,0 +1,26 @@ ++# SPDX-License-Identifier: GPL-2.0 ++dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ ++ rockchip-ds1307.dtbo \ ++ rockchip-i2c1.dtbo \ ++ rockchip-i2c4.dtbo \ ++ rockchip-spi0.dtbo \ ++ rockchip-spi2.dtbo \ ++ rockchip-spidev0.dtbo \ ++ rockchip-spidev2.dtbo \ ++ rockchip-uart1.dtbo \ ++ rockchip-uart2.dtbo \ ++ rockchip-uart3.dtbo \ ++ rockchip-uart4.dtbo \ ++ rockchip-w1-gpio.dtbo ++ ++scr-$(CONFIG_ARCH_ROCKCHIP) += \ ++ rockchip-fixup.scr ++ ++dtbotxt-$(CONFIG_ARCH_ROCKCHIP) += \ ++ README.rockchip-overlays ++ ++targets += $(dtbo-y) $(scr-y) $(dtbotxt-y) ++ ++always := $(dtbo-y) $(scr-y) $(dtbotxt-y) ++clean-files := *.dtbo *.scr ++ +diff --git a/arch/arm/boot/dts/overlay/README.rockchip-overlays b/arch/arm/boot/dts/overlay/README.rockchip-overlays +new file mode 100644 +index 00000000000..df4559ca262 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/README.rockchip-overlays +@@ -0,0 +1,78 @@ ++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: ++ ++rockchip (Rockchip) ++ ++### Provided overlays: ++ ++- ds1307 ++- i2c1 ++- i2c4 ++- spi0 ++- spi2 ++- spidev0 ++- spidev2 ++- uart1 ++- uart2 ++- uart3 ++- uart4 ++- w1-gpio ++ ++### Overlay details: ++ ++### ds1307 ++ ++Activates ds1307 rtc on i2c1 ++ ++### i2c1 ++ ++Activate i2c1 ++ ++### i2c4 ++ ++Activate i2c4 ++ ++### spi0 ++ ++Activate spi0 ++conflicts with uart4 ++ ++### spi2 ++ ++Activate spi2 ++ ++### spidev0 ++ ++Activate spidev on spi0 ++Depends on spi0 ++ ++### spidev2 ++ ++Activate spidev on spi2 ++depends on spi2 ++ ++### uart1 ++ ++Activate uart1 ++ ++### uart2 ++ ++Activate uart2 ++ ++### uart3 ++ ++Activate uart3 ++ ++### uart4 ++ ++Activate uart4 ++Conflicts with spi0 ++ ++### w1-gpio ++ ++Activates 1-wire gpio master on GPIO0 17 ++ ++ +diff --git a/arch/arm/boot/dts/overlay/rockchip-ds1307.dts b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts +new file mode 100644 +index 00000000000..ab7d648c2aa +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts +@@ -0,0 +1,23 @@ ++/* Definitions for ds1307 ++* From ASUS: https://github.com/TinkerBoard/debian_kernel/commits/develop/arch/arm/boot/dts/overlays/ds1307-overlay.dts ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ rtc: ds1307@68 { ++ compatible = "dallas,ds1307"; ++ reg = <0x68>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-fixup.scr-cmd b/arch/arm/boot/dts/overlay/rockchip-fixup.scr-cmd +new file mode 100644 +index 00000000000..d4c39e20a3a +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-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/arm/boot/dts/overlay/rockchip-i2c1.dts b/arch/arm/boot/dts/overlay/rockchip-i2c1.dts +new file mode 100644 +index 00000000000..f09f85e42cb +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-i2c1.dts +@@ -0,0 +1,16 @@ ++/* Definitions for i2c1 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-i2c4.dts b/arch/arm/boot/dts/overlay/rockchip-i2c4.dts +new file mode 100644 +index 00000000000..5b43b85045f +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-i2c4.dts +@@ -0,0 +1,16 @@ ++/* Definitions for i2c4 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&i2c4>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spi0.dts b/arch/arm/boot/dts/overlay/rockchip-spi0.dts +new file mode 100644 +index 00000000000..d2dfcd6220e +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spi0.dts +@@ -0,0 +1,16 @@ ++/* Definitions for spi0 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spi2.dts b/arch/arm/boot/dts/overlay/rockchip-spi2.dts +new file mode 100644 +index 00000000000..2cd50ae4b9d +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spi2.dts +@@ -0,0 +1,16 @@ ++/* Definitions for spi2 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&spi2>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spidev0.dts b/arch/arm/boot/dts/overlay/rockchip-spidev0.dts +new file mode 100644 +index 00000000000..728cde52351 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spidev0.dts +@@ -0,0 +1,35 @@ ++/* Definition for SPI0 Spidev ++ * spi port for Tinker Board ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ ++ target = <&spi0>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ spidev@0 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <0>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ ++ spidev@1 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <1>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spidev2.dts b/arch/arm/boot/dts/overlay/rockchip-spidev2.dts +new file mode 100644 +index 00000000000..262bb61d959 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spidev2.dts +@@ -0,0 +1,35 @@ ++/* Definition for SPI2 Spidev ++ * spi port for Tinker Board ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ ++ target = <&spi2>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ spidev@0 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <0>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ ++ spidev@1 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <1>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart1.dts b/arch/arm/boot/dts/overlay/rockchip-uart1.dts +new file mode 100644 +index 00000000000..8604ff90d2a +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart1.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart1 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart2.dts b/arch/arm/boot/dts/overlay/rockchip-uart2.dts +new file mode 100644 +index 00000000000..a57873d560b +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart2.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart2 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart2>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart3.dts b/arch/arm/boot/dts/overlay/rockchip-uart3.dts +new file mode 100644 +index 00000000000..d1b77ffbf31 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart3.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart3 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart3>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart4.dts b/arch/arm/boot/dts/overlay/rockchip-uart4.dts +new file mode 100644 +index 00000000000..13fd8f4eca9 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart4.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart4 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart4>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts b/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts +new file mode 100644 +index 00000000000..cc1f50a91bb +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts +@@ -0,0 +1,23 @@ ++/* 1-Wire GPIO ++* From ASUS: https://github.com/TinkerBoard/debian_kernel/blob/develop/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts ++* ++* ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ fragment@0 { ++ target-path = "/"; ++ __overlay__ { ++ w1: onewire@0 { ++ compatible = "w1-gpio"; ++ pinctrl-names = "default"; ++ gpios = <&gpio0 17 0>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +-- +2.30.2 + diff --git a/patch/kernel/archive/rockchip-5.15/remove-broken-dtb.patch b/patch/kernel/archive/rockchip-5.15/remove-broken-dtb.patch deleted file mode 100644 index 2b66c1d74..000000000 --- a/patch/kernel/archive/rockchip-5.15/remove-broken-dtb.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile -index a98dee2ae..d3cef7033 100644 ---- a/arch/arm/boot/dts/Makefile -+++ b/arch/arm/boot/dts/Makefile -@@ -916,17 +916,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ - rk3288-rock2-square.dtb \ - rk3288-tinker.dtb \ - rk3288-tinker-s.dtb \ -- rk3288-veyron-brain.dtb \ -- rk3288-veyron-fievel.dtb \ -- rk3288-veyron-jaq.dtb \ -- rk3288-veyron-jerry.dtb \ -- rk3288-veyron-mickey.dtb \ -- rk3288-veyron-mighty.dtb \ -- rk3288-veyron-minnie.dtb \ -- rk3288-veyron-pinky.dtb \ -- rk3288-veyron-speedy.dtb \ -- rk3288-veyron-tiger.dtb \ - rk3288-vyasa.dtb - dtb-$(CONFIG_ARCH_S3C24XX) += \ - s3c2416-smdk2416.dtb - dtb-$(CONFIG_ARCH_S3C64XX) += \ diff --git a/patch/kernel/archive/rockchip-5.16/general-add-overlay-compilation-support.patch b/patch/kernel/archive/rockchip-5.16/general-add-overlay-compilation-support.patch index 3d30edc15..a4ef86028 100644 --- a/patch/kernel/archive/rockchip-5.16/general-add-overlay-compilation-support.patch +++ b/patch/kernel/archive/rockchip-5.16/general-add-overlay-compilation-support.patch @@ -80,4 +80,29 @@ index 58c05e5d..2b95dda9 100644 dtc-tmp = $(subst $(comma),_,$(dot-target).dts.tmp) # Bzip2 +diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib +index 41c50f9461e5..387659d5b252 100644 +--- a/scripts/Makefile.lib ++++ b/scripts/Makefile.lib +@@ -79,6 +79,9 @@ header-test-y += $(filter-out $(header-test-), \ + extra-$(CONFIG_HEADER_TEST) += $(addsuffix .s, $(header-test-y) $(header-test-m)) + ++# Overlay targets ++extra-y += $(dtbo-y) $(scr-y) $(dtbotxt-y) ++ + # Add subdir path + + extra-y := $(addprefix $(obj)/,$(extra-y)) +diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile +index e8dd99201..1e45adf97 100644 +--- a/arch/arm/boot/dts/Makefile ++++ b/arch/arm/boot/dts/Makefile +@@ -977,6 +984,7 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ + rk3288-veyron-speedy.dtb \ + rk3288-veyron-tiger.dtb \ + rk3288-vyasa.dtb ++subdir-y := $(dts-dirs) overlay + dtb-$(CONFIG_ARCH_S3C24XX) += \ + s3c2416-smdk2416.dtb + dtb-$(CONFIG_ARCH_S3C64XX) += \ diff --git a/patch/kernel/archive/rockchip-5.16/general-add-overlays.patch b/patch/kernel/archive/rockchip-5.16/general-add-overlays.patch new file mode 100644 index 000000000..1a3404971 --- /dev/null +++ b/patch/kernel/archive/rockchip-5.16/general-add-overlays.patch @@ -0,0 +1,483 @@ +From f714d89ebd3ee718cb7ab8574ec92407b50b5aee Mon Sep 17 00:00:00 2001 +From: Paolo Sabatino +Date: Sun, 20 Mar 2022 09:30:24 +0000 +Subject: [PATCH] rk3288: general add overlays + +--- + arch/arm/boot/dts/overlay/Makefile | 26 +++++++ + .../boot/dts/overlay/README.rockchip-overlays | 78 +++++++++++++++++++ + arch/arm/boot/dts/overlay/rockchip-ds1307.dts | 23 ++++++ + .../boot/dts/overlay/rockchip-fixup.scr-cmd | 4 + + arch/arm/boot/dts/overlay/rockchip-i2c1.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-i2c4.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-spi0.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-spi2.dts | 16 ++++ + .../arm/boot/dts/overlay/rockchip-spidev0.dts | 35 +++++++++ + .../arm/boot/dts/overlay/rockchip-spidev2.dts | 35 +++++++++ + arch/arm/boot/dts/overlay/rockchip-uart1.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-uart2.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-uart3.dts | 16 ++++ + arch/arm/boot/dts/overlay/rockchip-uart4.dts | 16 ++++ + .../arm/boot/dts/overlay/rockchip-w1-gpio.dts | 23 ++++++ + 15 files changed, 352 insertions(+) + create mode 100644 arch/arm/boot/dts/overlay/Makefile + create mode 100644 arch/arm/boot/dts/overlay/README.rockchip-overlays + create mode 100644 arch/arm/boot/dts/overlay/rockchip-ds1307.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-fixup.scr-cmd + create mode 100644 arch/arm/boot/dts/overlay/rockchip-i2c1.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-i2c4.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spi0.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spi2.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spidev0.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-spidev2.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart1.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart2.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart3.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-uart4.dts + create mode 100644 arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts + +diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile +new file mode 100644 +index 00000000000..56d8cb187aa +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/Makefile +@@ -0,0 +1,26 @@ ++# SPDX-License-Identifier: GPL-2.0 ++dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ ++ rockchip-ds1307.dtbo \ ++ rockchip-i2c1.dtbo \ ++ rockchip-i2c4.dtbo \ ++ rockchip-spi0.dtbo \ ++ rockchip-spi2.dtbo \ ++ rockchip-spidev0.dtbo \ ++ rockchip-spidev2.dtbo \ ++ rockchip-uart1.dtbo \ ++ rockchip-uart2.dtbo \ ++ rockchip-uart3.dtbo \ ++ rockchip-uart4.dtbo \ ++ rockchip-w1-gpio.dtbo ++ ++scr-$(CONFIG_ARCH_ROCKCHIP) += \ ++ rockchip-fixup.scr ++ ++dtbotxt-$(CONFIG_ARCH_ROCKCHIP) += \ ++ README.rockchip-overlays ++ ++targets += $(dtbo-y) $(scr-y) $(dtbotxt-y) ++ ++always := $(dtbo-y) $(scr-y) $(dtbotxt-y) ++clean-files := *.dtbo *.scr ++ +diff --git a/arch/arm/boot/dts/overlay/README.rockchip-overlays b/arch/arm/boot/dts/overlay/README.rockchip-overlays +new file mode 100644 +index 00000000000..df4559ca262 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/README.rockchip-overlays +@@ -0,0 +1,78 @@ ++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: ++ ++rockchip (Rockchip) ++ ++### Provided overlays: ++ ++- ds1307 ++- i2c1 ++- i2c4 ++- spi0 ++- spi2 ++- spidev0 ++- spidev2 ++- uart1 ++- uart2 ++- uart3 ++- uart4 ++- w1-gpio ++ ++### Overlay details: ++ ++### ds1307 ++ ++Activates ds1307 rtc on i2c1 ++ ++### i2c1 ++ ++Activate i2c1 ++ ++### i2c4 ++ ++Activate i2c4 ++ ++### spi0 ++ ++Activate spi0 ++conflicts with uart4 ++ ++### spi2 ++ ++Activate spi2 ++ ++### spidev0 ++ ++Activate spidev on spi0 ++Depends on spi0 ++ ++### spidev2 ++ ++Activate spidev on spi2 ++depends on spi2 ++ ++### uart1 ++ ++Activate uart1 ++ ++### uart2 ++ ++Activate uart2 ++ ++### uart3 ++ ++Activate uart3 ++ ++### uart4 ++ ++Activate uart4 ++Conflicts with spi0 ++ ++### w1-gpio ++ ++Activates 1-wire gpio master on GPIO0 17 ++ ++ +diff --git a/arch/arm/boot/dts/overlay/rockchip-ds1307.dts b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts +new file mode 100644 +index 00000000000..ab7d648c2aa +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts +@@ -0,0 +1,23 @@ ++/* Definitions for ds1307 ++* From ASUS: https://github.com/TinkerBoard/debian_kernel/commits/develop/arch/arm/boot/dts/overlays/ds1307-overlay.dts ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ rtc: ds1307@68 { ++ compatible = "dallas,ds1307"; ++ reg = <0x68>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-fixup.scr-cmd b/arch/arm/boot/dts/overlay/rockchip-fixup.scr-cmd +new file mode 100644 +index 00000000000..d4c39e20a3a +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-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/arm/boot/dts/overlay/rockchip-i2c1.dts b/arch/arm/boot/dts/overlay/rockchip-i2c1.dts +new file mode 100644 +index 00000000000..f09f85e42cb +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-i2c1.dts +@@ -0,0 +1,16 @@ ++/* Definitions for i2c1 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&i2c1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-i2c4.dts b/arch/arm/boot/dts/overlay/rockchip-i2c4.dts +new file mode 100644 +index 00000000000..5b43b85045f +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-i2c4.dts +@@ -0,0 +1,16 @@ ++/* Definitions for i2c4 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&i2c4>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spi0.dts b/arch/arm/boot/dts/overlay/rockchip-spi0.dts +new file mode 100644 +index 00000000000..d2dfcd6220e +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spi0.dts +@@ -0,0 +1,16 @@ ++/* Definitions for spi0 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&spi0>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spi2.dts b/arch/arm/boot/dts/overlay/rockchip-spi2.dts +new file mode 100644 +index 00000000000..2cd50ae4b9d +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spi2.dts +@@ -0,0 +1,16 @@ ++/* Definitions for spi2 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&spi2>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spidev0.dts b/arch/arm/boot/dts/overlay/rockchip-spidev0.dts +new file mode 100644 +index 00000000000..728cde52351 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spidev0.dts +@@ -0,0 +1,35 @@ ++/* Definition for SPI0 Spidev ++ * spi port for Tinker Board ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ ++ target = <&spi0>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ spidev@0 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <0>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ ++ spidev@1 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <1>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-spidev2.dts b/arch/arm/boot/dts/overlay/rockchip-spidev2.dts +new file mode 100644 +index 00000000000..262bb61d959 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-spidev2.dts +@@ -0,0 +1,35 @@ ++/* Definition for SPI2 Spidev ++ * spi port for Tinker Board ++ */ ++ ++/dts-v1/; ++/plugin/; ++ ++/{ ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ ++ target = <&spi2>; ++ __overlay__ { ++ #address-cells = <1>; ++ #size-cells = <0>; ++ ++ spidev@0 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <0>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ ++ spidev@1 { ++ compatible = "rockchip,spi_tinker"; ++ reg = <1>; ++ spi-max-frequency = <50000000>; ++ spi-cpha = <1>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart1.dts b/arch/arm/boot/dts/overlay/rockchip-uart1.dts +new file mode 100644 +index 00000000000..8604ff90d2a +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart1.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart1 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart1>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart2.dts b/arch/arm/boot/dts/overlay/rockchip-uart2.dts +new file mode 100644 +index 00000000000..a57873d560b +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart2.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart2 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart2>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart3.dts b/arch/arm/boot/dts/overlay/rockchip-uart3.dts +new file mode 100644 +index 00000000000..d1b77ffbf31 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart3.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart3 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart3>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-uart4.dts b/arch/arm/boot/dts/overlay/rockchip-uart4.dts +new file mode 100644 +index 00000000000..13fd8f4eca9 +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-uart4.dts +@@ -0,0 +1,16 @@ ++/* Definitions for uart4 ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ ++ fragment@0 { ++ target = <&uart4>; ++ __overlay__ { ++ status = "okay"; ++ }; ++ }; ++}; +diff --git a/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts b/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts +new file mode 100644 +index 00000000000..cc1f50a91bb +--- /dev/null ++++ b/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts +@@ -0,0 +1,23 @@ ++/* 1-Wire GPIO ++* From ASUS: https://github.com/TinkerBoard/debian_kernel/blob/develop/arch/arm/boot/dts/overlays/w1-gpio-overlay.dts ++* ++* ++*/ ++ ++/dts-v1/; ++/plugin/; ++ ++/ { ++ compatible = "rockchip,rk3288"; ++ fragment@0 { ++ target-path = "/"; ++ __overlay__ { ++ w1: onewire@0 { ++ compatible = "w1-gpio"; ++ pinctrl-names = "default"; ++ gpios = <&gpio0 17 0>; ++ status = "okay"; ++ }; ++ }; ++ }; ++}; +-- +2.30.2 +