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 = "armbian,spi-dev"; + reg = <0>; + spi-max-frequency = <50000000>; + spi-cpha = <1>; + status = "okay"; + }; + + spidev@1 { + compatible = "armbian,spi-dev"; + 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 = "armbian,spi-dev"; + reg = <0>; + spi-max-frequency = <50000000>; + spi-cpha = <1>; + status = "okay"; + }; + + spidev@1 { + compatible = "armbian,spi-dev"; + 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