[ rockchip-dev ] add various overlays

General cleanup of patch.

Adds:

	- spi0
	- spi2
	- spidev0
	- spidev2
	- uart1
	- uart2
	- uart3
	- uart4

Default for Tinkerboard:  spi2, spidev2, uart1, uart2
This commit is contained in:
Thomas McKahan 2018-12-18 01:28:50 -05:00
parent 34bf7c615c
commit 76573936ae
3 changed files with 300 additions and 211 deletions

View File

@ -5,7 +5,7 @@ BOOTCONFIG="tinker-rk3288_defconfig"
#
MODULES="hci_uart rfcomm hidp 8723bs"
MODULES_NEXT=""
DEFAULT_OVERLAYS="spidev2"
DEFAULT_OVERLAYS="spi2 spidev2 uart1 uart2"
KERNEL_TARGET="default,next,dev"
CLI_TARGET="stretch,bionic:default,next"
DESKTOP_TARGET="stretch,bionic:default,next"

View File

@ -1,49 +0,0 @@
From 14f951ca2d354ad8fd068d0f3d8648d5c0d1e60e Mon Sep 17 00:00:00 2001
From: Myy Miouyouyou <myy@miouyouyou.fr>
Date: Thu, 19 Oct 2017 22:40:26 +0200
Subject: [PATCH 23/28] ARM: DTS: rk3288-tinker.dts: Defining the SPI interface
Taken from, and tested by @TonyMac32 .
Well, the original one was tested by him but I had to adapt the
registers definitions to the new 64-bits LPAE-compliant syntax.
Therefore that *might* break, along with a few other patches.
Signed-off-by: Myy Miouyouyou <myy@miouyouyou.fr>
---
arch/arm/boot/dts/rk3288-tinker.dts | 18 ++++++++++++++++++
1 file changed, 18 insertions(+)
diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts
index 6f4c0843..f4b4525c 100644
--- a/arch/arm/boot/dts/rk3288-tinker.dts
+++ b/arch/arm/boot/dts/rk3288-tinker.dts
@@ -471,6 +471,24 @@
};
+&spi2 {
+ status = "okay";
+ max-freq = <50000000>;
+ spidev@0 {
+ compatible = "rockchip,spi_tinker";
+ reg = <0>;
+ spi-max-frequency = <50000000>;
+ spi-cpha = <1>;
+ };
+ spidev@1 {
+ compatible = "rockchip,spi_tinker";
+ reg = <1>;
+ spi-max-frequency = <50000000>;
+ spi-cpha = <1>;
+ };
+};
+
+
&pinctrl {
pcfg_pull_none_drv_8ma: pcfg-pull-none-drv-8ma {
drive-strength = <8>;
--
2.11.0

View File

@ -12,15 +12,52 @@ index 6d4ff8cdf..2d0b2f4c4 100644
dtb-$(CONFIG_ARCH_S3C24XX) += \
s3c2416-smdk2416.dtb
dtb-$(CONFIG_ARCH_S3C64XX) += \
diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts
index d0961c35d..994f60a55 100644
--- a/arch/arm/boot/dts/rk3288-tinker.dts
+++ b/arch/arm/boot/dts/rk3288-tinker.dts
@@ -579,19 +579,19 @@
};
&uart1 {
- status = "okay";
+ status = "disabled";
};
&uart2 {
- status = "okay";
+ status = "disabled";
};
&uart3 {
- status = "okay";
+ status = "disabled";
};
&uart4 {
- status = "okay";
+ status = "disabled";
};
&usbphy {
diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile
new file mode 100644
index 000000000..b95172d18
index 000000000..207eb4789
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/Makefile
@@ -0,0 +1,15 @@
@@ -0,0 +1,24 @@
+# SPDX-License-Identifier: GPL-2.0
+dtbo-$(CONFIG_ARCH_ROCKCHIP) += \
+ rockchip-ds1307.dtbo
+ rockchip-ds1307.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
@ -35,10 +72,10 @@ index 000000000..b95172d18
+
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
index 000000000..c6f331542
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/README.rockchip-overlays
@@ -0,0 +1,18 @@
@@ -0,0 +1,68 @@
+This document describes overlays provided in the kernel packages
+For generic Armbian overlays documentation please see
+https://docs.armbian.com/User-Guide_Allwinner_overlays/
@ -50,6 +87,15 @@ index 000000000..ca8d80af1
+### Provided overlays:
+
+- ds1307
+- spi0
+- spi2
+- spidev0
+- spidev2
+- uart1
+- uart2
+- uart3
+- uart4
+- w1-gpio
+
+### Overlay details:
+
@ -57,13 +103,57 @@ index 000000000..ca8d80af1
+
+Activates ds1307 rtc on i2c1
+
+### 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 000000000..e60a37e0f
index 000000000..af240e46b
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-ds1307.dts
@@ -0,0 +1,17 @@
+// Definitions for ds1307
@@ -0,0 +1,21 @@
+/* Definitions for ds1307
+* From ASUS: https://github.com/TinkerBoard/debian_kernel/commits/develop/arch/arm/boot/dts/overlays/ds1307-overlay.dts
+*/
+
+/dts-v1/;
+/plugin/;
+
@ -75,6 +165,7 @@ index 000000000..e60a37e0f
+ __overlay__ {
+ rtc: ds1307@68 {
+ compatible = "dallas,ds1307";
+ reg = <0x68>;
+ status = "okay";
+ };
+ };
@ -90,149 +181,91 @@ index 000000000..d4c39e20a
+# 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
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 000000000..02bb81a1e
index 000000000..cde22beb1
--- /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
+*
+*
+++ b/arch/arm/boot/dts/overlay/rockchip-spi0.dts
@@ -0,0 +1,17 @@
+/* Definitions for spi0
+*/
+
+/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";
+ };
+ };
+ };
+ compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288";
+
+ fragment@1 {
+ target = <&gpio0>;
+ __overlay__ {
+ w1_pins: w1_pins@0 {
+ rockchip,pins = <0 17 0 &pcfg_pull_up>;
+ };
+ };
+ };
+ fragment@0 {
+ target = <&spi0>;
+ __overlay__ {
+ status = "okay";
+ max-freq = <50000000>;
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/overlay/Makefile b/arch/arm/boot/dts/overlay/Makefile
index f1c792059..acf1bc549 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-spidev2.dtbo \
rockchip-w1-gpio.dtbo
scr-$(CONFIG_ARCH_ROCKCHIP) += \
diff --git a/arch/arm/boot/dts/overlay/README.rockchip-overlays b/arch/arm/boot/dts/overlay/README.rockchip-overlays
index 14b22cc0c..45abdbbc2 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
+- spidev2
- w1-gpio
### Overlay details:
@@ -17,6 +18,10 @@ rockchip (Rockchip)
Activates ds1307 rtc on i2c1
+### spidev2
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 000000000..dcbfd8ad6
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-spi2.dts
@@ -0,0 +1,17 @@
+/* Definitions for spi2
+*/
+
+Activate spidev on spi2
+/dts-v1/;
+/plugin/;
+
### w1-gpio
Activates 1-wire gpio master on GPIO0 17
+/ {
+ compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288";
+
+ fragment@0 {
+ target = <&spi2>;
+ __overlay__ {
+ status = "okay";
+ max-freq = <50000000>;
+ };
+ };
+};
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 000000000..6f4565761
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-spidev0.dts
@@ -0,0 +1,33 @@
+/* Definition for SPI0 Spidev
+ * spi port for Tinker Board
+ */
+
+/dts-v1/;
+/plugin/;
+
+/{
+ compatible = "rockchip,rk3288-miniarm", "rockchip,rk3288";
+
+ fragment@0 {
+
+ target = <&spi0>;
+ __overlay__ {
+
+ 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 000000000..bdaf0bd77
@ -272,26 +305,131 @@ index 000000000..bdaf0bd77
+ };
+ };
+};
diff --git a/arch/arm/boot/dts/rk3288-tinker.dts b/arch/arm/boot/dts/rk3288-tinker.dts
index 08ec7aa4b..f9efc85eb 100644
--- a/arch/arm/boot/dts/rk3288-tinker.dts
+++ b/arch/arm/boot/dts/rk3288-tinker.dts
@@ -433,18 +433,7 @@
&spi2 {
status = "okay";
max-freq = <50000000>;
- spidev@0 {
- compatible = "rockchip,spi_tinker";
- reg = <0>;
- spi-max-frequency = <50000000>;
- spi-cpha = <1>;
- };
- spidev@1 {
- compatible = "rockchip,spi_tinker";
- reg = <1>;
- spi-max-frequency = <50000000>;
- spi-cpha = <1>;
- };
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 000000000..8d6b28a9d
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-uart1.dts
@@ -0,0 +1,16 @@
+/* Definitions for uart1
+*/
+
};
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3288-miniarm", "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 000000000..875de3c66
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-uart2.dts
@@ -0,0 +1,16 @@
+/* Definitions for uart2
+*/
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3288-miniarm", "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 000000000..ccc51248a
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-uart3.dts
@@ -0,0 +1,16 @@
+/* Definitions for uart3
+*/
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3288-miniarm", "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 000000000..cc9f84ae8
--- /dev/null
+++ b/arch/arm/boot/dts/overlay/rockchip-uart4.dts
@@ -0,0 +1,16 @@
+/* Definitions for uart4
+*/
+
+/dts-v1/;
+/plugin/;
+
+/ {
+ compatible = "rockchip,rk3288-miniarm", "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 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>;
+ };
+ };
+ };
+};