diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile index 6d4ff8cdf..2d0b2f4c4 100644 --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -872,7 +872,8 @@ dtb-$(CONFIG_ARCH_ROCKCHIP) += \ rk3288-veyron-minnie.dtb \ rk3288-veyron-pinky.dtb \ rk3288-veyron-speedy.dtb \ - rk3288-vyasa.dtb + rk3288-vyasa.dtb +subdir-y := overlay dtb-$(CONFIG_ARCH_S3C24XX) += \ s3c2416-smdk2416.dtb dtb-$(CONFIG_ARCH_S3C64XX) += \ diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile new file mode 100644 index 000000000..b95172d18 --- /dev/null +++ b/arch/arm/boot/dts/overlay/Makefile @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: GPL-2.0 +dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ + rockchip-ds1307.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 000000000..ca8d80af1 --- /dev/null +++ b/arch/arm/boot/dts/overlay/README.rockchip-overlays @@ -0,0 +1,18 @@ +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 + +### Overlay details: + +### ds1307 + +Activates ds1307 rtc on i2c1 + 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 000000000..e60a37e0f --- /dev/null +++ b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts @@ -0,0 +1,17 @@ +// Definitions for ds1307 +/dts-v1/; +/plugin/; + +/ { + compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288"; + + fragment@0 { + target = <&i2c1>; + __overlay__ { + rtc: ds1307@68 { + compatible = "dallas,ds1307"; + 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 000000000..d4c39e20a --- /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/scripts/Makefile.lib b/scripts/Makefile.lib index db7399a49..6f14d9c7b 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -61,6 +61,9 @@ real-obj-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)) diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile index b95172d18..f1c792059 100644 --- a/arch/arm/boot/dts/overlay/Makefile +++ b/arch/arm/boot/dts/overlay/Makefile @@ -1,6 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 dtbo-$(CONFIG_ARCH_ROCKCHIP) += \ - rockchip-ds1307.dtbo + rockchip-ds1307.dtbo \ + rockchip-w1-gpio.dtbo scr-$(CONFIG_ARCH_ROCKCHIP) += \ rockchip-fixup.scr diff --git a/arch/arm/boot/dts/overlay/README.rockchip-overlays b/arch/arm/boot/dts/overlay/README.rockchip-overlays index ca8d80af1..14b22cc0c 100644 --- a/arch/arm/boot/dts/overlay/README.rockchip-overlays +++ b/arch/arm/boot/dts/overlay/README.rockchip-overlays @@ -9,6 +9,7 @@ rockchip (Rockchip) ### Provided overlays: - ds1307 +- w1-gpio ### Overlay details: @@ -16,3 +17,8 @@ rockchip (Rockchip) Activates ds1307 rtc on i2c1 +### 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 index e60a37e0f..af240e46b 100644 --- a/arch/arm/boot/dts/overlay/rockchip-ds1307.dts +++ b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts @@ -1,4 +1,7 @@ -// Definitions for ds1307 +/* Definitions for ds1307 +* From ASUS: https://github.com/TinkerBoard/debian_kernel/commits/develop/arch/arm/boot/dts/overlays/ds1307-overlay.dts +*/ + /dts-v1/; /plugin/; @@ -10,6 +13,7 @@ __overlay__ { rtc: ds1307@68 { compatible = "dallas,ds1307"; + reg = <0x68>; 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 000000000..02bb81a1e --- /dev/null +++ b/arch/arm/boot/dts/overlay/rockchip-w1-gpio.dts @@ -0,0 +1,33 @@ +/* 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-tinker", "rockchip,rk3288"; + fragment@0 { + target-path = "/"; + __overlay__ { + w1: onewire@0 { + compatible = "w1-gpio"; + pinctrl-names = "default"; + pinctrl-0 = <&w1_pins>; + gpios = <&gpio0 17 0>; + status = "okay"; + }; + }; + }; + + fragment@1 { + target = <&gpio0>; + __overlay__ { + w1_pins: w1_pins@0 { + rockchip,pins = <0 17 0 &pcfg_pull_up>; + }; + }; + }; +};